天天看點

zabbix3.0.4 郵件告警詳細配置

sendEmail是一個輕量級,指令行的SMTP郵件用戶端。如果你需要使用指令行發送郵件,那麼sendEmail是非常完美的選擇:使用簡單并且功能強大.這個被設計用在php、bash

perl和web站點使用。

1.下載下傳軟體

2.建立目錄

mkdir /usr/local/bin
           

3.解壓軟體

tar zxf sendEmail-v1.tar.gz -C /usr/src
           

4.進入目錄

cd /usr/src/sendEmail-v1.
           

5.複制檔案,并設定權限

cp -a sendEmail /usr/local/bin
chmod +x /usr/local/bin/sendEmail
           

6.安裝元件

7.測試郵件功能

指令說明:

/usr/local/bin/sendEmail        指令主程式
-f [email protected]                 發件人郵箱
-t [email protected]                   收件人郵箱
-s smtp..com                 發件人郵箱的smtp伺服器
-u "我是郵件主題"                 郵件的标題
-o message-content-type=html    郵件内容的格式,html表示它是html格式
-o message-charset=utf8         郵件内容編碼
-xu [email protected]                發件人郵箱的使用者名
-xp                       發件人郵箱密碼
-m "我是郵件内容"                 郵件的具體内容
           
zabbix3.0.4 郵件告警詳細配置

8.檢視編輯腳本配置

進入zabbix自定義的指定目錄,我這裡是

/usr/local/zabbix

可以檢視zabbix_server.conf配置檔案AlertScriptsPath變量是如何定義的。

vim /usr/local/zabbix/etc/zabbix_server.conf
           

找到AlertScriptsPath選項,可以自定義位置

### Option: AlertScriptsPath
#       Full path to location of custom alert scripts.
#       Default depends on compilation options.
#
# Mandatory: no
# Default:
# AlertScriptsPath=${datadir}/zabbix/alertscripts

AlertScriptsPath=/usr/local/zabbix/alertscripts
           

cd /usr/local/zabbix/alertscripts/

9.編輯腳本

内容如下:

#!/bin/bash

to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail  -f [email protected] -t "$to" -s smtp..com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp password -m "$body"
           

說明:

[email protected] 替換成自己的發件郵箱

smtp.163.com 表示郵箱的smtp伺服器,這裡展示使用的是163郵箱,替換自己的郵箱SMTP位址

password 替換成發件郵箱密碼

10.編輯完成後,給腳本權限

chmod +x sendEmail.sh
chown zabbix.zabbix sendEmail.sh
           

11.web界面配置

進入zabbix管理頁面

點選管理->報警媒介類型 點選最右邊的建立媒體類型

zabbix3.0.4 郵件告警詳細配置

輸入腳本名稱,類型選擇腳本并添加以下3個參數,分别對應sendEmail.sh腳本需要的3個參數:收件人位址、主題、詳細内容

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
           
zabbix3.0.4 郵件告警詳細配置

解釋:很多人安裝zabbix 3.0之後,寫的腳本一直發信不成功,手動執行時可以的。

那是因為zabbix3.0之後,可以自定義參數了。是以不寫參數,它是不會傳參數的。

在2.x版本不存在這個問題,預設會傳3個參數。

點選Admin使用者

zabbix3.0.4 郵件告警詳細配置

點選報價媒介-添加

zabbix3.0.4 郵件告警詳細配置

選擇sendEmail.sh腳本,輸入收件人的郵箱位址

zabbix3.0.4 郵件告警詳細配置

點選使用者群組,點選zabbix administrator後面的調用模式,點選一下,就啟用了

zabbix3.0.4 郵件告警詳細配置

點選Zabbix administrators組名稱 點權限->添加

zabbix3.0.4 郵件告警詳細配置

選擇所有 點選更新。

點選配置->動作 點選預設的動作:

zabbix3.0.4 郵件告警詳細配置

點選操作->編輯:

zabbix3.0.4 郵件告警詳細配置

修改以下内容(實際情況,大家根據自己需求填寫,這裡僅僅為了展示)

修改持續時間為60秒

修改步驟為3,表示觸發3次動作

選擇使用者Admin

選擇僅送到sendEmail.sh

點選更新

zabbix3.0.4 郵件告警詳細配置

解釋:

預設的步驟是1-1,也即是從1開始到1結束。一旦故障發生,就是執行sendEmail.sh腳本發生報警郵件給Admin使用者和zabbix administrator組。

假如故障持續了1個小時,它也隻發送一次。如果改成1-0,0是表示不限制.無限發送

間隔就是預設持續時間60秒。那麼一個小時,就會發送60封郵件。

如果需要短信報警的話,可以再建立一條新的動作,選擇短信腳本。

我這裡添加一個條件,觸發後:

郵件發送後内容為:

zabbix3.0.4 郵件告警詳細配置

點選報表->動作日志 可以看到觸發動作的次數。隻會有3次,除非test主機狀态改變,也就是正常的時候,會觸發一次,否則不會再觸發。

zabbix3.0.4 郵件告警詳細配置

大家可以看到郵件裡面内容都堆到一起了,沒有換行,有點不爽。

可以修改動作日志的内容格式

點選 配置->動作->Report problems to Zabbix administrators

在預設資訊每一行後面添加

列如:

Trigger: {TRIGGER.NAME}<br/>
Trigger status: {TRIGGER.STATUS}<br/>
Trigger severity: {TRIGGER.SEVERITY}<br/>
Trigger URL: {TRIGGER.URL}<br/>

Item values:<br/>

 {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}<br/>
 {ITEM.NAME2} ({HOST.NAME2}:{ITEM.KEY2}): {ITEM.VALUE2}<br/>
 {ITEM.NAME3} ({HOST.NAME3}:{ITEM.KEY3}): {ITEM.VALUE3}<br/>

Original event ID: {EVENT.ID}
           

因為我用sendEmail.sh腳本指定格式是html,是以換行就是

<br/>

或者改成中文提示:

預設資訊和恢複資訊是一樣的

告警主機:&nbsp;{HOSTNAME1}<br/>
告警時間:&nbsp;{EVENT.DATE} {EVENT.TIME}<br/>
告警等級:&nbsp;{TRIGGER.SEVERITY}<br/>
告警資訊: &nbsp;{TRIGGER.NAME}<br/>
告警項目:&nbsp;{TRIGGER.KEY1}<br/>
問題詳情:&nbsp;{ITEM.NAME}:&nbsp;{ITEM.VALUE}<br/>
目前狀态:&nbsp;{TRIGGER.STATUS}:&nbsp;{ITEM.VALUE1}<br/>
事件ID:&nbsp;{EVENT.ID}
           
zabbix3.0.4 郵件告警詳細配置

參考資料 http://www.itnpc.com/news/web/146181043560596.html

http://blog.csdn.net/xiegh2014/article/details/52118643等