デーモンスクリプトをsensuと統合する方法は?

デーモンスクリプトをsensuと統合する方法は?

検出されたノードが失敗した場合、いくつかのタスクを実行する無限ループで実行されるいくつかのデーモンスクリプトがあります。たとえば、AWS で Elastic 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
}

おすすめ記事