操作系統:CentOS 7
Web環境:Nginx+MySQL+PHP
zabbix版本:zabbix-2.4.8.tar.gz
郵件服務:msmtp-1.4.32.tar.bz2 #http://download.csdn.net/detail/allen_a/9504581
一、解壓,編譯,安裝,配置msmtp
tar xf msmtp-1.4.32.tar.bz2
./configure --prefix=/usr/local/msmtp
make && make install
mkdir
/usr/local/msmtp/etc
touch
/usr/local/msmtp/etc/msmtprc
在/usr/local/msmtp/etc/msmtprc中寫入如下內容:
defaults
測試一下:/usr/local/msmtp/bin/msmtp [email protected],輸入內容後按ctrl+D發出。
二、在實際測試中發現直接使用msmtp命令發出去的郵件會看不到發件人和主題,只能看到郵件內容,所以我使用mutt掛接在msmtp上,yum install mutt*
修改mutt的配置文件/etc/Muttrc, 不是/etc/muttrc ,M要大寫
1.set sendmail="/usr/local/msmtp/bin/msmtp"
2.set use_from=yes
3.set realname=******@sohu.com #發件人郵箱地址
4.set editor="vi"
5.wq #保存退出
測試一下:echo "郵件報警測試" | mutt -s "測試" ******@qq.com #收件人地址
發送郵件的應用有很多,通nagios相同,使用的是sendEmail
三、創建 zabbix用於發送郵件的腳本,腳本放在什麼位置隨便,但是要保證zabbix能找到!
(1)vim /usr/local/zabbix/share/zabbix/alertscripts/mail,並寫入如下內容:
#!/bin/bash
echo "$3" | mutt -s "$2" $1 # $3表示郵件內容、$2表示郵件標題、$1表示收件人
(2)chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/mail
chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/mail
---------------腳本的編寫可以先放到一邊,記住$1,$2,$3參數分別代表的意義。
在zabbix_server.conf配置文件中,有參數AlertScriptsPath和ExternalScripts
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts/mail ---用戶自定義的media types腳本
ExternalScripts=/usr/local/zabbix/share/zabbix/alertscripts/mail ---用戶自定義的檢查的腳本(item)
這樣才能找到你的腳本,因為你在frontend中只是輸入腳本的名稱,沒有路徑。
四、zabbix配置
----------------------------在定義Trigger時,Multiple PROBLEM events generation這個必須要打勾,在官網上該參數被解釋為
By checking this option you can set that an event is generated upon every 'Problem' evaluation of the trigger.
(1)創建meida types
1.登錄到zabbix,進入“Administration" >> ”Media types",點擊右上角“Create Media Type"。 Description填"msmtp"或其它名稱,Type選擇"Script",Script填”mail”。
vccmcXVvdDtDcmVhdGUgQWN0aW9ucyZxdW90O6GjyuTI605hbWUgobBiYW9qaW5nobEgo6zG5Mv8trzErMjPteO799PSsuChsEFjdGlvbiBPcGVyYXRpb25zJnF1b3Q7z8K1xCZxdW90O05ldyZxdW90O7C0xaWjrCZxdW90O09wZXJhdGlvbiBUeXBlJnF1b3Q70aHU8SZxdW90O1NlbmQgbWVzc2FnZSZxdW90O6OsJnF1b3Q7U2VuZCBNZXNzYWdlIHRvJnF1b3Q70aHU8dK7uPa78rbguPbSqreiy83P+8+itcTTw7un1+mjrKGxU2VuZCBvbmx5IHRvJnF1b3Q70aHU8c7Sw8fWrsew0MLU9rXEbXNtdHChozwvcD4KPGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20160428/20160428083439235.png" alt="\">
2.最後點擊保存
(3) zabbix用戶配置
登錄到zabbix, 進入"Adimistration" >> "Users",在之前選定要發送消息的組裡的Members欄位裡選擇一個用戶,例如選擇Admin用戶。
在用戶信息修改界面最下方的”Media"處點擊"Add"按鈕。
Type選擇"msmtp",Send to填入收件人地址,點擊Add添加。
點擊"Save"保存配置。
至此配置完成,測試!