저는 Nagios를 사용하여 약 1 년 동안 많은 서버를 모니터링했습니다. 대단 했어. 그러나 최근에, Nagios는 모든 호스트가 다운되었음을 이메일로 보내기 시작했습니다. 그런 다음, 즉시, 모든 호스트가 괜찮다고 말해 줄 것입니다.Nagios가 즉시보고합니다.
매일 하루 종일이 작업을 수행합니다. 나는 아침에 40+ 이메일까지 일어난다.
[1505007529] SERVICE ALERT: myurl.com;/;CRITICAL;HARD;1;HTTP CRITICAL: Status line output matched "200" - 48479 bytes in 10.223 second response time
[1505007529] SERVICE NOTIFICATION: nagiosadmin;myurl.com;/;CRITICAL;notify-service-by-email;HTTP CRITICAL: Status line output matched "200" - 48479 bytes in 10.223 second response time
[1505007579] SERVICE ALERT: myurl.com;/;OK;HARD;1;HTTP OK: Status line output matched "200" - 48479 bytes in 0.197 second response time
[1505007579] SERVICE NOTIFICATION: nagiosadmin;myurl.com;/;OK;notify-service-by-email;HTTP OK: Status line output matched "200" - 48479 bytes in 0.197 second response time
경고가 뭔가 아래 깨달았다 곳 것으로 보인다 :
는 Nagios.log 내 URL을 하나 하나, 다운 - 업 상황에 해당하는 것이 선을 보여줍니다. 그 통보는 나에게 이메일을 보낸 곳인 것 같다. 그런 다음 백업을 알립니다. 그런 다음 백업을 위해 이메일을 보내십시오.
define command{
command_name check_http_url
command_line $USER1$/check_http --expect="200" -w 5 -c 10 -t 20 -H $ARG1$
}
내가 아마 서버가 충분히 빠른 핑에 응답하지 수 있다고 생각 :
지금, 여기에 내가 URL을 모니터링하는 데 사용하고 명령이다. 그래서, Nagios가 응답을 기다리는 것을 용인 할 시간을 늘리고 싶었습니다.
그 때문에 문제를 디버그하기 위해 -w, -c 및 -t를 추가했습니다. 그것들을 추가하기 전에 한 달 동안 이렇게 행동했습니다. 이것들은 아무 것도 도와주지 않는 것 같습니다. 여기
내 서비스 정의 같은 모습입니다 :
define service{
host_name myurl.com
service_description /
max_check_attempts 1
check_interval 1
retry_interval 1
check_period 24x7
notification_period 24x7
notification_interval 10
check_command check_http_url!myurl.com
notifications_enabled 30
contact_groups admins
contacts nagiosadmin
notification_options w,u,c,r
}
이 7+ 개월 이상 좋은 일을, 내가 그냥 다시 가정 해 봅시다. 그런 다음, 그것에 대한 행동을 시작했습니다. 내가 개인적으로 일단 설정을 변경하지 않았 더라면 처음에는 작동 시켰습니다.
단일 서버 만보고하는 경우 모니터링되는 서버의 응답 속도가 느릴 수도 있습니다. 그러나 대개 3 ~ 4 대의 서버가 다운 된 다음 다시 백업 될 것입니다. 이로 인해 나는 다른 서버가 아닌 nagios 환경에서 문제를 실제로 생각하게됩니다.
디버깅을 도와 주셔서 미리 감사드립니다.