本片博客主要介紹了[Zabbix] Centos 6下 Zabbix 3.4郵件報警配置及Zabbix郵件故障解決方法 ;分別介紹了zabbix使用本地賬號發送郵件報警及使用互聯網賬號發送郵件報警配置,並處理郵件發送故障“cannot connect to SMTP server "zabbix.itwish.cn": cannot connect to [[zabbix.itwish.cn]:25]: [111] Connection refused”及“Support for SMTP authentication was not compiled in”。
Zabbix Server報警
說明:
Zabbix監控服務端、客戶端都已經部署完成,被監控主機已經添加,Zabiix監控運行正常。Zabbix配置監控方式請參照前文:http://blog.51cto.com/itwish/2288052
實現:
在Zabbix服務端設置郵件報警,當被監控主機宕機或者達到觸發器預設值時,會自動發送報警郵件到指定郵箱。
Zabbix服務端只是單純的發送報警郵件到指定郵箱,發送報警郵件的這個郵箱賬號是Zabbix服務端的本地郵箱賬號,只能發送,不能接收外部郵件。
使用互聯網上可正常收發郵件的郵箱賬號(例如:[email protected]),通過在Zabbix服務端中設置,使其能夠發送報警郵件到指定郵箱。
Zabbix 使用本地賬號發送郵件報警配置
一、安裝郵件服務poxfix
[root@zabbix ~]# yum install postfix # 安裝postfix [root@zabbix ~]# service postfix start # 啓動postfix服務 [root@zabbix ~]# chkconfig postfix on # 開機自啓動 [root@zabbix mail]# ss -tunl # SMTP 25端口啓用 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port ... tcp LISTEN 0 100 ::1:25 :::* tcp LISTEN 0 100 127.0.0.1:25 *:*
二、安裝郵件發送工具mailx
[root@zabbix ~]# yum install mailx # 安裝郵件發送工具 [root@zabbix ~]# echo "Hello word" | mailx -s "hello" [email protected] # 測試發送郵件
注:
mailx是UNIX系統上用來處理郵件的工具,使用它可以發送,讀取郵件。
發送格式: mailx -s subject [email protected] < message_file 假設郵件內容存儲於msg文件中,用如下方法: mailx -s "test mail" [email protected] < msg 或者 cat msg | mailx -s "test mail" [email protected] 多個收件人之間用逗號分隔 cat msg | mailx -s "test mail" [email protected],[email protected] 也可以直接從命令行輸入郵件內容: mailx -s "test" [email protected] 上面這條命令會進入命令行輸入狀態,此時可以輸入內容,按Ctrl+d鍵來結束輸入。
三、配置zabbix郵件報警
報警介質類型配置:登陸web管理界面,進入“管理”——“報警媒介類型”——“Email”選項
名稱: Email
SMTP服務器: zabbix.itwish.cn (爲zabbix主機名稱)
SMTP服務器端口: 25
SMTP HELO: itwish.cn
SMTP電郵: [email protected]
勾選“已啓用”
點擊更新
用戶配置(收件人郵箱配置):登陸web管理界面,進入“管理”——“用戶”——“Admin”——“報警媒介”選項
類型: Email
收件人: ***@qq.com
勾選“如果存在嚴重性則使用”相關選項
勾選“已啓用”
點擊更新
動作配置:登陸web管理界面,進入“配置”——“動作”——“Report problems to Zabbix administrators”選項
名稱:Report problems to Zabbix administrators
添加觸發條件:“觸發器示警度 = **”
勾選”已啓用“
點擊更新
"操作"配置:登陸web管理界面,進入“配置”——“動作”——“Report problems to Zabbix administrators”——“操作”選項
默認操作時間: 1h
默認標題: 主機 {HOSTNAME} 在 {EVENT.DATE} {EVENT.TIME} 發生故障 {TRIGGER.NAME} {ITEM.VALUE}
告警主機:{HOSTNAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE}
事件ID:{EVENT.ID}
勾選“維護期間暫停操作”
點擊 “新的”
"操作細節"配置:
步驟:1 -1
操作類型:發送消息
發送到用戶:添加指定用戶
僅送到:Email
條件:“條件已確認 = 非確認”
點擊 "添加"
點擊“更新”
恢復配置:登陸web管理界面,進入“配置”——“動作”——“Report problems to Zabbix administrators”——“恢復操作”選項
默認操作時間: 1h
默認標題: 主機 {HOSTNAME} 於 {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} 恢復故障 ,當前狀態是 {ITEM.NAME} {ITEM.VALUE}
恢復主機:{HOSTNAME}
恢復時間:{EVENT.DATE} {EVENT.TIME}
恢復故障:{ITEM.NAME}:{ITEM.VALUE}
告警等級:{TRIGGER.SEVERITY}
恢復信息: {TRIGGER.NAME}
恢復項目:{TRIGGER.KEY}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE}
事件ID:{EVENT.ID}
點擊 “新的”
"操作細節"配置
操作類型:發送消息
發送到用戶:添加指定用戶
僅送到:Email
點擊 "添加"
點擊“更新”
四、測試zabbix報警
關閉zabbix server 中zabbix_agentd 服務測試,關閉網絡設備端口測試
發送郵件報錯:cannot connect to SMTP server "zabbix.itwish.cn": cannot connect to [[zabbix.itwish.cn]:25]: [111] Connection refused
故障原因: SMTP 25 端口未監聽zabbix.itwish.cn 主機ip
解決方法:配置postfix 腳本配置文件,對zabbix.itwish.cn 主機ip 地址進行監聽
[root@zabbix ~]# vi /etc/postfix/ # 調整postfix 腳本配置文件 inet_interfaces = localhost,zabbix.itwish.cn,172.16.10.5 # 修改該項,把localhost 修改爲localhost,zabbix.itwish.cn,172.16.10.5 [root@zabbix ~]# service postfix restart Shutting down postfix: [ OK ] Starting postfix: [ OK ] [root@zabbix ~]# ss -tunl # 服務器監聽本機ip 25端口 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp LISTEN 0 100 172.16.10.5:25 *:* tcp LISTEN 0 100 127.0.0.1:25 *:*
郵箱驗證
Zabbix Server使用互聯網郵箱賬號發送郵件報警
一、安裝郵件發送工具mailx
[root@zabbix ~]# service postfix stop # 關閉postfix 服務 Shutting down postfix: [ OK ] [root@zabbix ~]# chkconfig postfix off [root@zabbix ~]# yum install mailx # 安裝郵件發送工具 [root@zabbix ~]# echo "Hello word" | mailx -s "hello" [email protected] # 測試發送郵件 [root@zabbix ~]# whereis mailx # 查看mailx路徑 mailx: /bin/mailx /usr/share/man/man1/mailx.1.gz /usr/share/man/man1p/mailx.1p.gz [root@zabbix ~]# mailx -V # 查看mailx版本 12.4 7/29/08
二、配置Zabbix服務端外部郵箱
配置mailx配置文件mail.rc
[root@zabbix ~]# vi /etc/mail.rc #編輯,添加以下信息 set [email protected] smtp=smtp.qq.com set [email protected] smtp-auth-password=123456 # 分別爲郵箱賬號及郵箱密碼 set smtp-auth=login :wq! #保存退出 [root@zabbix ~]# echo "zabbix test mail" |mail -s "zabbix" [email protected] #測試發送郵件,標題zabbix,郵件內容:zabbix test mail,發送到的郵箱:[email protected]
郵箱測試 ,
三、配置zabbix郵件報警
報警介質類型配置:登陸web管理界面,進入“管理”——“報警媒介類型”——“Email”選項
名稱 Email
SMTP服務器smtp.qq.com
SMTP服務器端口 25
SMTP HELO qq.com
SMTP電郵 [email protected]
勾選“已啓用”
點擊更新
用戶配置:進入“管理”——“用戶”——“Admin”——“報警媒介”選項
類型 Email
收件人 ***@qq.com
勾選“如果存在嚴重性則使用”相關選項
勾選“已啓用”
點擊更新
動作配置:登陸web管理界面,進入“配置”——“動作”——“Report problems to Zabbix administrators”選項
名稱:Report problems to Zabbix administrators
添加觸發條件:“觸發器示警度 = **”
勾選”已啓用“
點擊更新
"操作"配置:登陸web管理界面,進入“配置”——“動作”——“Report problems to Zabbix administrators”——“操作”選項
默認操作時間: 1h
默認標題: 主機 {HOSTNAME} 在 {EVENT.DATE} {EVENT.TIME} 發生故障 {TRIGGER.NAME} {ITEM.VALUE}
告警主機:{HOSTNAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE}
事件ID:{EVENT.ID}
勾選“維護期間暫停操作”
點擊 “新的”
"操作細節"
步驟:1 -1
操作類型:發送消息
發送到用戶:添加指定用戶
僅送到:Email
條件:“條件已確認 = 非確認”
點擊 "添加"
點擊“更新”
恢復配置:登陸web管理界面,進入“配置”——“動作”——“Report problems to Zabbix administrators”——“恢復操作”選項
默認操作時間: 1h
默認標題: 主機 {HOSTNAME} 於 {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} 恢復故障 ,當前狀態是 {ITEM.NAME} {ITEM.VALUE}
恢復主機:{HOSTNAME}
恢復時間:{EVENT.DATE} {EVENT.TIME}
恢復故障:{ITEM.NAME}:{ITEM.VALUE}
告警等級:{TRIGGER.SEVERITY}
恢復信息: {TRIGGER.NAME}
恢復項目:{TRIGGER.KEY}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE}
事件ID:{EVENT.ID}
點擊 “新的”
"操作細節"
操作類型:發送消息
發送到用戶:添加指定用戶
僅送到:Email
點擊 "添加"
點擊“更新”
四、測試zabbix 報警
模擬關閉監控的網絡設備端口 ,觀察zabbix報警狀態
故障:Support for SMTP authentication was not compiled in ,無法正常發送郵件
解決辦法:升級curl ,並重新編譯zabbix
[root@zabbix ~]# vi /etc/yum.repos.d/CentOS-Base.repo # 添加如下內容,curl源 [city-fan] name=CentOS -$releasever - City-fan baseurl=http://mirror.city-fan.org/ftp/contrib/yum-repo/rhel6Server/x86_64/ gpgcheck=0 enabled=1 [root@zabbix ~]# yum upgrade libcurl # 升級libcurl [root@zabbix zabbix]# cd zabbix-3.4.14 # 進入zabbix解壓包 ,重新編譯安裝 [root@zabbix zabbix-3.4.14]# ./configure \--prefix=/usr/local/zabbix \ --enable-server \ --enable-agent \ --enable-ipv6 \ --with-mysql \ --with-libxml2 \ --with-net-snmp \ --with-libevent \ --with-openssl \ --with-libcurl \ --with-libpcre \ --with-iconv \ --with-ssh2 \ --with-ldap \ --with-openipmi [root@zabbix zabbix-3.4.14]# make && make install [root@zabbix zabbix]# service zabbix_server restart # 重啓zabbix_server 服務 Shutting down zabbix_server: [ OK ] Starting zabbix_server: [ OK ]
故障解決:郵件可正常發送
至此,通過配置兩種方式,實現了郵件報警功能。分別是通過本地服務器發送郵件報警配置 及互聯網郵箱賬號發送郵件報警配置。
轉載請註明出處:http://blog.51cto.com/itwish