نحوه نظارت بر برنامه در حال تولید با استفاده از کانال های Discord

مشاهده پذیری یک تمرین بسیار مهم است به طوری که شما ایده ای از آنچه در برنامه شما اتفاق می افتد داشته باشید و به روز رسانی ها را از تعاملات جدید دریافت کنید.
ما خواهیم دید که چگونه پیام های جدید را به یک کانال discord ارسال کنیم، این به ما امکان می دهد تا تعاملات در تولید برنامه خود را نظارت کنیم، مانند یک تماس api جدید، یک ورود جدید یا حتی یک رکورد جدید در پایگاه داده.
در این مثال ما یک مسیر را نظارت می کنیم و در هر تماس با آن می خواهید پیامی برای عدم وجود برخی داده ها ارسال کنید.
اگر هنوز پروژه ای ایجاد نکرده اید، jsut اجرا کنید yarn init -y
برای ایجاد یک جدید
چند وابستگی را نصب کنید:
yarn add express axios nodemon
یک کانال اختلاف ایجاد کنید که برای نظارت و دریافت بهروزرسانیهای جدید استفاده میشود. پس از ایجاد آن، باید یک وب هوک جدید برای این کانال ایجاد کنیم. به Settings Server > Integrations > Webhooks > New Webhook بروید، سپس کانال ایجاد شده را انتخاب کرده و پیوند را کپی کنید.
بازگشت به کد … ایجاد یک config.js
فایل برای تعریف متغیرهای ما:
export const config = {
API_PORT: 4000,
DISCORD_CHANNEL_WEBHOOK: <your discord channel webhook>,
};
یک سرور اکسپرس جدید با یک مسیر ساده ایجاد کنید:
// index.js
const express = require('express')
const { config } = require('./config')
const axios = require('axios')
const app = express()
app.get('/observability', async (req, res) => {
await axios.post(config.DISCORD_CHANNEL_WEBHOOK, { content: 'Hello World' }, {
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
}
})
res.send('observability done successfully')
})
app.listen(config.API_PORT, () => {
console.log(`Server listening on port ${config.API_PORT}`)
})
بیایید کد را اجرا کنیم، ترمینال را باز کرده و اجرا کنیم nodemon index.js
حالا اگر به این آدرس اینترنتی دسترسی دارید localhost:4000/observability
تو آن را خواهی دید:
و اگر کانال discord خود را بررسی کنید چیزی شبیه به این است:
و تمام، ما یک سیستم ثبت و مشاهده داریم، با خیال راحت این وب هوک را در هر زمانی در کد خود اجرا کنید که می خواهید وضعیت را در تولید دنبال کنید.
مخزن را با استفاده از تایپ اسکریپت اینجا ببینید: observability-with-discord
بیشتر را در zettelkasten من ببینید
عکس مارتن نیوهال بعد از Unsplash