一.部署zabbix架構
- 配置zabbix(server-agentd架構)架構,參考:https://blog.csdn.net/qq_42761527/article/details/105590537
- 由於是配置郵箱預警,所以需要在server中的zabbix的配置文件中加入發郵件的腳本路徑
- 其餘配置不變
二.配置郵箱預警
報警概述
- 在zabbix中,作爲監控平臺需要時刻關注機器和服務的運行狀態,更重要的是發現故障之後需要及時報警給運維人員,及時發現問題,保證服務的穩定運行。
- 報警的方式是多種多樣的,微信、短信、釘釘和郵件報警等
- 本篇博客講述郵件預警
實驗分析
- 我們在zabbix的server端設置郵件報警,當client端宕機或者達到觸發器閾值時,就會自動發送郵件報警到指定的郵箱。
實驗步驟
- 在server端安裝郵箱服務,並且設置郵件類型
#安裝郵件服務
[root@server ~]# yum install mailx -y
#修改配置文件
[root@server ~]# vi /etc/mail.rc
set [email protected] //指定郵箱地址
set smtp=smtp.qq.com //指定郵箱類型
set [email protected] //指定郵箱用戶
set smtp-auth-password=qq郵箱授權碼 //指定郵箱密碼
set smtp-auth=login
- 在server端,測試郵件服務
#以主題爲test,發送內容爲hello的郵件給1960422729
[root@server ~]# echo "hello" |mail -s "test" [email protected]
- 在server端,爲zabbix編寫郵件腳本
[root@server alertscripts]# pwd
/usr/local/zabbix/alertscripts
[root@server alertscripts]# ls
mailx.sh
[root@server alertscripts]# cat mailx.sh
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'` ##設置位置變量,$3爲內容
subject=`echo $2 | tr '\r\n' '\n'` ##$2爲主題
echo "${messages}" | mail -s "${subject}" $1 >> /tmp/mailx.log 2>&1 ##將信息存儲入日誌
#創建日誌文件
[root@server alertscripts]# touch /tmp/mailx.log
#爲日誌文件設置屬主
[root@server alertscripts]# chown -R zabbix.zabbix /tmp/mailx.log
#給腳本添加執行權限
[root@server alertscripts]# chmod +x /usr/local/zabbix/alertscripts/mailx.sh
#爲腳本目錄設置屬性
[root@server alertscripts]# chown -R zabbix:zabbix /usr/local/zabbix/
#測試郵件發送
[root@server alertscripts]# ./mailx.sh [email protected] "info" "info"
部署zabbix的web界面
- 創建媒體類型
- 創建報警媒介
創建相關動作、操作、恢復操作等
- 創建動作
- 創建操作
- 創建恢復操作
測試郵箱報警設否生效
- 重啓server端和client服務
[root@server ~]# service zabbix_server restart
Restarting zabbix_server (via systemctl): [ 確定 ]
[root@client html]# service zabbix_agentd restart
Restarting zabbix_agentd (via systemctl): [ 確定 ]
- 在zabbix的web界面添加監控client端的zabbix agent服務
- 在client端關閉zabbix agent服務
[root@client html]# service zabbix_agentd stop
Stopping zabbix_agentd (via systemctl): [ 確定 ]
[root@client html]#
- 郵件報警
注:此處等待郵件告警的時間較長,大概需要3到5分鐘