Zabbix3.4郵件報警配置詳解

Zabbix3.4郵件報警配置詳解


一、郵件報警有兩種情況:

1Zabbix服務端只是單純的發送報警郵件到指定郵箱,發送報警郵件的這個郵箱賬號是Zabbix服務端的本地郵箱賬號,只能發送,不能接收外部郵件。

2,使用一個可以在互聯網上正常收發郵件的郵箱賬號(例如:@163.com),通過在Zabbix服務端中設置,使其能夠發送報警郵件到指定郵箱。

3,在這裏我們採用是第二種方式來完成郵件告警任務。經過我的測試發現QQ不能發送郵件會被屏蔽,改用163需要配置客戶端授權密碼’郵件可以發;

   但是問題是郵件有5分鐘 左右的延時,後來我測試sina郵件可以正常使用。


二、準備的環境說明:

Hostname

IPADDRE

OS-Releases

Applacation

Zabbix_Server

10.93.58.41

Centos7.5

Zabbix_server

LinuxAgent

10.93.58.66

Centos7.3

Zabbix_agent

LinuxTest

10.93.58.70

Centos6.10

Zabbix_agent


三、實驗目的:

1,  Server運行時長超過3個月(180天)觸發告警;表達式爲:{Templates Uptime Warm:checkuptime.last()}>180

2,  Server運行時磁盤I/O使用率達到閾值告警。

3,  邏輯卷或者是分區使用率達到閾值告警。


四、邏輯關係:

開始之前先你需要整理一下郵件告警的邏輯關係,以便你更好的理解郵件告警的原理;

1,創建主機主機。

2,創建一個用戶組如:Linuxgroup將創建主機加入到linuxgroup

3,創建一個模板,將需要監控的主機加入到模板裏面去

4,創建模板後,然後選中主機---選中模板-----創建監控項---創建觸發器---創建圖形

5,配置管理-----報警媒介-----創建一個報警介質----腳本-------參數設置-----

6,管理----用戶----選中一個用戶(Admin----添加報警媒介----選中類型-----收件人----

7,最後配置動作------操作----關聯的用戶或者是用戶組。

8,這樣纔可以使你的監控系統生效。


五、正式開始安裝:

1,  調整語言爲簡體中文;你如果認爲你的英語OK,此步驟略過;

選擇簡體中文.jpg

2,然後你會發現字體顯示不全,你還需要調整一下字體:

[root@mediawiki ~]# yum -y install wqy-microhei-fonts
[root@mediawiki ~]#cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

3,在客戶端 安裝agent端並修改被監控端的zabbix_agent.conf配置文件:

[root@LinuxAgent ~]#  rpm -ivh  
[root@LinuxAgent ~]#yum -y install zabbix-agent
[root@LinuxAgent ~]#grep -v '^$' /etc/zabbix/zabbix_agentd.conf.bak |grep -v '^#'>/etc/zabbix/zabbix_agentd.conf
[root@LinuxAgent ~]#cat /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.93.58.41
ServerActive=10.93.58.41:10050
Hostname=10.93.58.66
UnsafeUserParameters=1
UserParameter=checkuptime,cat /proc/uptime| awk -F. '{run_days=$1 / 86400;print(run_days)}'
Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@LinuxAgent ~]#/etc/init.d/zabbix-agent start
[root@LinuxAgent ~]#netstat -lntup |grep zabbix_agent

