1. 程式人生 > >zabbix之 qq郵件報警

zabbix之 qq郵件報警

故障 failure link tail splay 服務啟動 修改配置 郵件 原因

一、安裝sendmail或postfix
[root@zabbix ~]# yum install sendmail –y #在線yum安裝sendmail
[root@zabbix ~]# service sendmail start #啟動sendmail服務
[root@zabbix ~]# chkconfig sendmail on #設置開機啟動
CentOS 5.x 默認已經安裝好sendmail (這個可以查一下)
CentOS 6.x 默認已經安裝好postfix (這個可以查一下)
sendmail和postfix只需要安裝一個即可並開啟服務即可。
[root@zabbix ~]# /etc/init.d/sendmail status #查看sendmail啟動情況
sendmail 已死,但是 subsys 被鎖
sm-client (pid 2113) 正在運行... #sendmail進程鎖住,原因是postfix服務啟動導致sendmail服務進程鎖住,需要關閉postfix服務
[root@zabbix ~]# /etc/init.d/postfix stop #暫停postfix服務
[root@zabbix ~]# chkconfig postfix off #設置postfix開機不啟動
[root@zabbix ~]# /etc/init.d/sendmail stop #暫停sendmail服務
[root@zabbix ~]# /etc/init.d/sendmail start #啟動sendmail服務
[root@zabbix ~]# /etc/init.d/sendmail status #查看sendmail啟動情況
sendmail (pid 2475) 正在運行...
sm-client (pid 2485) 正在運行...

二、安裝郵件發送工具mailx
[root@zabbix ~]# yum remove mailx #卸載系統自帶的舊版mailx
[root@zabbix ~]# yum install mailx –y #安裝
[root@zabbix ~]#mailx -V #查看版本信息
[root@zabbix ~]# whereis mailx #查看安裝路徑

利用外部的smpt服務器
而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的smtp服務器發送郵件的目的:
[root@zabbix ~]# vim /etc/mail.rc 修改/etc/mail.rc
set [email protected] smtp=smtp.qq.com
set [email protected] smtp-auth-password=********
set smtp-auth=login
說明:
from是發送的郵件地址
smtp是發生的外部smtp服務器的地址
smtp-auth-user是外部smtp服務器認證的用戶名
smtp-auth-password是外部smtp服務器認證的用戶密碼,在qq郵箱中設置生成 (郵箱密碼使用SMTP授權碼)
smtp-auth是郵件認證的方式
配置成功後,就可以使用了
可以發送一封郵件測試一下:
[root@zabbix ~]# mailx -s "mail from linux" [email protected] < zabbixtest.txt 其中-s後面的是郵件標題,[email protected]是收件人地址,zabbixtest.txt裏面是郵件正文(先創建zabbixtest.txt寫入內容)
收到郵件如下:

技術分享圖片技術分享圖片?

編寫郵件發送腳本sendmail.sh

[root@zabbix ~]#cd /usr/local/zabbix/share/zabbix/alertscripts/ #進入zabbix默認存放腳本路徑

[root@zabbix alertscripts]# vim sendmail.sh #編寫發送郵件腳本

#!/bin/bash

messages=`echo $3 | tr ‘\r\n‘ ‘\n‘`

subject=`echo $2 | tr ‘\r\n‘ ‘\n‘`

echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1

[root@zabbix ~]# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#sendmail.sh腳本修改所屬用戶和用戶組

[root@zabbix ~]# chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#sendmail腳本賦予執行權限

[root@zabbix ~]# ls -l /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

-rwxr-xr-x. 1 zabbix zabbix 153 10月 25 15:09 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#查看sendmail.sh腳本權限相關信息

[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf #配置zabbix_server.conf配置文件

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

#加入一行sendmail.sh腳本存放路徑

[root@zabbix ~]# su zabbix #切換zabbix用戶

[zabbix@zabbix root]$ /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh [email protected] "test linux" "test"

#用zabbix用戶執行sendmail.sh腳本看是否有權限,發件成功,郵件如下:

技術分享圖片技術分享圖片?

進入Zabbix後臺web介面配置

1、管理 ----報警媒介類型-----創建媒介類型。

技術分享圖片技術分享圖片?

2、名稱可以隨便自己定義-----類型選擇“腳本”-----腳本名稱輸入上一步編寫的發送郵件的腳本名稱----

再添加以下3個參數,分別對應腳本需要的3個參數:收件人地址、主題、詳細內容:

{ALERT.SENDTO} #收件人地址

{ALERT.SUBJECT} #主題

{ALERT.MESSAGE} #詳細內容

技術分享圖片技術分享圖片?

3、管理----用戶-----選擇admin用戶(自己創建一個用戶也可以)。

技術分享圖片技術分享圖片?

4、報警媒介----添加。

技術分享圖片技術分享圖片?

5、類型輸入剛剛創建的報警媒介類型sendmail腳本---輸入個人郵箱用於接收報警郵件---啟動打勾----添加。

技術分享圖片技術分享圖片?

6、選擇更新。

技術分享圖片技術分享圖片?

7、權限設置(管理員用戶不用修改,權限默認所有服務器,如果要分類權限需要在用戶組進行控制)。

技術分享圖片技術分享圖片?

8、管理---用戶群組,需要把剛剛添加的

技術分享圖片技術分享圖片?

技術分享圖片技術分享圖片?

9、配置----動作----創建動作。

技術分享圖片技術分享圖片?

10、動作----名稱自定義---設置一條新的觸發條件----啟用----添加。(觸發條件根據實際情況設置) “觸發器名稱”、“ 似”、方框可填入“is unreachable for 5 minutes”#根據主機觸發器 Template App Zabbix Agent:Zabbix agent on {HOST.NAME} is unreachable for 5 minutes設置,主要監測zabbix_agentd客戶端連接情況。

技術分享圖片技術分享圖片?

11、配置---動作---操作(自定義的,根據自己的需求定義)。

技術分享圖片技術分享圖片?

默認接收人: fault {trigger.status}, server: {HOSTNAME1} occurs: {trigger.name} failure!

默認信息: alarm HOST IP address: {host.conn}

Alarm host: {HOSTNAME1}

Alarm TIME: {event.date} {event.time}

Alarm level: {trigger.severity}

Warning: {trigger.name}

Alarm project: {trigger.key1}

Details: {item.name} : {item.value}

Current STATUS: {trigger.status} : {item.value1}

12、配置---動作---恢復操作(自定義的,根據自己的需求定義)。

技術分享圖片技術分享圖片?

默認接收人:: restore {trigger.status}, server: {HOSTNAME1}: {trigger.name} has been restored!

恢復信息: alarm HOST IP address: {host.conn}

Alarm host: {HOSTNAME1}

Alarm TIME: {event.date} {event.time}

Alarm level: {trigger.severity}

Warning: {trigger.name}

Alarm project: {trigger.key1}

Details: {item.name} : {item.value}

Current STATUS: {trigger.status} : {item.value1}

13、已經設置好了,我們測試一下。檢測中---儀表板,在 “系統狀態”可以看到,有一個一般嚴重的故障,把鼠標放在1的位置就能看到相關信息。

技術分享圖片技術分享圖片?

14、報表---動作日誌,可以看到發件的狀態:已發送及內容(我這亂碼了)。

技術分享圖片技術分享圖片?

15、返回郵箱,可以看到郵件報警內容了。(我這亂碼了)。

技術分享圖片技術分享圖片?

zabbix之 qq郵件報警