文章目錄
- 環境
- 1、安裝郵件功能--服務器上配置
- 2、配置郵件報警功能---服務器上配置
- 3、撰寫發郵件腳本
- 4、郵件報警測驗
首先需要來牢記一下這幾個協議

smtp 郵件發送協議 埠號是25號埠
IMAP 郵件接收協議 埠號143埠
POP3 郵件接收協議 埠號110
IMAP和POP3的區別
POP3協議允許電子郵件客戶端下載服務器上的郵件,但是在客戶端的操作(如移動郵件、標記已讀等),不會反饋到服務器上,比如通過客戶端收取了郵箱中的3封郵件并移動到其他檔案夾,郵箱服務器上的這些郵件是沒有同時被移動的 ,
而IMAP提供webmail 與電子郵件客戶端之間的雙向通信,客戶端的操作都會反饋到服務器上,對郵件進行的操作,服務器上的郵件也會做相應的動作,
環境
這里郵箱告警我使用的是163郵箱,首先要在郵箱里進行設定,否則是接收不到郵件的


前期zabbix已部署完成,詳見博客:
1、安裝郵件功能–服務器上配置
yum install -y mailx

2、配置郵件報警功能—服務器上配置
vim /etc/mail.rc ##注意網易郵箱需要開啟客戶端授權碼進行第三方登錄
------檔案末尾新增------
set from=pan***ju**903@163.com ##個人郵箱就不方便暴露了
set smtp=smtp.163.com
set smtp-auth-user=pan***ju**903@163.com
set smtp-auth-password=VMXHCPYUSDLYCWAK
set smtp-auth=login

echo "hello junjun" | mail -s "zb-test" pan***ju**903@163.com
## 測驗發信正常
然后進入郵箱查看是否收到郵件


3、撰寫發郵件腳本
1、撰寫腳本
腳本位置必須在 /usr/lib/zabbix/alertscripts/中
在zabbix作業目錄中撰寫腳本
cd /usr/lib/zabbix/alertscripts
vim mailx.sh
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1

2、 創建日志檔案目錄并更改權限
touch /tmp/mailx.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/

3、測驗腳本發郵件
./mailx.sh pa**en*****03@163.com "主題" "內容"
## 測驗發郵件腳本是否可以正常作業


4、服務器web頁面配置
管理--》報警媒介型別--》創建媒體型別--》

① 添加報警媒介型別
腳本引數:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}


② 添加報警媒介
web頁面–管理–用戶–點擊Admin–報警媒介–添加–填寫完成后點擊添加完成添加媒介




現在用戶有了,用戶能夠操作媒介了,現在就是要監控的東西關聯到用戶
③ 、配置–動作–創建動作–洗掉默認標簽,修改觸發條件


'默認標題':Problem:{EVENT.NAME}
'訊息內容':
告警主機:{HOST.NAME}
告警 IP:{HOST.IP}
告警時間:{EVENT.DATE}-{EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警資訊:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}

'默認標題':{TRIGGER.STATUS}:{TRIGGER.NAME}
'訊息內容':
恢復主機:{HOST.NAME}
恢復 IP:{HOST.IP}
恢復時間:{EVENT.DATE}-{EVENT.TIME}
恢復等級:{TRIGGER.SEVERITY}
恢復資訊:{TRIGGER.NAME}:{ITEM.VALUE}
恢復 ID:{EVENT.ID}

最后點擊最下方的添加用于完成添加整個動作
④ 服務端重啟服務
systemctl restart zabbix-server
systemctl restart zabbix-agent.service
4、郵件報警測驗
可以在被監控主機上模擬相關引數超過閾值或服務例外,驗證郵件收發,
systemctl stop sshd ## 這里關閉sshd服務,為了測驗一下
等待三分鐘左右


重啟sshd
systemctl start sshd #需要等待3分鐘左右

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/273628.html
標籤:其他