4,新建主機,並將主機添加到zabbix_server 和Template OS Linux模板中:(先添加主機,然後關聯到模板

添加的主機1.jpg

下面的Template Uptime Warm 暫時不要管,先添加Template Zabbix Server 和Template OS Linux 即可。

添加模板.jpg

5,新建一個模板Template Uptime Warm:

創建模板.jpg

自定義模板名稱和所屬組就,接着把關聯的ip:10.93.58.66也添加到這個模板組裏面。

自定模板.jpg

最後的效果是這樣:

template3.jpg

6,創建監控項:

監控項.jpg

7,創建觸發器:爲了方便測試告警需要把表達式改爲{Templates Uptime Warm:checkuptime.last()}>0.1


觸發器.jpg

8,創建圖形:(Template Uptime Warm 主機運行時長告警)

添加Graph.jpg

web端設置先到這裏需要到server端設置郵件功能:


六、郵件推送:

1,爲了不影響郵件收發功能需要停止POSTfix:

[root@zabbix-server ~]# systemctl stop postfix
[root@zabbix-server ~]# systemctl disable postfix

2,安裝郵件發送工具mailx:

[root@zabbix-server ~]# yum -y install mailx
[root@zabbix-server ~]# mail -V

3,配置外部郵箱:

[root@zabbix-server ~]#cp /etc/mail.rc /etc/mail.rc.bak 
[root@zabbix-server ~]#grep -v "^$" /etc/mail.rc.bak |grep -v "^#" >/etc/mail.rc
[root@zabbix-server ~]# vim /etc/mail.rc   #在最末端添加
set [email protected]
set smtp=smtp.sina.com
set [email protected]
set smtp-auth-password=xxx
set smtp-auth=login

4,測試你的配置是否正確發一封測試郵件試試:

[root@zabbix-server ~]# echo "zabbix test mail 123" | mail -s "zabbix" [email protected]

5,編寫郵件發送腳本:

[root@zabbix-server alertscripts]# cat mail.sh 
#!/bin/bash
FILE=/usr/lib/zabbix/alertscripts/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
cat $FILE|/bin/mail -s "$2" $1
[root@zabbix-server alertscripts]#touch mailtmp.txt

別忘記了給加上權限:

[root@zabbix-server ~]#chmod 777 /usr/lib/zabbix/alertscripts/mailtmp.txt
[root@zabbix-server ~]#chmod 777 /usr/lib/zabbix/alertscripts/mail.sh
[root@zabbix-server ~]# chown -R zabbix:zabbix /usr/lib/zabbix/alertscripts/
[root@zabbix-server ~]# yum -y install dos2unix

6,在回到web端去添加郵件報警參數:管理-----報警媒介類型--新建報警名稱----EmailAlert

報警媒介.jpg

7,報警媒介關聯的動作:配置-----動作

Action8.jpg

新建動作名稱:Email-Send:

動作名稱.jpg

其次是操作:主要添加如下參數:

操作1.jpg

操作2.jpg

最後故障排除後的恢復操作:

恢復操作.jpg




七、測試模擬故障:

1,找一臺IP:10.93.58.66,停止zabbix-agent:

[root@LinuxAgent ~]# /etc/init.d/zabbix-agent stop
Shutting down Zabbix agent:                                [  OK  ]

2,查看web 界面看看有無故障:

QQ截圖20180919105633.jpg

3,查看郵箱看看有沒有郵件收到;在看看/usr/lib/zabbix/alertscripts/mailtmp.txt

QQ截圖20180919111047.jpg

[root@zabbix-server alertscripts]# cat mailtmp.txt
Problem has been resolved at 10:59:12 on 2018.09.19
Problem name: Zabbix agent on 10.93.58.66 is unreachable for 5 minutes
Host: 10.93.58.66
Severity: Average

Original problem ID: 144

4,你也可以這樣模擬一下,測試磁盤使用率和分區(邏輯卷)空間不足報警:

[root@LinuxAgent ~]# df -TH 
Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/sda3      ext4    20G  3.1G   16G  17% /
tmpfs          tmpfs  518M     0  518M   0% /dev/shm
/dev/sda1      ext4   199M   60M  129M  32% /boot
/dev/sda2      ext4    20G   47M   19G   1% /data

然後使用命令來測試一下:dd if=/dev/zero of=test bs=6M count=1950

[root@LinuxAgent ~]# dd if=/dev/zero of=test bs=6M count=1950

好了,你自己慢慢測試吧!自己算好空間,不要搞爆了。

最後,還有一臺10.93.58.70那臺機器我是先加到主機然後關聯到3個模板中,Agent配置一下就可以自動告警了,只要第一臺做好了,以後的就是添加關聯模板就好了。

參考文檔:https://www.zabbix.com/documentation/3.4/zh/manual/installation/install_from_packages

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章