zabbix使用sendEmail報警

這個很早之前就作過這個測試,忽然間找到了。不過當時記得是參考誰的文檔來着,,具體忘記了。。找不到源文檔了。。php

sendEmail是一個輕量級,命令行的SMTP郵件客戶端。若是你須要使用命令行發送郵件,那麼sendEmail是很是完美的選擇:使用簡單而且功能強大.這個被設計用在php、bashhtml

perl和web站點使用。以上是sendEmail的簡單介紹,千萬不要和sendmail搞混掉了。web


一、下載sendEmail軟件以及解壓bash


[root@Server ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
[root@Server ~]# tar fxz sendEmail-v1.56.tar.gz 
[root@Server ~]# cd sendEmail-v1.56
[root@Server sendEmail-v1.56]# ll
total 116
-rw-r--r-- 1 root root 13329 Sep 30  2009 CHANGELOG
-rw-r--r-- 1 root root  7949 Sep 30  2009 README
-rw-r--r-- 1 root root  4701 Sep 30  2009 README-BR.txt
-rwxr-xr-x 1 root root 80213 Sep 30  2009 sendEmail
lrwxrwxrwx 1 root root     9 Apr 29 18:19 sendEmail.pl -> sendEmail
-rw-r--r-- 1 root root  1229 Sep 30  2009 TODO
[root@Server sendEmail-v1.56]# cp sendEmail /usr/local/bin/
[root@Server sendEmail-v1.56]# ll /usr/local/bin/sendEmail 
-rwxr-xr-x 1 root root 80213 Sep 30  2009 /usr/local/bin/sendEmail
[root@Server sendEmail-v1.56]# yum install perl-Net-SSLeay perl-IO-Socket-SSL -y


二、使用sendEmail測試發送郵件
服務器

[root@Server ~]# /usr/local/bin/sendEmail -f vip@163.com -t 19672@qq.com \
>     -s smtp.163.com -u "我是郵件主題" -o message-content-type=html \
>     -o message-charset=utf8 -xu vip@163.com -xp 123 -m "我是郵件內容"
Apr 29 22:22:19 server sendEmail[75870]: Email was sent successfully!


 命令說明:ide

/usr/local/bin/sendEmail 命令主程序
-f yzkc_vip@163.com  發件人郵箱
-s smtp.163.com       發件人郵箱的smtp服務器
-u "我是郵件主題"     郵件的標題
-o message-content-type=html   郵件內容的格式,html表示它是html格式
-o message-charset=utf8        郵件內容編碼
-xu yzkc_vip@163.com          發件人郵箱的用戶名
-xp 123                      發件人郵箱密碼
-m "我是郵件內容"        郵件的具體內容
發送成功以後會有以下提示:
Apr 29 22:22:19 server sendEmail[75870]: Email was sent successfully!


三、進入zabbix自定義的指定目錄,在zabbix_server.conf配置文件AlertScriptsPath查看得知
測試

[root@Server zabbix]# mkdir /var/lib/zabbixsrv/externalscripts
[root@Server zabbix]# mkdir /var/lib/zabbixsrv/alertscripts
[root@Server zabbixsrv]# chown zabbix.zabbix externalscripts/ -R



在/var/lib/zabbixsrv/alertscripts目錄下建立腳本爲sendEmail.sh,內容以下:編碼


[root@Server alertscripts]# cat sendEmail.sh 
#!/bin/bash
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail  -f vip@163.com -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu vip@163.com -xp 123 -m "$body"
[root@Server alertscripts]# chmod +x sendEmail.sh
[root@Server alertscripts]# chown zabbix.zabbix /var/lib/zabbixsrv/ -R






4.進入zabbix管理頁面url

點擊管理->報警媒介類型 點擊最右邊的建立媒體類型spa

spacer.gif

wKiom1d-dpLh0PcHAAFG8MyuXN8159.png-wh_50

wKioL1d-dpLDM_VEAAC_SnGARTg685.png-wh_50

spacer.gif

輸入腳本名稱,類型選擇腳本

添加如下3個參數,分別對應sendEmail.sh腳本須要的3個參數:收件人地址、主題、詳細內容

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}


解釋:不少人安裝zabbix 3.0以後,寫的腳本一直髮信不成功,手動執行時能夠的。

那是由於zabbix3.0以後,能夠自定義參數了。因此不寫參數,它是不會傳參數的。

