본문 바로가기
FreeBSD

[Zabbix] 장애발생시 SMS 통보

by 이르가체페 2017. 3. 13.




1. 시스템 환경 구성


 1) Zabbix Appliance 3.0 LTS


 2) SMS 서버 : http://sms.ystest.co.kr/sms_send.php






2. 작업 순서


 1) SMS발송 스크립트 작성 : Zabbix 콘솔


#!/bin/sh


to=$1


subject=$2


body=$3


wget http://sms.ystest.co.kr/sms_send.php?no=01012345678&msg=$1$2$3




 2) Zabbix 에서 스크립트 등록


 - '이름' 자유롭게 설정


 - '종류' 는 스크립트


 - '스크립트 이름' 은 zabbix 서버에서 작성할 스크립트 파일 이름으로





 3) 사용자 등록 후 스크립트 연결








3. 고급 (SMS 발송 로깅)


 1) SMS발송 스크립트 작성 : Zabbix 콘솔


 - cat /usr/lib/zabbix/alertscripts/send_sms_zabbix.pl


#!/usr/bin/perl


$to=$ARGV[0];

$subject=$ARGV[1];

$body=$ARGV[2];

$body2=$ARGV[3];

$body3=$ARGV[4];

$body4=$ARGV[5];


$cmd = "wget http://sms.ystest.co.kr/sms_send.php?no=01012345678&msg=$1$2$3$4";


my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime;

$logdate = localtime();

$logymd = $year+1900;


open FH, ">>", "/usr/lib/zabbix/alertscripts/log_$logymd" or die "$!\n";

system($cmd);

print FH "===================================\n";

print FH "$logdate \t SEND SMS! \t $to \t $subject\n";

print FH "$body $body2 $body3 $body4\n";

print FH "===================================\n";

}



 2) Zabbix 에서 스크립트 등록


  - 위의 쉘스크립트에서 등록한 방법과 동일



 3) 로그 및 디렉토리 퍼미션 변경


chmod 755 /usr/lib/zabbix/alertscripts/


chmod 774 /usr/lib/zabbix/alertscripts/send_sms_zabbix.pl




4) 로그 확인

 - cat /usr/lib/zabbix/alertscripts/log_2017


===================================

Mon Mar 13 12:02:22 2017 SEND SMS! 01012345678 PROBLEM: testserver_ip_7 has just been restarted

Trigger: testserver_ip_7 has just been restarted

Trigger status: PROBLEM

Trigger severity: Average

Trigger URL: 


Item values:


1. System uptime (testserver_ip_7:system.uptime): 00:00:25

2. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*

3. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*


Original event ID: 453556    

===================================

===================================

Mon Mar 13 12:02:52 2017 SEND SMS! 01012345678 OK: testserver_ip_7 has just been restarted

Trigger: testserver_ip_7 has just been restarted

Trigger status: OK

Trigger severity: Average

Trigger URL: 


Item values:


1. System uptime (testserver_ip_7:system.uptime): 00:00:52

2. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*

3. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*


Original event ID: 453556    

===================================




반응형

댓글