如何将守护进程脚本与sensu集成?

如何将守护进程脚本与sensu集成?

我有一些在无限循环中运行的守护程序脚本,如果检测到的节点发生故障,它们会执行一些操作。例如;在 AWS 中移动弹性 IP。

如何集成这个无限循环运行的脚本以将警报推送到 sensu?有关检查的传统 Sensu 文档不适用(此脚本将永远运行)。我需要一种方法将自定义事件直接发送到 sensu。我以为API可能就是这样,但似乎我不能推送事件。

答案1

Sensu 在此处提供了有关如何执行此操作的文档:https://sensuapp.org/docs/latest/clients#client-socket-input

基本上,每个 sensu 客户端 ( client.json) 都有一个可以向其发送外部数据的内部套接字;默认情况下,此套接字仅侦听127.0.0.1:3030,因此必须调整客户端的配置:

{
  "client": {
    "name": "my.host",
    "address": "x.x.x.x",
    "subscriptions": [
      "all"
    ],
    "socket": {
      "bind": "0.0.0.0",
      "port": 3030
    }
  }
}

然后,外部脚本需要使用以下格式通过 TCP 或 UDP 以 JSON 格式将数据发送到客户端套接字:

{
  "name": "some_name",
  "output": "ITS DOWN OH NO!",
  "status": 2
}

相关内容