天天看點

zabbix報警配置----郵件報警

zabbix報警配置----郵件報警

    • zabbix郵件報警
        • 安裝郵件服務
        • 配置服務,測試郵件發送功能
        • zabbix頁面配置郵件報警
        • 測試功能

zabbix郵件報警

安裝郵件服務

MTA和MUA:

通俗的說 MUA 就是使用者使用的用戶端,而 MTA 則是真正發送郵件的發送程序,MUA 編寫的郵件最終也交由 MTA 發送至目标端。

mailx是負責檢視、編寫郵件和向 MTA 發送郵件的 MUA。

sendmail,postfix :Sendmail和 postfix 即為負責郵件在網絡上傳輸的 MTA,将郵件從一個MTA傳送至另一個MTA。

  1. 安裝sendmail或者postfix其中一個。在zabbix-server端進行。
  • 安裝啟動postfix
[[email protected] ~]# rpm -qa postfix
postfix-2.10.1-7.el7.x86_64
[[email protected] ~]# systemctl start postfix
[[email protected] ~]# systemctl status postfix
[[email protected] ~]# 
           
  • 安裝mailx
[[email protected] ~]# rpm -qa mailx   #檢視已經安裝
mailx-12.5-19.el7.x86_64
[[email protected] ~]# yum install mailx -y     #沒有安裝的話使用yum安裝
           

配置服務,測試郵件發送功能

  1. 擷取收件郵箱用戶端授權碼。我用的是163郵箱。
    zabbix報警配置----郵件報警
  • 此時會讓掃描二維碼,發送短信驗證完成後擷取授權碼。
zabbix報警配置----郵件報警
  1. 修改 /etc/mail.rc 檔案,配置mail
set sendcharsets=iso-8859-1,utf-8
set [email protected]       #注冊的個人郵箱,用于 zabbix 服務端轉發郵件到指定郵箱。
set smtp=smtp.163.com           #填寫發送郵箱伺服器位址 smtp。
set [email protected]         #個人郵箱使用者
set smtp-auth-password=XXXXXXXXXXX         #郵箱用戶端授權密碼 
set smtp-auth=login
set ssl-verify=ignore        # #ssl認證方式
set nss-config-dir=/etc/pki/nssdb        #證書所在目錄 
           
  1. root環境 測試一下郵件是否能夠正常發送。
echo "zabbix test mail" |mail -s "zabbix QQ " [email protected]   想自己qq郵箱發送郵件。
           
zabbix報警配置----郵件報警
  1. 書寫發送腳本,zabbix使用者測試郵件發送
  • 修改zabbix配置檔案,指定腳本存放位置
[[email protected] ]# vim /etc/zabbix/zabbix_server.conf 
AlertScriptsPath=/usr/lib/zabbix/alertscripts       #預設位置
           
  • 書寫腳本,修改權限
[[email protected] ~]# cd /usr/lib/zabbix/alertscripts/
[[email protected] alertscripts]# vim sendmail.sh
[[email protected] alertscripts]# cat sendmail.sh
#!/bin/bash
#$1:目的郵箱位址
#$2:郵件标題
#$3:發送的内容
echo "$3" |mail -s "$2" $1 >> /tmp/sendmail.log 2>&1
           
[[email protected] alertscripts]# chown zabbix:zabbix sendmail.sh 
[[email protected] alertscripts]# chmod 755 sendmail.sh 
           
  • 将zabbix使用者/sbin/nologin改為/bin/bash
[[email protected] ~]# vim /etc/passwd
abbix:x:998:996:Zabbix Monitoring System:/var/lib/zabbix:/bin/bash
           
  • 測試
[[email protected] alertscripts]# su zabbix
bash-4.2$ sh sendmail.sh [email protected] zabbixtext "text from zabbix 192.168.126.133"
           

成功

zabbix報警配置----郵件報警

zabbix頁面配置郵件報警

  1. 建立報警媒介
zabbix報警配置----郵件報警
  • 自己定義名稱,類型選擇腳本。三個參數對應郵箱位址,郵件标題,郵件内容。
zabbix報警配置----郵件報警
  1. 添加報警媒介
  • 選擇admin使用者
zabbix報警配置----郵件報警
  • 添加報警媒介
zabbix報警配置----郵件報警
  • 選擇更新
zabbix報警配置----郵件報警
  • 若不是admin使用者,可以根據需要指定權限。管理者使用者不用修改,權限預設所有伺服器
    zabbix報警配置----郵件報警
  1. 建立動作:當zabbix-agent當機時發送郵件報警。
zabbix報警配置----郵件報警
  • 根據主機觸發器 Template App Zabbix Agent: Zabbix agent on {HOST.NAME} is unreachable for5 minutes 設定,主要監測 zabbix_agentd 用戶端連接配接情況。
zabbix報警配置----郵件報警
  • 定義操作,發送郵件規則和内容
zabbix報警配置----郵件報警

标題:故障{TRIGGER.STATUS},伺服器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!

預設資訊:

告警主機 IP 位址:{HOST.CONN}
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警資訊: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
目前狀态:{TRIGGER.STATUS}:{ITEM.VALUE1}
           
  • 定義恢複操作:恢複後如何發送郵件。
zabbix報警配置----郵件報警

标題:恢複{TRIGGER.STATUS}, 伺服器:{HOSTNAME1}: {TRIGGER.NAME}已恢複!

恢複資訊:

告警主機 IP 位址:{HOST.CONN}
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警資訊: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
目前狀态:{TRIGGER.STATUS}:{ITEM.VALUE1}
           

測試功能

  • 停止zabbix-agent用戶端
[[email protected] ]# systemctl stop zabbix-agent.service 
           
  • 檢視檢測結果
zabbix報警配置----郵件報警
  • 接收郵件
zabbix報警配置----郵件報警
下載下傳附件,檢視郵件内容
zabbix報警配置----郵件報警
  • 此時恢複zabbix-agent
[[email protected] ]# systemctl start zabbix-agent.service 
           

收到恢複郵件

zabbix報警配置----郵件報警

下載下傳檢視郵件内容:

zabbix報警配置----郵件報警

繼續閱讀