감지된 노드가 실패할 경우 일부 작업을 수행하는 무한 루프에서 실행되는 일부 데몬 스크립트가 있습니다. 예를 들어 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
}