ZABBIX3.0配置邮件报警
環境介紹:
????zabbix版本:3.0.5
????操作系統:Centos6.8
????IP地址:192.168.10.150
2. 安裝sendEmail
????sendEmail是一個免費、輕量級、命令行的SMTP郵件客戶端。
????如果你需要使用命令行方式發送郵件,那么sendEmail是非常完美的選擇:使用簡單、功能強大。
| 1 2 3 4 5 6 7 | wget?-P?/tmp? #?安裝組件 yum?install?perl-Net-SSLeay?perl-IO-Socket-SSL?-y #?解壓壓縮包,并把命令拷貝到/usr/local/bin下 tar?-zxvf?/tmp/sendEmail-v1.56.tar.gz?-C?/tmp cp?/tmp/sendEmail-v1.56/sendEmail?/usr/local/bin/ chmod?+x?zabbix:zabbix?/usr/local/bin/sendEmail |
3. 創建zabbix報警腳本目錄
| 1 2 | mkdir?-p?/usr/local/zabbix/alertscripts chown?-R?zabbix:zabbix?/usr/local/zabbix/alertscripts |
4. 修改zabbix服務端配置文件指定腳本目錄
| 1 2 3 | vim?/usr/local/zabbix/etc/zabbix_server.conf #?將AlertScriptsPath變量修改為如下,大概在448行左右 AlertScriptsPath=/usr/local/zabbix/alertscripts |
5. 測試sendEmail發送郵件(與步驟六二選一)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | sendEmail?-f?from@163.com?-t?to@qq.com?-s?smtp.163.com?-u?'test'?-o?message-content-type=html?-o?message-charset=utf8?-xu?from@163.com?-xp?'passwd'?-m?'test' Dec?24?23:01:59?zabbix?sendEmail[3612]:?Email?was?sent?successfully! #?收到此提示表示發送成功 #?-f?from@163.com????????????????????#?發件人郵箱地址 #?-t?to@qq.com?????????????????????#?收件人郵箱地址 #?-s?smtp.163.com???????????????????#?發件人郵箱的smtp服務器地址 #?-u?'test'??????????????????????#?郵件標題 #?-o?message-content-type=html?????????????#?郵件內容格式為html #?-o?message-charset=utf8???????????????#?郵件內容編碼為utf8 #?-xu?from@163.com??????????????????#?發件人郵箱登錄用戶名 #?-xp?'passwd'????????????????????#?發件人郵箱登錄密碼 #?-m?'test'??????????????????????#?郵件內容 #?編寫郵件警報腳本 vim?/usr/local/zabbix/alertscripes/sendEmail.sh #!/bin/bash to=$1 subject=$2 message=$3 smtp_server="smtp.163.com" /usr/local/bin/sendEmail?-f?from@163.com?-t?"$to"?-s?"$smtp_server"?-u?"$subject"?-o?message-content-type=html?-o?message-charset=utf8?-xu?from@163.com?-xp?"passwd"?-m?"$message" chmod?+x?sendEmail.sh chown?zabbix.zabbix?sendEmail.sh |
6. 使用163代理發送郵件(與步驟五二選一)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | yum?install?-y?mailx #?在文件最下方加入兩行163認證即可 vim?/etc/mail.rc #?設置發件人地址,smtp服務器 set?from=pyslinux@163.com?smtp=smtp.163.com #?設置發件人smtp認證用戶名和密碼(由于163開啟smtp后這里設置的是授權碼而非登錄密碼) set?smtp-auth-user=pyslinux@163.com?smtp-auth-password=密碼?smtp-auth=login #?測試郵件發送 mail?-s?'test'?xxx@qq.com?<?/etc/passwd #??編寫腳本 vim?/usr/local/zabbix/alertscripes/mail.sh #!/bin/bash echo?"$3"|mail?-s?"$2"??"$1" chmod?+x?/usr/local/zabbix/alertscripes/mail.sh |
7. zabbix頁面設置報警
I:進入到zabbix管理界面---->管理---->報警媒介類型---->創建媒體類型
名稱寫要顯示的媒體類型名稱、類型選擇腳本、腳本名稱寫腳本的全稱,腳本參數添加三個對應:收件人,標題,內容
{ALERT.SENDTO}{ALERT.SUBJECT}
{ALERT.MESSAGE}
選擇已啟用,點擊添加
II:主界面---->管理---->用戶---->創建用戶
填寫用戶的別名,密碼,選擇語言 創建用戶組--->添加用戶到用戶組--->勾選調試模式 權限--->組合權限--->添加---->選擇需要報警的主機---然后添加 IV:主界面--->配置--->動作 事件源選擇觸發器---->創建動作 點擊操作--->動作操作--->新的--->如下默認操作步驟持續時間60秒,步驟1-2,操作類型為發送消息,發送到用戶,用戶組(選擇新建的用戶和組),僅送到選擇剛才新建的媒介類型,添加。 解釋:? 默認的步驟是1-1,也即是從1開始到1結束。一旦故障發生,就是執行sendEmail.sh腳本發生報警郵件給Admin用戶和zabbix?administrator組。? 假如故障持續了1個小時,它也只發送一次。如果改成1-0,0是表示不限制.無限發送? 間隔就是默認持續時間60秒。那么一個小時,就會發送60封郵件。(步驟持續時間表示每隔多少秒發送一次)? 如果需要短信報警的話,可以再創建一條新的動作,選擇短信腳本。
8. 打開郵箱看是否收到郵件,也可以通過zabbix頁面看郵件是否發送:報表---->動作日志
確實收到郵件,但是內容顯示有點不友好,解決辦法:?
可以修改動作日志的內容格式?
點擊 配置->動作->打開剛才創建的動作?
在默認信息每一行后面添加<br/>?
列如:
Trigger: {TRIGGER.NAME}<br/>
Trigger status: {TRIGGER.STATUS}<br/>
Trigger severity: {TRIGGER.SEVERITY}<br/>
Trigger URL: {TRIGGER.URL}<br/>Item values:<br/>
1. {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}<br/>
2. {ITEM.NAME2} ({HOST.NAME2}:{ITEM.KEY2}): {ITEM.VALUE2}<br/>
3. {ITEM.NAME3} ({HOST.NAME3}:{ITEM.KEY3}): {ITEM.VALUE3}<br/>
Original event ID: {EVENT.ID}
因為我用sendEmail.sh腳本指定格式是html,所以換行就是<br/>
或者改成中文提示:
默認信息和恢復信息是一樣的
告警主機: {HOSTNAME1}<br/>
告警時間: {EVENT.DATE} {EVENT.TIME}<br/>
告警等級: {TRIGGER.SEVERITY}<br/>
告警信息: {TRIGGER.NAME}<br/>
告警項目: {TRIGGER.KEY1}<br/>
問題詳情: {ITEM.NAME}: {ITEM.VALUE}<br/>
當前狀態: {TRIGGER.STATUS}: {ITEM.VALUE1}<br/>
事件ID: {EVENT.ID}
本文轉自 運維小學生 51CTO博客,原文鏈接:http://blog.51cto.com/yasar/1884904,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的ZABBIX3.0配置邮件报警的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Insert Interval
- 下一篇: flex入门