在2.x版本不存在這個問題,默認會傳3個參數。


先建立個組OPS組

spacer.gif

wKiom1d-draRp3c8AAGFu51lPmU294.png-wh_50

wKioL1d-draDrH4rAACx6u_wi2k504.png-wh_50

wKioL1d-drfge1CkAAFJAM_RS-Y096.png-wh_50

spacer.gif

spacer.gif


在OPS組下建立用戶

spacer.gif

wKiom1d-dyXzkEaOAAD1AVYwa5Q866.png-wh_50

wKioL1d-dyWC9bfAAADT1QovpYA382.png-wh_50

spacer.gif

選擇sendEmail.sh腳本,輸入收件人的郵箱地址

spacer.gif

wKiom1d-d0KQgL77AAE3f3rLt8I769.png-wh_50

wKiom1d-d0ODYg7UAAEb8jO5XhA837.png-wh_50



spacer.gif


點擊配置->動做->觸發器 新建action

spacer.gifwKioL1d-d32QONSAAAECK49PzW8057.png-wh_50

點擊操做,名字以及默認的發送郵件故障和恢復標題,勾選Recovery message故障恢復的時候也會發送mail信息

spacer.gifwKiom1d-d47x72umAAD6sNyPsBQ275.png-wh_50


Zabbix-Monitor-{TRIGGER.STATUS}




告警主機:&nbsp;{HOSTNAME1}<br/>
告警IP:&nbsp;{HOST.CONN}<br/>
告警時間:&nbsp;{EVENT.DATE} {EVENT.TIME}<br/>
告警等級:&nbsp;{TRIGGER.SEVERITY}<br/>
告警信息: &nbsp;{TRIGGER.NAME}<br/>
告警項目:&nbsp;{TRIGGER.KEY1}<br/>
問題詳情:&nbsp;{ITEM.NAME}:&nbsp;{ITEM.VALUE}<br/>
當前狀態:&nbsp;{TRIGGER.STATUS}:&nbsp;{ITEM.VALUE1}<br/>
事件ID:&nbsp;{EVENT.ID}<br/>






再也不維護內的機器或者是觸發器的值爲PROBLEM的都會報警觸發條件

spacer.gif

wKioL1d-eAuSFMtAAACyBbvsT1I918.png-wh_50

wKioL1d-eAuzkVygAAHf_0TJEbU440.png-wh_50

spacer.gif


解釋:默認的步驟是1-1,也便是從1開始到1結束。一旦故障發生,就是執行sendEmail.sh腳本發生報警郵件給OPS組

假如故障持續了1個小時,它也只發送一次。若是改爲1-0,0是表示不限制.無限發送

間隔就是默認持續時間60秒。那麼一個小時,就會發送60封郵件。

若是須要短信報警的話,能夠再建立一條新的動做,選擇短信腳本。


下面開始測試郵件報警

先添加一臺主機Ubuntu,過會吧Ubuntu的agent服務中止後,過會就會收到mail

spacer.gif

wKiom1d-eGygZnLGAACEkAQ8Op0157.png-wh_50

wKiom1d-eGyhrmDfAAHMzsPiASg326.png-wh_50

spacer.gif

報警聯繫人的郵箱收到的郵件

spacer.gif

wKioL1d-eIKyyI0BAABa9itJcbY709.png-wh_50

spacer.gif


點擊報表->動做日誌 能夠看到觸發動做的次數。只會有3次,除非Ubuntu主機狀態改變,也就是正常的時候,會觸發一次,不然不會再觸發。



看到zabbix界面報警後,能夠吧一些相關信息更改成處理中,這樣郵件就不會持續報警了、

spacer.gifwKioL1d-eLPAP3OtAADOK9lR5lE685.png-wh_50

spacer.gifwKiom1d-eNOjyFtsAACwW5AToj4030.png-wh_50


Ubuntu主機的agent的服務正常後mail內容以下

spacer.gifwKiom1d-eO6iExDkAABVljgEVwQ668.png-wh_50


其實主題Zabbix-Monitor-{TRIGGER.STATUS}能夠改爲中文的。網頁顯示正常,可是foxmail客戶端,顯示亂碼。

因此主題仍是用的英文,內容裏面的中文仍是顯示正常的。恩,那就先這樣吧。

相關文章
相關標籤/搜索