
저는 최근에 멋진 7×11 LED 디스플레이를 구입했는데, 무엇보다도 여기에 내 nagios 상태를 표시하고 싶습니다. 이를 위해서는 Nagios 설치 상태를 쿼리해야 합니다.
Perl 스크립트 등을 통해 원격 Nagios 서버에서 상태 요약(예: 비정상 서비스 수)을 가져오는 적절한 방법은 무엇입니까?
답변1
나는 매우 큰 규모의 nagios 설치를 유지하고 있으며 이를 수행하는 가장 좋은 방법은 "실시간 상태" 이벤트 브로커:
http://mathias-kettner.de/checkmk_livestatus.html
Livestatus는 로컬 또는 TCP 소켓을 통해 Nagios 상태에 대한 즉각적인 액세스를 제공하고 모니터링 서버에 추가 CPU 로드를 거의 0으로 도입합니다(물론 메모리 공간은 있습니다). xinetd/unixcat과의 간단한 통합으로 네트워크를 통해 쿼리할 수 있습니다. 출력은 CSV, JSON, Python의 세 가지 형식 중 하나입니다. 다양한 구성 옵션을 사용할 수 있으며 프로덕션 용도로 충분히 안정적입니다. 문서는 매우 훌륭합니다.
또한 livestatus는 다음과 같은 다른 nagios 추가 기능을 활성화합니다.MK 멀티사이트"는 NSCA 또는 수동 서비스 검사 결과를 사용하지 않고 여러 nagios 설치의 결과를 단일 GUI로 집계하며 nagios 구성을 작업자 서버와 마스터 서버 모두에서 유지해야 합니다.
답변2
내가 아는 한 nagios 상태를 쿼리하기 위한 nagios.com 지원 API는 없습니다. 이를 수행할 수 있는 다양한 추가 기능이 있습니다. 일부는 이 질문에서 논의됩니다.
CGI를 직접 쿼리하고 반환된 HTML을 "화면 스크랩"할 수 있지만 이는 매우 강력한 솔루션은 아닙니다. 나는 이 버전의 API 서버를 약간 다루었지만 프로덕션에 넣지는 않았습니다.