데몬 스크립트를 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
}

관련 정보