如何在我的 Slack 频道中获取生产服务器警报日志?,以便如果出现问题我会尽快收到通知

问题描述 投票:0回答:1

现状:

  1. 我们的生产服务器经常停机,原因是:
    1. CPU 负载高 (100%)

    2. 未捕获的异常导致崩溃

  2. 缺乏对 API 行为的可见性会导致:
    1. 仅依靠用户投诉导致问题识别延迟

    2. 增加出现问题后解决问题的停机时间

影响:

  1. 停机会扰乱用户体验并损害我们的声誉。

  2. 被动的故障排除方法效率低下,并会导致进一步的停机。

  3. 缺乏API行为监控阻碍了主动的问题检测和预防措施。

期望的结果:

  • 实施一个系统,针对生产服务器问题主动向指定的 Slack 通道发送警报,包括:

    • CPU 使用率高

    • 服务器崩溃

    • API 错误

  • 实时了解 API 行为,以便在潜在问题导致停机之前识别并解决它们。

  • 对生产服务器问题实现更快的反应时间,最大限度地减少停机时间并改善用户体验。

node.js server monitoring downtime
1个回答
0
投票

使用 Slack Bot 警报可以解决这个问题

这里我做了一个全局函数用于松弛警报

const axios = require("axios");
exports.responseInClientSlack = async (body) => {
  try {
    return await axios.post(process.env.SLACK_URL, body);
  } catch (error) {
    console.log(error);
  }
};

定义此全局函数后,您可以在 Node JS 项目中使用

我在全局错误处理函数中有这个 这是此代码的示例

 responseInClientSlack({
        attachments: [
          {
            title: `error`,
            text: `\n\nstatusCode: ${err?.status} \n\nMessage : ${err?.message}\n\n stack: ${err?.stack} \n\n user:${req?.user?.id}`,
            color: "#FF0000",
          },
        ],
      });

要在 slack 内设置 webhook 并获取 SLACK_URL,您可以选择此 YouTube 视频 https://www.youtube.com/watch?v=sxtC40gUS2A

© www.soinside.com 2019 - 2024. All rights reserved.