1. 程式人生 > >Zabbix 配置通過sendEmail傳送郵件報警

Zabbix 配置通過sendEmail傳送郵件報警

## 1、安裝sendEmail
### 1.1、下載安裝sendEmail
1. 通過Linux下載命令`wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz`(wget安裝命令:`rpm install wget`)
2. 直接通過上訴wget的地址手動下載。

直接解壓就可以進行安裝,具體操作如下:
# tar -xf sendEmail-v1.56.tar.gz -C /usr/local/
# mv /usr/local/sendEmail-v1.56/sendEmail /usr/bin
### 1.2、傳送郵件測試
# sendEmail -f

[email protected] -t [email protected] -s mail.hokai.com -u "郵件主題" -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp 123456 -m "郵箱內容"

- sendEmail : 傳送郵件命令主程式
- -f 發件人郵箱
- -t 收件人郵箱
- -s 發件人郵箱的smtp伺服器
- -u "我是郵件主題" 郵件的標題
- -o message-content-type=html 郵件內容的格式,html表示它是html格式可以是text
- -o message-charset=utf8 郵件內容編碼
- -xu

[email protected] 發件人郵箱的使用者名稱
- -xp 123456 發件人郵箱密碼
- -m 郵件的具體內容

## 2、Zabbix自定義指令碼報警介質

### 2.1、概述
zabbix媒介型別包括mail、sms、Jabber、自定義指令碼,我們用的最多的還是指令碼媒介,其他的我們就不做講解了。當事件通知到指令碼,會傳遞三個引數給它,分別為$1(傳送給誰) $2(標題) $3(內容)。

#### 2.2、媒介配置
點選administrator->media types->create media types
![建立媒體型別](配置通過sendEmail傳送郵件報警圖片/createMediaType.png)
media type 的屬性:

| Parameter | Description |
|--------|--------|
| Name | 自定義media type的名字 |
| Type | 選擇media type的型別 |
| Script name | 需要執行指令碼的檔名 |
| Script parameters | 指令碼需要的引數,{ALERT.SENDTO}, {ALERT.SUBJECT} 和 {ALERT.MESSAGE} 從3.0開始支援 |
script name:指令碼名稱(需要先定義AlertScriptsPath,sendEmail.sh放在這個目錄下,寫絕路路徑沒用)

#### 2.3、配置AlertScriptsPath
# vim /etc/zabbix/zabbix_server.conf
# AlertScriptsPath=/usr/lib/zabbix/alertscripts

#### 2.4、編寫指令碼
[[email protected] bin]# vim /usr/lib/zabbix/alertscripts/sendEmail.sh
#!/bin/bash
#unction:ZABBIX alarm mail
# author:jason liu
# date:20170325
to=$1
subject=$2
body=$3
sendEmail -f [email protected] -t "$to" -s mail.hokai.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp 123456 -m "$body"
編輯完成後,給指令碼指定執行許可權:chmod +x sendEmail.sh

### 2.5 為使用者指定媒介
![給使用者指定媒介](配置通過sendEmail傳送郵件報警圖片/addMediaType.png)

#### 2.6、建立報警動作
![action](配置通過sendEmail傳送郵件報警圖片/action.png)
![conditions](配置通過sendEmail傳送郵件報警圖片/conditions.png)
![operations](配置通過sendEmail傳送郵件報警圖片/operations.png)

#### 2.7、使用一個觸發器測試下郵件報警功能
定義或者enable一個觸發器,然後想辦法使這個觸發器出發。
#### 2.8、去事件中檢視實驗結果
![檢視結果](配置通過sendEmail傳送郵件報警圖片/result.png)