2014-03-03 2 views
4

알림 및 에스컬레이션 체인을 테스트하는 일반적인 방법은 포트를 차단하는 등의 방법으로 장애를 시뮬레이트하는 것입니다.nagios 알림 시뮬레이션

그러나 이것은 완전히 만족스럽지 않습니다. 나는 아무도 없었던 나이지오에 기록 된 시간을 원하지 않습니다. 나는 또한 기다리고 싶지 않다.

중단을 일으키지 않고 알림 체인을 테스트하는 방법을 아는 사람이 있습니까? 이 같은 예를 들어 뭔가 :

$ ./check_notifications_chain <service|host> <time down> 
at <x> minutes notification email sent to group <people> 
at <2x> minutes notification email sent to group <people> 
at <3x> minutes escalated to group <management> 
at <200x> rm -rf; shutdown -h now executed. 

내가 알림 체인 자체가 Nagios를 체크 할 수있는이 패러다임을 확장,하지만 난 내 머리가 폭발하기 전에 여기 중단됩니다.

누구나?

답변

4

전자 메일 경고가 제대로 작동하는지 확인하려는 경우 하루에 한 번 경고를 생성하는 간단한 테스트 서비스를 만들 수 있습니다.

test_alert.sh :

#!/bin/bash 

date=`date -u +%H%M` 

echo $date 
echo "Nagios test script. Intentionally generates a warning daily." 

if [[ "$date" -ge "1900" && "$date" -le "1920" ]] ; then 
    exit 1 
else 
    exit 0 
fi 

commands.cfg :

define command{ 
    command_name test_alert 
    command_line /bin/bash /usr/local/scripts/test_alert.sh 
} 

services.cfg :이 방법을

define service { 
    host     localhost 
    service_description Test Alert 
    check_command   test_alert 
    use     generic-service 
} 
+0

라고? 그렇지 않으면 서버에 연결할 필요가 있다고 생각했습니다. 분명히 나는 ​​여기서 뭔가를 놓치고있다. –

+0

서버가 무엇을 의미합니까? Nagios에서는 호스트, 서비스 및 명령을 정의합니다. 시험 이메일로 충분합니다. – sekrett