
Nagios에서 서비스 상태를 확인하고 서비스 상태에 대한 SMS 메시지를 보내도록 했습니다.
일부 문제는 밤에는 중요하지 않으며 밤에는 전송하지 않는 것을 선호합니다.
define timeperiod{
timeperiod_name non_work
alias Non work hours
sunday 00:00-24:00
monday 00:00-09:00,18:00-24:00
tuesday 00:00-09:00,18:00-24:00
wednesday 00:00-09:00,18:00-24:00
thursday 00:00-09:00,18:00-24:00
friday 00:00-09:00,18:00-24:00
saturday 00:00-24:00
}
하지만 아침에는 새로운 문제뿐만 아니라 모든 문제가 전송되기를 바랍니다. 어떻게 구성할 수 있나요?
아니면 nagios에는 이 기능이 없나요?
답변1
일부 문제는 밤에는 중요하지 않습니다.
제안한 대로 Nagios를 사용하면 확인, 알림, 알림 그룹 및 개별 사용자에 적용할 수 있는 기간을 구성할 수 있습니다. 물론 확인을 수행하도록 지정했지만 알림이 전송되지 않은 경우 이메일에서 문제를 볼 수 없습니다.하지만 Nagios 웹페이지에서 언제든지 전체 알림 내역을 확인할 수 있습니다.. 아침에 가장 먼저 밤새 알림을 이메일로 보내도록 크론 작업을 예약해 보는 것은 어떨까요? 예를 들어
0 8 * * * wget -O /tmp/nagios.html -i /home/user/nagioslist; mail [email protected] </tmp/nagios.html
/home/user/nagioslist에는 다음과 같은 내용이 포함되어 있습니다.
http://example.com/nagios/cgi-bin/summary.cgi?report=1&displaytype=1
&timeperiod=last24hours&hostgroup=all&servicegroup=all&host=all&alerttypes=3
&statetypes=2&hoststates=7&servicestates=120&limit=1000
(이렇게 하면 지난 24시간 동안 감지된 최대 1000개의 하드 상태가 표시됩니다.)
OTOH에서는 연기하려는 알림에 대해 실행할 다른 알림 스크립트를 설정하고 나중에 보낼 수 있도록 대기열에 넣을 수 있습니다(예: 'at' 사용).
또는 특정 간격으로만 보내는 메일을 처리하도록 MTA를 설정할 수 있습니다. 다른 이메일 주소/다른 제목과 결합하면 수신자/제목/시간을 기준으로 메일의 우선순위를 효과적으로 지정/지연할 수 있습니다.
답변2
Nagios가 기본적으로 이 작업을 수행하지 않는지 확실하지 않습니다. 비근무 시간 대신 근무 시간만 포함되도록 알림 기간을 반대로 하면 됩니다.
이를 테스트하는 것은 쉽습니다. 현재 시간으로부터 몇 분 후에 시작하여 기본적으로 실패하는 검사와 그에 따라 설정된 알림 기간을 정의하고 이 기간에만 메시지를 받는지 확인하세요.
이것이 작동하지 않으면 escalation_기간 문을 사용하여 밤에 메일을 보내고 근무 시간 동안 SMS를 보내는 등 에스컬레이션 계획을 시험해 볼 수 있습니다.