Zabbix3.4郵件報警配置詳解linux
1、郵件報警有兩種狀況:web
1,Zabbix服務端只是單純的發送報警郵件到指定郵箱,發送報警郵件的這個郵箱帳號是Zabbix服務端的本地郵箱帳號,只能發送,不能接收外部郵件。vim
2,使用一個能夠在互聯網上正常收發郵件的郵箱帳號(例如:@163.com),經過在Zabbix服務端中設置,使其可以發送報警郵件到指定郵箱。bash
3,在這裏咱們採用是第二種方式來完成郵件告警任務。通過個人測試發現QQ不能發送郵件會被屏蔽,改用163須要配置客戶端受權密碼’郵件能夠發; 可是問題是郵件有5分鐘 左右的延時,後來我測試sina郵件能夠正常使用。ide
2、準備的環境說明:工具
Hostnamepost |
IPADDRE測試 |
OS-Releases字體 |
Applacationspa |
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 |
3、實驗目的:
1, Server運行時長超過3個月(180天)觸發告警;表達式爲:{Templates Uptime Warm:checkuptime.last()}>180
2, Server運行時磁盤I/O使用率達到閾值告警。
3, 邏輯卷或者是分區使用率達到閾值告警。
4、邏輯關係:
開始以前先你須要整理一下郵件告警的邏輯關係,以便你更好的理解郵件告警的原理;
1,建立主機主機。
2,建立一個用戶組如:Linuxgroup將建立主機加入到linuxgroup。
3,建立一個模板,將須要監控的主機加入到模板裏面去
4,建立模板後,而後選中主機---選中模板-----建立監控項---建立觸發器---建立圖形
5,配置管理-----報警媒介-----建立一個報警介質----腳本-------參數設置-----
6,管理----用戶----選中一個用戶(Admin)----添加報警媒介----選中類型-----收件人----
7,最後配置動做------操做----關聯的用戶或者是用戶組。
8,這樣纔可使你的監控系統生效。
5、正式開始安裝:
1, 調整語言爲簡體中文;你若是認爲你的英語OK,此步驟略過;
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 http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm [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模板中:(先添加主機,而後關聯到模板)
下面的Template Uptime Warm 暫時不要管,先添加Template Zabbix Server 和Template OS Linux 便可。
5,新建一個模板Template Uptime Warm:
自定義模板名稱和所屬組就,接着把關聯的ip:10.93.58.66也添加到這個模板組裏面。
最後的效果是這樣:
6,建立監控項:
7,建立觸發器:爲了方便測試告警須要把表達式改成{Templates Uptime Warm:checkuptime.last()}>0.1
8,建立圖形:(Template Uptime Warm :主機運行時長告警)
web端設置先到這裏須要到server端設置郵件功能:
6、郵件推送:
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 from=hwg15051616106@sina.com set smtp=smtp.sina.com set smtp-auth-user=hwg15051616106@sina.com set smtp-auth-password=xxx set smtp-auth=login
4,測試你的配置是否正確發一封測試郵件試試:
[root@zabbix-server ~]# echo "zabbix test mail 123" | mail -s "zabbix" hwg15051616106@sina.com
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
7,報警媒介關聯的動做:配置-----動做
新建動做名稱:Email-Send:
其次是操做:主要添加以下參數:
最後故障排除後的恢復操做:
7、測試模擬故障:
1,找一臺IP:10.93.58.66,中止zabbix-agent:
[root@LinuxAgent ~]# /etc/init.d/zabbix-agent stop Shutting down Zabbix agent: [ OK ]
2,查看web 界面看看有無端障:
3,查看郵箱看看有沒有郵件收到;在看看/usr/lib/zabbix/alertscripts/mailtmp.txt
[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