zabbix實現郵件報警

說明:mysql

zabbix服務端配置文件主要參數linux

LogFile=/tmp/zabbix_server.log  
DBName=zabbix   #zabbix的密碼
DBUser=root          #用來鏈接mysql的用戶名
DBPassword=    #密碼sql

DBHost=127.0.0.1 #本機
DBSocket=/data/mysql_3306/var/mysql_3306.sock    #mysql的sock端口
ListenIP=127.0.0.1bash

date.timezone = "Asia/Shanghai"服務器

Zabbix監控服務端、客戶端都已經部署完成,被監控主機已經添加,Zabiix監控運行正常。工具

實現目的:post

在Zabbix服務端設置郵件報警,當被監控主機宕機或者達到觸發器預設值時,會自動發送報警郵件到指定郵箱。測試

具體操做:ui

如下操做在Zabbix監控服務端進行阿里雲

備註:Zabbix監控服務端

操做系統:CentOS

使用外部郵箱帳號發送報警郵件設置:

1、關閉sendmail或者postfix

service sendmail stop #關閉

chkconfig sendmail off #禁止開機啓動

service postfix stop

chkconfig postfix off

備註:

使用外部郵箱帳號時,不須要啓動sendmail或者postfix

若是在sendmail或者postfix啓動的同時使用外部郵箱發送報警郵件,首先會讀取外部郵箱

配置信息。

2、安裝郵件發送工具mailx

yum install mailx #安裝

CentOS 5.x 編譯安裝mailx,直接yum安裝的mailx版本太舊,使用外部郵件發送會有問題。

yum remove mailx #卸載系統自帶的舊版mailx

下載mailx:

http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

tar jxvf mailx-12.4.tar.bz2 #解壓

cd mailx-12.4 #進入目錄

make #編譯

原來差補丁,修復他

[root@localhost mailx-12.4] # wget http://www.linuxfromscratch.org/patches/blfs/7.6/mailx-12.4-openssl_1.0.0_build_fix-1.patch
[root@localhost mailx-12.4] # patch -Np1 -i mailx-12.4-openssl_1.0.0_build_fix-1.patch  
patching  file  makeconfig 
patching  file  openssl.c
[root@localhost mailx-12.4] # make clean   #清除歷史編譯後文件

make install UCBINSTALL=/usr/bin/install #安裝

ln -s /usr/local/bin/mailx /bin/mail #建立mailx到mail的軟鏈接

ln -s /etc/nail.rc /etc/mail.rc #建立mailx配置文件軟鏈接

3、配置Zabbix服務端外部郵箱

vi /etc/mail.rc #編輯,添加如下信息

set from=xxx@163.com

set smtp=smtp.163.com   //添加發送人、發送服務器

set smtp-auth-user=xxx@163.com

set smtp-auth-password=123456   //添加發送人的郵箱和登陸密碼。

set smtp-auth=login  

:wq! #保存退出

echo "zabbix test mail" |mail -s "zabbix" yyy@163.com

#測試發送郵件,標題zabbix,郵件內容:zabbix test mail,發送到的郵箱:yyy@163.com或者zzz@139.com,發送短信的時候要在139郵箱上面開啓短信提醒。這裏我就不說了,本身百度去。

#這時候,郵箱yyy@163.com會收到來自xxx@163.com的測試郵件

4、配置Zabbix服務端郵件報警

一、打開Zabbix

管理-示警媒介類型-建立媒體類型

 

名稱:Sendmail

類型:腳本

腳本名稱:sendmail.sh

已啓用:勾選

二、設置Zabbix用戶報警郵箱地址

能夠添加163郵箱也能夠添加139郵箱。

 

 

 

類型:Sendmail

收件人:xxx@163.com

其餘默認便可,也可

以根據須要設置

狀態:已啓用

存檔

三、設置Zabbix觸發報警的動做

組態-動做-建立動做

名稱:Action-Email

默認接收人:故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!

默認信息:

告警主機:{HOSTNAME1}

告警時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}:{ITEM.VALUE}

當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

 

 

恢復信息:打鉤

 

 

恢復主旨:恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!

恢復信息:

告警主機:{HOSTNAME1}

告警時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}:{ITEM.VALUE}

當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已啓用:打鉤

 

切換到操做選項

新的

操做類型:送出信息

送到用戶:添加

默認信息:打鉤

選擇用戶:Admin

選擇

僅送到:Sendmail

存檔

四、添加Zabbix服務端郵件發送腳本

cd /usr/local/zabbix/share/zabbix/alertscripts #進入腳本存放目錄

vi sendmail.sh #編輯,添加如下代碼

#!/bin/sh

echo "$3" | mail -s "$2" $1

:wq! #保存退出

chown -R zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/*

zabbix_server.conf 文件中加入腳本的相對路徑

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

#設置腳本全部者爲zabbix用戶

chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#設置腳本執行權限

5、測試Zabbix報警

關閉Zabbix客戶端服務

service zabbix_agentd stop

查看你的xxx@163.com郵箱,會收到報警郵件

再開啓Zabbix客戶端服務

service zabbix_agentd start

查看你的xxx@163.com郵箱,會收到恢復郵件

使用外部郵箱帳號發送報警郵件設置完成。

至此,Zabbix郵件報警設置完成。

 

阿里雲不讓自建郵箱,是爲了防止郵件亂髮,又不發溯源
全部25端口所有被封

改用465端口
我選得163郵箱,建一個設置個複雜密碼一生不登錄了

上去設置裏開啓 SMTP pop 什麼的都點開

網上搜了搜,沒發現能成功測試的,都有一點報錯
下面個人版本,貼出來,你們用吧

遇到的報錯:"/root/dead.letter" 311/19508
553 Mail from must equal authorized user
反正挺噁心,2天才搞定

而後安裝mailx
yum install mailx

vi /etc/mail.rc

添加下面這些
set smtp="smtps://smtp.163.com:465"
set from="1111111111@163.com"
set smtp-auth=login
set smtp-auth-user="11111111@163.com"
set smtp-auth-password="111111111"
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb

測試cat /opt/1111 | mailx -v -s 'biaoti' '1111111111111@qq.com'

相關文章
相關標籤/搜索