Linux(centos6)環境zabbix 3.4郵件報警配置及zabbix故障處理

本片博客主要介紹了[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」。
mysql


Zabbix Server報警linux


說明:web

Zabbix監控服務端、客戶端都已經部署完成,被監控主機已經添加,Zabiix監控運行正常。Zabbix配置監控方式請參照前文:http://www.javashuo.com/article/p-zxogddqv-m.html sql

實現:bash

在Zabbix服務端設置郵件報警,當被監控主機宕機或者達到觸發器預設值時,會自動發送報警郵件到指定郵箱。服務器

  1. Zabbix服務端只是單純的發送報警郵件到指定郵箱,發送報警郵件的這個郵箱帳號是Zabbix服務端的本地郵箱帳號,只能發送,不能接收外部郵件。網絡

  2. 使用互聯網上可正常收發郵件的郵箱帳號(例如:xxx@qq.com),經過在Zabbix服務端中設置,使其可以發送報警郵件到指定郵箱。ssh


Zabbix 使用本地帳號發送郵件報警配置curl


1、安裝郵件服務poxfixtcp

[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                                                      *:*

2、安裝郵件發送工具mailx

[root@zabbix ~]# yum install mailx    # 安裝郵件發送工具

[root@zabbix ~]# echo "Hello word" | mailx -s "hello" 345876547@qq.com    # 測試發送郵件

注:

mailx是UNIX系統上用來處理郵件的工具,使用它能夠發送,讀取郵件。

發送格式:
mailx -s subject XXX@163.com < message_file
假設郵件內容存儲於msg文件中,用以下方法:
mailx -s "test mail" XXX@163.com < msg
或者
cat msg | mailx -s "test mail" XXX@163.com
多個收件人之間用逗號分隔
cat msg | mailx -s "test mail" XXX@163.com,XX2@163.com
也能夠直接從命令行輸入郵件內容:
mailx -s "test" XXX@163.com
上面這條命令會進入命令行輸入狀態,此時能夠輸入內容,按Ctrl+d鍵來結束輸入。

3、配置zabbix郵件報警

  • 報警介質類型配置:登錄web管理界面,進入「管理」——「報警媒介類型」——「Email」選項

    名稱: Email 

    SMTP服務器: zabbix.itwish.cn (爲zabbix主機名稱)

    SMTP服務器端口: 25 

    SMTP HELO: itwish.cn 

    SMTP電郵: zabbix@itwish.cn 

    勾選「已啓用」 

    點擊更新    

    image.png

  • 用戶配置(收件人郵箱配置):登錄web管理界面,進入「管理」——「用戶」——「Admin」——「報警媒介」選項

    類型:  Email 

    收件人:  ***@qq.com  

    勾選「若是存在嚴重性則使用」相關選項 

    勾選「已啓用」 

    點擊更新

    image.png

    image.png

  • 動做配置:登錄web管理界面,進入「配置」——「動做」——「Report problems to Zabbix administrators」選項

    名稱:Report problems to Zabbix administrators

    添加觸發條件:「觸發器示警度 = **」

    勾選」已啓用「

    點擊更新

    image.png

  • "操做"配置:登錄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}

    勾選「維護期間暫停操做」

    image.png

    點擊 「新的」 

    "操做細節"配置:

    步驟:1 -1

    操做類型:發送消息

    發送到用戶:添加指定用戶 

    僅送到:Email

    條件:「條件已確認 = 非確認」

    點擊 "添加"

    點擊「更新」

    image.png

    image.png

  • 恢復配置:登錄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}

    image.png

    點擊 「新的」 

    "操做細節"配置

    操做類型:發送消息

    發送到用戶:添加指定用戶 

    僅送到:Email

    點擊 "添加"

    點擊「更新」

    image.png

    image.png

4、測試zabbix報警

關閉zabbix server 中zabbix_agentd 服務測試,關閉網絡設備端口測試

在zabbix 3.4 服務器端配置本地帳號進行郵件報警時,郵件發送失敗。提示「cannot connect to SMTP server "**": cannot connect to [[**]:25]: [111] Connection refused」。以下圖

    image.png   

故障緣由: zabbix服務器未監聽主機 IP 25端口

解決方法:配置postfix 腳本配置文件,對服務器端主機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                                    *:*

故障解決 

   image.png

郵箱驗證

    image.png


Zabbix Server使用互聯網郵箱帳號發送郵件報警


1、安裝郵件發送工具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" 345876547@qq.com    # 測試發送郵件

[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

2、配置Zabbix服務端外部郵箱

  • 配置mailx配置文件mail.rc 

[root@zabbix ~]# vi /etc/mail.rc    #編輯,添加如下信息
set from=xxx@qq.com smtp=smtp.qq.com
set smtp-auth-user=xxx@qq.com smtp-auth-password=123456    # 分別爲郵箱帳號及郵箱密碼
set smtp-auth=login
:wq! #保存退出

[root@zabbix ~]# echo "zabbix test mail" |mail -s "zabbix" 345876547@qq.com    
#測試發送郵件,標題zabbix,郵件內容:zabbix test mail,發送到的郵箱:345876547@qq.com
  • 郵箱測試 ,

    image.png

3、配置zabbix郵件報警

  • 報警介質類型配置:登錄web管理界面,進入「管理」——「報警媒介類型」——「Email」選項

    名稱 Email 

    SMTP服務器smtp.qq.com

    SMTP服務器端口 25 

    SMTP HELO qq.com

    SMTP電郵 345876547@qq.com

    勾選「已啓用」 

    點擊更新    

    image.png

  • 用戶配置:進入「管理」——「用戶」——「Admin」——「報警媒介」選項

    類型  Email 

    收件人  ***@qq.com  

    勾選「若是存在嚴重性則使用」相關選項 

    勾選「已啓用」 

    點擊更新

    image.png

    image.png

  • 動做配置:登錄web管理界面,進入「配置」——「動做」——「Report problems to Zabbix administrators」選項

    名稱:Report problems to Zabbix administrators

    添加觸發條件:「觸發器示警度 = **」

    勾選」已啓用「

    點擊更新

    image.png

  • "操做"配置:登錄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}

    勾選「維護期間暫停操做」

    image.png    

    點擊 「新的」 

    "操做細節"

    步驟:1 -1

    操做類型:發送消息

    發送到用戶:添加指定用戶 

    僅送到:Email

    條件:「條件已確認 = 非確認」

    點擊 "添加"

    點擊「更新」

    image.png

    image.png

  • 恢復配置:登錄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}

    image.png

    點擊 「新的」 

    "操做細節"

    操做類型:發送消息

    發送到用戶:添加指定用戶 

    僅送到:Email

    點擊 "添加"

    點擊「更新」

    image.png

    image.png

4、測試zabbix 報警

模擬關閉監控的網絡設備端口 ,觀察zabbix報警狀態 

zabbix服務器端配置外網郵箱帳號進行發送郵件時,郵件發送失敗;提示: 「Support for SMTP authentication was not compiled in 」

    image.png

故障緣由:要求curl版本最低7.20.0,系統curl版本號太低 。

解決辦法:升級libcurl ,並從新編譯zabbix

[root@zabbix ~]# curl -V    # 查看curl版本號
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2

[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  ]

故障解決:

    image.png

    image.png

至此,經過配置兩種方式,實現了郵件報警功能。分別是經過本地服務器發送郵件報警配置 及互聯網郵箱帳號發送郵件報警配置。

轉載請註明出處:https://blog.51cto.com/itwish 

相關文章
相關標籤/搜索