![데몬 스크립트를 sensu와 통합하는 방법은 무엇입니까?](https://linux55.com/image/72051/%EB%8D%B0%EB%AA%AC%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20sensu%EC%99%80%20%ED%86%B5%ED%95%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
감지된 노드가 실패할 경우 일부 작업을 수행하는 무한 루프에서 실행되는 일부 데몬 스크립트가 있습니다. 예를 들어 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
}