CentOS7.3下Zabbix3.5之郵件報警配置
一、郵件客戶端以及腳本相關配置
1、安裝sendmail,一般操作系統默認安裝了
安裝
yum install sendmail
啟動
service sendmail start
設置開機啟動
chkconfig sendmail on
2、安裝郵件發送工具mailx,一般操作系統默認安裝了
yum install mailx -y
3、設置發送郵件的email,用於郵件發送
vim /etc/mail.rc
#一般公司會有專門的報警發件郵箱,如果沒有,可以找公司申請 set [email protected] #公司發件服務器地址smtp set smtp=smtp.sina.com #發件郵箱用戶名 set [email protected] #發件郵箱密碼 set smtp-auth-password=xxxxxxx #登錄 set smtp-auth=login
4、給zabbix服務器端編寫郵件發送腳本
在/etc/zabbix/zabbix_server.conf 文件下找到放監控腳本的目錄,找到後可以自定義目錄,也可以使用該目錄,我使用了默認的目錄
/usr/lib/zabbix/alertscripts
vim /usr/lib/zabbix/alertscripts/sendmail.sh
#!/bin/bash
#$3消息內容 messages=`echo $3 | tr ‘\r\n‘ ‘\n‘`
#$2消息主題 subject=`echo $2 | tr ‘\r\n‘ ‘\n‘`
#$1收件人郵箱 echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1
5、給腳本執行權限和zabbix屬主、屬組
chown zabbix.zabbix /etc/zabbix/alertscripts/sendmail.sh chmod +x /etc/zabbix/alertscripts/sendmail.sh
6、給日誌賦予權限:
chown zabbix.zabbix /tmp/sendmail.log
7、測試
/usr/lib/zabbix/alertscripts/sendmail.sh [email protected] "郵件標題test" "郵件內容test"
二、zabbix後臺配置,登錄zabbix控制臺
1、zabbix控制臺上依次選擇 Administration---->Media types---->Create media type ,進入告警方式配置界面,創建sendmail.sh告警方式
說明:
Name:可以隨便自己定義
Type:選擇scripts;
Script name:輸入linux下編寫的腳本名稱,即sendmail.sh
Script parameters:點擊Add分別添加,3個參數,分別對應sendEmail.sh腳本需要的3個參數:收件人地址、主題、詳細內容然後點擊Add添加完成.
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
2、點擊Administration---->Users,進入用戶配置界面
點擊Admin用戶,在”Media”選項卡中配置用戶接收告警的郵箱地址。點擊”Add”,在彈出的窗口中輸入用戶郵箱
點擊User groups,點擊zabbix administrator組status,啟用enable狀態
3、設置Zabbix觸發報警的動作
Configuration--->Action 點擊右上方的Create action創建action (也可以修改已有的Actions)
Name 名字自己隨便定義(命名方式便於區分報警類型)
condition 通add按鈕定義新的action關聯條件
點擊 Configuration---> Actions --->Operations:
Default subject 定義收到郵件頭的信息.
Default message 定義郵件的內容信息
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
點擊 Configuration---> Actions --->Recovery Operations:
Recovery message
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
修改以下內容(實際情況,根據需求填寫)
Default operation step duration 為60秒
Steps 為3,表示觸發3次動作
Send to User groups 選擇Zabbix administrators
Send to Users 選擇 Admin (Zabbix Administrator)
Send only to 選擇 sendmail.sh
點擊Add --->update--update
說明:
默認的步驟是1-1,也即是從1開始到1結束。一旦故障發生,就是執行sendEmail.sh腳本發生報警郵件給Admin用戶和zabbix administrator組。
假如故障持續了1個小時,它也只發送一次。如果改成1-0,0是表示不限制.無限發送間隔就是默認持續時間60秒。那麽一個小時,就會發送60封郵件
查看Reports | Action log 查看日誌信息和發送狀態.
CentOS7.3下Zabbix3.5之郵件報警配置