호스트 그룹 및 템플릿.
템플릿을 사용하면 "일반 서비스", "중요한 서비스", "낮은 우선 순위의 호스트"와 같은 호스트 및 서비스에 대한 클래스를 정의 할 수 있습니다. 또한 서로 다른 책임을 가진 여러 팀이있는 경우 책임을 나누는 유용한 방법으로도 사용되므로 "리눅스 호스트"템플릿과 "윈도우 호스트"템플릿을 사용하여 적절한 연락처 정보를 정의 할 수 있습니다.
단일 리소스에서 여러 템플릿을 사용할 수 있으므로 적절하게 직교 템플릿을 작성할 수 있습니다. 예를 들어
host foo {
use windows-host,normal-priority-host
...
}
Windows 팀의 연락처 정보 (및 에스컬레이션)와 "정상"호스트의 폴링 속도 및 임계 값을 가져옵니다.
호스트 그룹을 사용하면 호스트 하위 집합에 대한 모든 검사를 그룹화 할 수 있습니다. "baseline-linux-hosts"와 같이로드, 디스크 공간, ssh
능력 및 모니터링하는 모든 호스트에 있어야 할 다른 것들을 확인하십시오 . HTTP 연결, HTTPS 연결 및 SSL 인증서 만료 날짜를 확인하여 "https-servers"와 같은 그룹을 추가하십시오. "파일 서버"는 NFS 및 SMB 접근성을 검사하고보다 적극적인 디스크 검사를 수행합니다. 또는 VM 접근성 도구가 제대로 실행되고 있는지 확인하는 "가상 컴퓨터".
각 호스트 및 호스트 그룹을 자체 파일에 넣으십시오. 이 파일에는 호스트 또는 호스트 그룹 정의가 먼저 포함되고 그 뒤에 적용되는 서비스 정의가 포함되어야합니다.
파일 에서 cfg_dir
지시문 을 사용하면 nagios.cfg
Nagios는 해당 디렉토리를 통해 재귀 적으로 검색합니다. 그것을 활용하십시오. 의 설정으로 cfg_dir=/etc/nagios/conf.d
다음과 같은 디렉토리 트리를 가질 수 있습니다.
- /etc/nagios/conf.d/
- commands.d /
- http.cfg
- nrpe.cfg
- smtp.cfg
- ssh.cfg
- hosts.d /
- host1.cfg
- host2.cfg
- host3.cfg
- hostgroups.d /
- hostgroup1.cfg
- hostgroup2.cfg
서비스를 제외하고 각 리소스 유형 (명령, 연락처 그룹, 연락처, 에스컬레이션, 호스트 그룹, 호스트, 서비스 그룹, 기간)에 대한 디렉토리를 만드는 경향이 있습니다.
정확한 구조는 조직의 요구에 따라 달라질 수 있습니다. 과거 직장에서, 나는 hosts.d
각기 다른 사이트 에서 하위 디렉토리를 사용했습니다 . 현재 작업에서 대부분의 Nagios 호스트 정의는 Puppet에서 관리하므로 Puppet 관리 호스트 용 디렉토리와 수동 관리 호스트 용 디렉토리가 각각 하나씩 있습니다.
위의 명령은 일반적으로 프로토콜에 따라 명령을 여러 파일로 나눕니다. 따라서, nrpe.cfg
파일이 명령을 것 check_nrpe
하고 check_nrpe_1arg
, 동시에 http.cfg
가질 수있다 check_http
, check_http_port
, check_https
, check_https_port
,와 check_https_cert
. 1
나는 일반적으로 엄청난 수의 템플릿을 가지고 있지 않으므로 보통 hosts.d/templates.cfg
파일과 파일 만 있습니다 services.d/templates.cfg
. 더 많이 사용하면 templates.d
디렉토리 에서 적절한 이름의 파일로 이동할 수 있습니다 .
1 나는 또한 check_http_blindly
기본적으로 명령을 가지고 싶다 check_http -H $HOSTADDRESS$ -I $HOSTADDRESS$ -e HTTP/1.
; 403 응답 코드를 가져 오더라도 OK를 리턴합니다.