1. 程式人生 > 其它 >zabbix4.0-告警:配置郵件告警(bash指令碼:Linux系統mail命令)

zabbix4.0-告警:配置郵件告警(bash指令碼:Linux系統mail命令)

前言:

1、Linux是借用第三方的郵箱賬號,來發送郵件到指定使用者。 2、/etc/mail.rc配置檔案中from和smtp-auth-user指定的第三方郵箱使用者名稱必須相同。 3、使用它傳送郵箱還需要這個賬號的授權碼,以及對應的smtp有伺服器地址,然後才可以使用該郵箱傳送郵件。這也是為什麼這個授權碼讓你好好保管的原因,因為讓別人知道的話,只需要郵箱賬號,就可以使用你的郵箱號去傳送任何郵件了,授權碼和郵箱密碼從某種意義上是一樣的。

開始搭建

zabbix_server端配置:

1.安裝mail命令

#yum install -y mailx

2.編輯配置檔案/etc/mail.rc,在最下面新增如下內容

set bsdcompat
set sendcharsets=iso-8859-1,utf-8
set from=借用第三方郵箱賬號(對方收到郵件時顯示的發件人)
set smtp=指定第三方發郵件的smtp伺服器地址
set smtp-auth-user=借用第三方郵箱賬號
set smtp-auth-password=借用第三方郵箱的授權碼
set smtp-auth=login
-------------------------------
其中:
smtp郵箱若是qq郵箱,則為smtp.qq.com;若是163郵箱,則為smtp.163.com。
from和smtp-auth-user引數指定的第三方郵箱賬號要一致。
smtp
-auth=login:SMTP的認證方式,預設是login,也可以改成CRAM-MD5或PLAIN方式。

3.測試mail命令是否可以正常使用

  # echo "naowdoa" |mail -s "linux" [email protected]

  正常情況下,若成功,則不會返回報錯,且qq郵箱會收到對應的郵件。

4.在zabbix報警目錄下編寫傳送郵件指令碼。

[root@zabbix alertscripts]# cd /opt/zabbix/alertscripts
-----------------------------------------------------------------
編寫 
/opt/zabbix/alertscripts/mailx.sh [root@zabbix alertscripts]# vi mailx.sh #!/bin/bash #send mail messages=`echo $3 | tr '\r\n' '\n'` subject=`echo $2 | tr '\r\n' '\n'` echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1 ---------------------------------------------------------------- 修改許可權 #touch /tmp/mailx.log #chown -R zabbix.zabbix /tmp/mailx.log #chmod +x /opt/zabbix/alertscripts/mailx.sh #chown -R zabbix.zabbix /opt/zabbix/

5.測試郵件傳送指令碼是否可以正常傳送郵件

# /opt/zabbix/alertscripts/mailx.sh  接收的郵箱地址  "主題"  "內容"
即
#/opt/zabbix/alertscripts/mailx.sh   [email protected] "hello world"  "awiuhdiawoi"
若沒有返回報錯,則命令傳送成功

郵箱檢視

至此,zabbix_server端的mail配置等步驟,操作完成。然後到zabbix_web介面操作配置。

zabbix_web端配置:

1.管理--->報警媒介型別

2.管理---->使用者

選擇Admin使用者傳送郵件

3.配置----->動作

①動作頁面配置

②操作頁面配置

故障訊息內容:

SUBJECT內容:故障{TRIGGER.STATUS},伺服器名:{HOSTNAME1}發生: {TRIGGER.NAME}故障!

MESSAGE內容:
告警主機:{HOSTNAME}
告警主機IP地址:{HOST.IP}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警資訊: {TRIGGER.NAME}
告警專案:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

③恢復操作頁面配置

建立動作結果,如圖:


開始測試

①建立故障,人工使磁碟變滿:

# dd if=/dev/zero of=/root/a.txt bs=512M count=500

②等待zabbix_web頁面報警:儀表盤

③檢視郵箱

④消除報警後,檢視恢復郵件