1. 程式人生 > >CentOS7.3下Zabbix3.5之郵件報警配置

CentOS7.3下Zabbix3.5之郵件報警配置

執行權 就會 郵箱地址 郵件標題 編寫 區分 min val 步驟

一、郵件客戶端以及腳本相關配置

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之郵件報警配置