Cachet状态页面使企业能够即时通知服务停机时间。我们将学习如何在Cachet中自动化Web应用程序监视。

Web应用程序监视

监视应用程序和服务是在线业务中非常重要的一部分。您的网站运行24x7,您随时都可以弄错它。在访问它之前,您不知道任何一个网站都在工作。此外,客户将没有有关此问题的信息。他们可能会联系您的支持团队以进行停机时间。此外,这可能会导致您的客户感到失望。但是,您可以通过配置状态页面系统来减少服务停机时间。状态页系统将全天监视您的所有服务,并立即向您的团队和客户发送通知。这将使您能够快速解决问题,并且客户将继续最新进展。在此博客文章中,您将学习如何将第三方库与 cachet整合在一起,以供自动监视

要求

  • 安装最新版本的Cachet。
  • 熟悉Linux服务。

设置监视插件

以下步骤是在Ubuntu上安装和配置用于监视的插件。

  • 发行页下载二进制文件。
  • 将文件重命名为cachet-monitor。
  • 通过命令使文件可执行。
sudo chmod +x cachet-monitor
  • 将可执行文件放在路径目录中,以便您可以通过终端直接访问它。因此,我建议您在 /usr/local/bin 下移动。
  • 通过运行以下命令创建一个config.json文件。
sudo nano config.json
  • 将以下代码复制到其中并保存文件。
{
  "api": {
    "url": "https://demo.cachethq.io/api/v1",
    "token": "9yMHsdioQosnyVK4iCVR",
    "insecure": false
  },
  "date_format": "02/01/2006 15:04:05 MST",
  "monitors": [
    {
      "name": "google",
      "target": "https://google.com",
      "strict": true,
      "method": "POST",
      "component_id": 1,
      "metric_id": 4,
      "template": {
        "investigating": {
          "subject": "{{ .Monitor.Name }} - {{ .SystemName }}",
          "message": "{{ .Monitor.Name }} check **failed** (server time: {{ .now }})\n\n{{ .FailReason }}"
        },
        "fixed": {
          "subject": "I HAVE BEEN FIXED"
        }
      },
      "interval": 1,
      "timeout": 1,
      "threshold": 80,
      "expected_status_code": 200
    }
  ]
}
  • 现在,使用此命令测试您的配置。
cachet-monitor -c config.json
  • 如果一切正常,请移至下一节并创建Linux服务。

创建Linux服务

以下步骤是创建和启动Linux服务以自动化监视过程。

  • 创建服务 cachet-monitor.service 文件。
sudo nano cachet-monitor.service
  • 将以下代码复制到其中并保存文件。
[Unit]
Description=Cachet Monitor
After=syslog.target
After=network.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/usr/local/sbin
ExecStart=cachet-monitor -c /root/config.json
Restart=always
Environment=USER=root HOME=/root

[Install]
WantedBy=multi-user.target
  • 通过运行命令更新SystemD配置。
sudo systemctl daemon-reload
  • 通过运行命令启用cachet-monitor服务,以便它可以在系统启动上加载。
sudo systemctl enable cachet-monitor.service

结论

Cachet A是免费的,并且 开源状态页系统。但是,它没有为Web应用程序监视 提供开箱即用的功能。取而代之的是,它具有强大的REST API,可用于执行诸如事件,组件,组等之类的动作。在本文中,我们使用第三方插件来自动化CACHET的应用程序监视。最重要的是,您可以开发自己的插件或使用任何其他现有插件来完成这项工作。 此外,Containerize.com正在以多种语言和框架来增强开源产品的堆栈。有关定期更新,请继续关注状态页类别,以获取更多有趣的文章。

探索

您可能会发现以下链接相关: