[Zabbix] 怎样实现邮件报警通知以及免费短信报警通知
?前提條件:
(1) zabbixserver端已經(jīng)安裝成功而且執(zhí)行。
(2) zabbixclient已經(jīng)成功建立而且執(zhí)行。
1 下載而且安裝msmtp軟件
Wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2/download
?
tar jxvf msmtp-1.4.32.tar.bz2
cd msmtp-1.4.32
./configure--prefix=/usr/local/msmtp
Make
Make install
?
?
2、手動建立配置文件,輸入外部smtp地址
mkdir –p /usr/local/msmtp/etc
vi /usr/local/msmtp/etc/msmtprc
加入以下內(nèi)容
account default?
host smtp.sohu.com????????????????????#你的發(fā)送郵件server
port 25
from zabbix2014@sohu.com??????#要從哪個(gè)郵箱發(fā)出
auth login
tls off
user ?zabbix2014??????????????????????#郵箱username
password xxxxx-xxx ? ? ? ? ? ? ? ? ?#郵箱密碼,假設(shè)你認(rèn)為不安全能夠把文件改為600屬性
logfile /var/log/mmlog
保存退出。
?
?
3、簡單測試一下
/usr/local/msmtp/bin/msmtp? zabbix2014@sohu.com?
hello,test?
ctrl d
cat /usr/local/msmtp/msmtp.log 看看有沒有成功。
?
然后再到sohu郵箱中。看看信收到?jīng)]有
?
報(bào)錯(cuò)例如以下
[root@cache-2?msmtp-1.4.32]#?/usr/local/msmtp/bin/msmtp?zabbix2014@sohu.com
msmtp:?authentication?failed?(method?LOGIN)
msmtp:?server?message:?535?5.7.0?Invalid?result
msmtp:?could?not?send?mail?(account?default?from?/usr/local/msmtp/etc/msmtprc)
?
Google之后,須要安裝 mutt組件
4、以下開始安裝 MUTT假設(shè)是CentOS的話直接用yum就好了
yum install mutt
安裝完畢后要手動給他建立一個(gè)配置文件,
vim /etc/Muttrc
setsendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路徑
set use_from=yes
set realname="zabbix2014@sohu.com"
set editor="vim"
簡單的4行就能夠了
好了,讓我們來測試一下吧!
測試一下:echo"test mail" | mutt -s "test" zabbix2014@sohu.com
?
OK。測試了下,能收到已經(jīng)發(fā)送的email,例如以下所看到的:
echo"test mail 2014 content tom 2" | mutt -s "test 2014 title2"? zabbix2014@sohu.com
?
?
?
5、????創(chuàng)建 zabbix用于發(fā)送郵件的腳本
腳本放在什么位置隨便。可是要保證zabbix能夠找到!
?
1)vim/usr/bin/zabbix2014,并寫入例如以下內(nèi)容:
#!/bin/bash
echo "$3" | mutt -s "$2"$1?????? # $3表示郵件內(nèi)容、$2表示郵件標(biāo)題、$1表示收件人
(2)chmod a+x /usr/bin/zabbix2014
?
6、????zabbix配置
(1)創(chuàng)建meida types
1.登錄到zabbix,進(jìn)入“Administration" >> ”Media types",點(diǎn)擊右上角“Create Media Type"。
Description填"mediatype-zabbix2014"或其他名稱,Type選擇"Script",Script填” zabbix2014”。
2.點(diǎn)擊save保存,例如以下圖所看到的:
?
7、創(chuàng)建actions
1.登錄到zabbix,進(jìn)入"Configation" >> "Actions",點(diǎn)擊右上角"Create Actions"。輸入Name “action-zabbix2014” ,其他都默認(rèn)點(diǎn)擊右側(cè)“Action Operations"下的"New"button,"Operation Type"選擇"Send message"。"Send Message to"選擇一個(gè)或多個(gè)要發(fā)送消息的用戶組,”Send only to"選擇我們之前新增的mediatype-zabbix2014。
2.點(diǎn)擊save保存。例如以下圖所看到的:
?
?
?
?
8、zabbix用戶配置
登錄到zabbix, 進(jìn)入"Adimistration" >>"Users",在之前選定要發(fā)送消息的組里的Members欄位里選擇一個(gè)用戶。比如選擇AdminZabbix用戶。
在用戶信息改動界面最下方的”Media"處點(diǎn)擊"Add"button。
Type選擇"mediatype- zabbix2014",Send to填入收件人地址,點(diǎn)擊Add加入。
點(diǎn)擊"Save"保存配置。例如以下圖所看到的:
?
?
?
9 測試驗(yàn)證郵件發(fā)送功能是否正常。
PS:這個(gè)驗(yàn)證報(bào)警的實(shí)現(xiàn),請參考 http://blog.csdn.net/mchdba/article/details/24540017?里面有描寫敘述mysql.ping_test是怎樣建立并生效的。
9.1 去stopserver上的mysql服務(wù)。一會就應(yīng)該會報(bào)警
[root@db-m2-slave-1~]# service mysql stop
Shutting downMySQL...????????????????????????????????????[確定]
[root@db-m2-slave-1~]#
?
可是沒有收到email,所以我們須要去看events,是否有提示為什么會發(fā)不出email來。進(jìn)去文件夾Monitoring—> Events?Group(選All)?Host(選要監(jiān)控的數(shù)據(jù)庫主機(jī))?Source(選Trigger)。
點(diǎn)開最左邊一列的連接 02 May 2014 12:34:06 。
看到提示:
/usr/local/zabbix/scripts/zabbix2014: [2] Nosuch file or directory
記得是放在 /usr/bin/zabbix2014 。所以將腳本放在提示所須要的文件夾上面,直接mv一下就可以:
mv/usr/bin/zabbix2014 /usr/local/zabbix/scripts/zabbix2014
之后會看到新的報(bào)警PROBLEM信息。email已經(jīng)發(fā)送出去了,例如以下圖:
?
9.2 改email地址,改成139郵箱。而且附帶免費(fèi)短信報(bào)警功能實(shí)現(xiàn)。
進(jìn)入文件夾,Administration?Users? Zabbix administrators? Users (1)? AdminZabbix(最左邊一列)?Media(選擇中間的那一個(gè)欄目)—> mediatype-zabbix2014(選擇用Trigger所用的mediatype)?Edit(點(diǎn)擊進(jìn)去改動)?Send to(后面的輸入框里面填寫上139的email,比方xxx@139.com)。例如以下圖所看到的::
9.3 切換139郵箱來驗(yàn)證發(fā)送短信功能
注冊139郵箱。打開email,stop以及start數(shù)據(jù)庫上面的mysql進(jìn)程服務(wù),就會收到報(bào)警email以及短信通知,報(bào)警email例如以下:
記得開啟短信提示功能。短信免費(fèi)。
?
?
9.4 怎樣讓zabbix繼續(xù)發(fā)送報(bào)警信息直到恢復(fù)正常為止。
進(jìn)入文件夾,Configuration?Hosts?選中主機(jī)?Trigger?Name(比方進(jìn)入check_mysql_status)?在Multiple PROBLEM events generation一欄打勾?Save。例如以下圖所看到的:
?
?
10 總結(jié):
第一次zabbix的郵件報(bào)警試驗(yàn)成功了,折騰了非常多天,也咨詢了非常多朋友,在此感謝他們,以下還有很多zabbix的深入的東西須要繼續(xù)學(xué)習(xí)繼續(xù)專研。
?
且行且努力吧。
?
參考文章:http://bbs.hx95.com/read-htm-tid-181423.html
?
附上網(wǎng)友北京醬油帝的建議,怎樣驗(yàn)證trigger報(bào)警成功:
要想驗(yàn)證trigger的有效性非常easy:
第一,trigger在monitor的界面有個(gè)events選項(xiàng)看到?jīng)]有,那里面是能夠點(diǎn)擊機(jī)器ip的。你看你定義的trigger有沒有發(fā)生。
第二。? 第二,假設(shè)trigger發(fā)生了,是要看腳本也就是media調(diào)用有沒有成功,假設(shè)成功了,最好在腳本里面加上日志。
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/brucemengbm/p/6957069.html
總結(jié)
以上是生活随笔為你收集整理的[Zabbix] 怎样实现邮件报警通知以及免费短信报警通知的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 任意地方点击事件
- 下一篇: jQ 插件 iscroll.js