19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理...
2019獨角獸企業重金招聘Python工程師標準>>>
提示:開始本節內容之前有必要先做好快照!!!
19.12 添加自定義監控項目
該配置的用途是監控模板中沒有的監控項目。
需求:監控某臺web的80端口連接數,并出圖。
步驟:
1) zabbix監控中心創建監控項目
2) 針對該監控項目以圖形展現
配置80端口的監控腳本
?統計80端口連接數量
可以去查看ESTABLISHED的訪問量(established)
[root@cham002 ~]# netstat -ant |grep ':80 ' |grep -c ESTABLISHED 1[root@cham002 ~]# netstat -ant |grep ':80 ' |grep -c ESTABLISHED 1 [root@cham002 ~]# netstat -ant |grep ':80 ' |grep ESTAB tcp6 0 0 192.168.230.135:80 192.168.230.1:62973 ESTABLISHED客戶端:145
[root@test ~]# vim /usr/local/sbin/estab.sh#!/bin/bash ##獲取80端口并發連接數 netstat -ant |grep ':80 ' |grep -c ESTABLISHED:wq[root@test ~]# chmod 755 !$ chmod 755 /usr/local/sbin/estab.sh [root@test ~]# ps aux |grep zabbix zabbix 54434 0.0 0.1 80592 1284 ? S 08:12 0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbi_agentd.conf zabbix 54435 0.0 0.1 80592 1360 ? S 08:12 0:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec] zabbix 54436 0.0 0.2 80712 2448 ? S 08:12 0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection] zabbix 54437 0.0 0.2 80716 2448 ? S 08:12 0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection] zabbix 54438 0.0 0.2 80716 2448 ? S 08:12 0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection] zabbix 54439 0.0 0.2 80720 2228 ? S 08:12 0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec] root 54652 0.0 0.0 112664 972 pts/0 R+ 08:23 0:00 grep --color=auto zabbix配置zabbix-agent.conf: [root@test ~]# vim /etc/zabbix/zabbix_agentd.conf UnsafeUserParameters=1 #表示使用自定義腳本 UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh #自定義監控項的key(監控web端“鍵值”)為my.estab.count,后面的[*]里面寫的是腳本參數 #如果沒有參數則可以省略,腳本為/usr/local/sbin/estab.sh重啟zabbix-agent服務: [root@test ~]# systemctl restart zabbix-agent [root@test ~]#客戶端配置完成后在?服務端使用zabbix自帶命令測試該腳本是否生效:
(防火墻要么關閉,要么添加規則)
[root@cham002 ~]# zabbix_get -s 192.168.230.145 -p 10050 -k 'my.estab.count' 0如上所示,說明客戶端腳本配置成功!
?
配置web端參數
瀏覽器訪問服務端zabbix主頁:192.168.230.135/zabbix
進入客戶機cham-002“監控項配置”頁面:
?
1“創建監控項”:
說明: 在此設置監控項名稱和鍵值,其他參數保持默認(研究透徹之后,所有參數可以根據個人需求進行更改)。
2“創建圖形”:
“添加”添加完成后,為該監控項配置“圖形”——“創建圖形”:
注意:?在此設定圖形名稱后,需要先為該圖形“添加”(該添加為參數“監控項”下的添加)監控項,然后再點擊最下面的“添加”將該圖形參數添加到zabbix圖形監控參數中!!!
3創建觸發器:
所謂觸發器即設定觸發警報的規則!
“觸發器”——“創建觸發器”:
點擊“添加”,設定該觸發器所要監控的對象及觸發規則:
即,當并發連接數最新值T大于N(自定義該值,在此N=2)時觸發該警報。
?
19.13-19.4 配置郵件告警
使用163郵箱或QQ郵箱發送告警郵件。
開啟郵箱的POP3、IMAP、SMTP服務
登錄QQ.或者163郵箱,開啟POP3、IMAP、SMTP服務:
說明:?首次開啟該服務需要進行用戶認證,根據提示信息進行認證并設定“客戶端授權密碼”(用于登錄第三方郵件客戶端的專用密碼),記錄該密碼。
?
配置報警腳本
郵箱相關服務配置完成后到監控中心進行報警配置。
配置報警媒介類型
“管理”——“報警媒介類型”——“創建媒介類型”:
說明:?設定媒介類型名稱、類型、腳本名稱(與服務器中腳本名稱保持一致)、添加腳本參數(該參數為zabbix內置參數,之后會配置在mail.py腳本中),上述內容配置完后再點“添加”(最下面藍色)。
?
添加報警腳本mail.py
服務端:
[root@cham002 ~]# vim /etc/zabbix/zabbix_server.conf AlertScriptsPath=/usr/lib/zabbix/alertscripts[root@cham002 alertscripts]# vim mail.py#!/usr/bin/env python #-*- coding: UTF-8 -*- import os,sys reload(sys) sys.setdefaultencoding('utf8') import getopt import smtplib from email.MIMEText import MIMEText from email.MIMEMultipart import MIMEMultipart from subprocess import * def sendqqmail(username,password,mailfrom,mailto,subject,content):gserver = 'smtp.163.com'gport = 25try:msg = MIMEText(unicode(content).encode('utf-8'))msg['from'] = mailfrommsg['to'] = mailtomsg['Reply-To'] = mailfrommsg['Subject'] = subjectsmtp = smtplib.SMTP(gserver, gport)smtp.set_debuglevel(0)smtp.ehlo()smtp.login(username,password)smtp.sendmail(mailfrom, mailto, msg.as_string())smtp.close()except Exception,err:print "Send mail failed. Error: %s" % err def main():to=sys.argv[1]subject=sys.argv[2]content=sys.argv[3] ##定義QQ郵箱的賬號和密碼,你需要修改成你自己的賬號和密碼(請不要把真實的用戶名和密碼放到網上公開,否則你會死的 很慘)sendqqmail('xxxx@163.com','xxxxxxxxxxxxxxxx','xxxx@163.com',to,subject,content) if __name__ == "__main__":main()[root@cham002 alertscripts]# chmod 755 mail.py 測試能否正常發送郵件: [root@cham002 alertscripts]# python mail.py xxxx@163.com "test" "1212121"發送成功!至此說明發郵件的腳本沒問題!!!
配置用戶
在監控中心(web端)創建一個接收告警郵件的“用戶”,在創建用戶前需要先創建一個“用戶組”,在此使用一個已經存在的用戶組。“管理”——“用戶”——“創建用戶”:
配置報警媒介
打開用戶adai——報警媒介——添加報警媒介——更新:
配置用戶權限:
需要到用戶所在的“用戶群組”更改用戶的權限:
選擇后權限后點擊“添加”——“更新”,如果此處設置錯誤,之后將無法收到報警郵件。
配置動作
設置觸發器被觸發后所要執行的的操作!
?
設置動作,“配置”,“動作”,“創建動作”,名稱寫(自定義),“操作”頁面,內容如下
?“新的觸發條件”,A維護狀態 非在 維護,B觸發器示警度>=未分類
?“操作”,選擇發送的用戶為剛創建的用戶,僅送到選擇“baojing”
客戶機故障時要執行的操作。
?切換到“恢復操作”,把信息改成如下
?點擊“新的”,“操作”,選擇發送的用戶為剛創建的用戶,僅送到選擇“baojing”
即客戶機狀態恢復后需要執行的操作。
“默認信息”:(同操作中內容)
最后狀態是已起用
?
19.5 測試告警
將監控項目改成故障項目。
“配置”——“主機”——“觸發器”——“創建觸發器”
注:?該觸發器只用于測試,完成測試后要刪除!
?
選擇“添加”表達式設定觸發規則:
其他參數保持默認,點藍色按鈕“添加”。配置完成后進入“儀表盤”等一分鐘左右
?
經多次嘗試都顯示動作完成,但是查看郵箱并沒有收到任何郵件!
排查故障
[root@cham002 alertscripts]# python mail.py xxxx@163.com "test" "1212121333333333333333333" 能收到郵件[root@cham002 alertscripts]# ls -l 總用量 4 -rwxr-xr-x 1 root root 1207 2月 5 09:35 mail.py 更改腳本權限:權限改大一點 [root@cham002 alertscripts]# chmod 777 mail.py即,能正常發送郵件,說明腳本內容沒問題!
檢查用戶信息(再增加個用戶)
?
檢查動作配置
將操作中的默認信息更改為其自帶的配置:
?
?
恢復快照再多來幾次~····
?
?
轉載于:https://my.oschina.net/u/3708120/blog/1618454
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Aggregate可以做字符串累加、数值
- 下一篇: 技术分享连载(六十)