19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理...
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
提示:開始本節(jié)內(nèi)容之前有必要先做好快照!!!
19.12 添加自定義監(jiān)控項目
該配置的用途是監(jiān)控模板中沒有的監(jiān)控項目。
需求:監(jiān)控某臺web的80端口連接數(shù),并出圖。
步驟:
1) zabbix監(jiān)控中心創(chuàng)建監(jiān)控項目
2) 針對該監(jiān)控項目以圖形展現(xiàn)
配置80端口的監(jiān)控腳本
?統(tǒng)計80端口連接數(shù)量
可以去查看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端口并發(fā)連接數(shù) 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 #自定義監(jiān)控項的key(監(jiān)控web端“鍵值”)為my.estab.count,后面的[*]里面寫的是腳本參數(shù) #如果沒有參數(shù)則可以省略,腳本為/usr/local/sbin/estab.sh重啟zabbix-agent服務(wù): [root@test ~]# systemctl restart zabbix-agent [root@test ~]#客戶端配置完成后在?服務(wù)端使用zabbix自帶命令測試該腳本是否生效:
(防火墻要么關(guān)閉,要么添加規(guī)則)
[root@cham002 ~]# zabbix_get -s 192.168.230.145 -p 10050 -k 'my.estab.count' 0如上所示,說明客戶端腳本配置成功!
?
配置web端參數(shù)
瀏覽器訪問服務(wù)端zabbix主頁:192.168.230.135/zabbix
進入客戶機cham-002“監(jiān)控項配置”頁面:
?
1“創(chuàng)建監(jiān)控項”:
說明: 在此設(shè)置監(jiān)控項名稱和鍵值,其他參數(shù)保持默認(研究透徹之后,所有參數(shù)可以根據(jù)個人需求進行更改)。
2“創(chuàng)建圖形”:
“添加”添加完成后,為該監(jiān)控項配置“圖形”——“創(chuàng)建圖形”:
注意:?在此設(shè)定圖形名稱后,需要先為該圖形“添加”(該添加為參數(shù)“監(jiān)控項”下的添加)監(jiān)控項,然后再點擊最下面的“添加”將該圖形參數(shù)添加到zabbix圖形監(jiān)控參數(shù)中!!!
3創(chuàng)建觸發(fā)器:
所謂觸發(fā)器即設(shè)定觸發(fā)警報的規(guī)則!
“觸發(fā)器”——“創(chuàng)建觸發(fā)器”:
點擊“添加”,設(shè)定該觸發(fā)器所要監(jiān)控的對象及觸發(fā)規(guī)則:
即,當(dāng)并發(fā)連接數(shù)最新值T大于N(自定義該值,在此N=2)時觸發(fā)該警報。
?
19.13-19.4 配置郵件告警
使用163郵箱或QQ郵箱發(fā)送告警郵件。
開啟郵箱的POP3、IMAP、SMTP服務(wù)
登錄QQ.或者163郵箱,開啟POP3、IMAP、SMTP服務(wù):
說明:?首次開啟該服務(wù)需要進行用戶認證,根據(jù)提示信息進行認證并設(shè)定“客戶端授權(quán)密碼”(用于登錄第三方郵件客戶端的專用密碼),記錄該密碼。
?
配置報警腳本
郵箱相關(guān)服務(wù)配置完成后到監(jiān)控中心進行報警配置。
配置報警媒介類型
“管理”——“報警媒介類型”——“創(chuàng)建媒介類型”:
說明:?設(shè)定媒介類型名稱、類型、腳本名稱(與服務(wù)器中腳本名稱保持一致)、添加腳本參數(shù)(該參數(shù)為zabbix內(nèi)置參數(shù),之后會配置在mail.py腳本中),上述內(nèi)容配置完后再點“添加”(最下面藍色)。
?
添加報警腳本mail.py
服務(wù)端:
[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郵箱的賬號和密碼,你需要修改成你自己的賬號和密碼(請不要把真實的用戶名和密碼放到網(wǎng)上公開,否則你會死的 很慘)sendqqmail('xxxx@163.com','xxxxxxxxxxxxxxxx','xxxx@163.com',to,subject,content) if __name__ == "__main__":main()[root@cham002 alertscripts]# chmod 755 mail.py 測試能否正常發(fā)送郵件: [root@cham002 alertscripts]# python mail.py xxxx@163.com "test" "1212121"發(fā)送成功!至此說明發(fā)郵件的腳本沒問題!!!
配置用戶
在監(jiān)控中心(web端)創(chuàng)建一個接收告警郵件的“用戶”,在創(chuàng)建用戶前需要先創(chuàng)建一個“用戶組”,在此使用一個已經(jīng)存在的用戶組。“管理”——“用戶”——“創(chuàng)建用戶”:
配置報警媒介
打開用戶adai——報警媒介——添加報警媒介——更新:
配置用戶權(quán)限:
需要到用戶所在的“用戶群組”更改用戶的權(quán)限:
選擇后權(quán)限后點擊“添加”——“更新”,如果此處設(shè)置錯誤,之后將無法收到報警郵件。
配置動作
設(shè)置觸發(fā)器被觸發(fā)后所要執(zhí)行的的操作!
?
設(shè)置動作,“配置”,“動作”,“創(chuàng)建動作”,名稱寫(自定義),“操作”頁面,內(nèi)容如下
?“新的觸發(fā)條件”,A維護狀態(tài) 非在 維護,B觸發(fā)器示警度>=未分類
?“操作”,選擇發(fā)送的用戶為剛創(chuàng)建的用戶,僅送到選擇“baojing”
客戶機故障時要執(zhí)行的操作。
?切換到“恢復(fù)操作”,把信息改成如下
?點擊“新的”,“操作”,選擇發(fā)送的用戶為剛創(chuàng)建的用戶,僅送到選擇“baojing”
即客戶機狀態(tài)恢復(fù)后需要執(zhí)行的操作。
“默認信息”:(同操作中內(nèi)容)
最后狀態(tài)是已起用
?
19.5 測試告警
將監(jiān)控項目改成故障項目。
“配置”——“主機”——“觸發(fā)器”——“創(chuàng)建觸發(fā)器”
注:?該觸發(fā)器只用于測試,完成測試后要刪除!
?
選擇“添加”表達式設(shè)定觸發(fā)規(guī)則:
其他參數(shù)保持默認,點藍色按鈕“添加”。配置完成后進入“儀表盤”等一分鐘左右
?
經(jīng)多次嘗試都顯示動作完成,但是查看郵箱并沒有收到任何郵件!
排查故障
[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 更改腳本權(quán)限:權(quán)限改大一點 [root@cham002 alertscripts]# chmod 777 mail.py即,能正常發(fā)送郵件,說明腳本內(nèi)容沒問題!
檢查用戶信息(再增加個用戶)
?
檢查動作配置
將操作中的默認信息更改為其自帶的配置:
?
?
恢復(fù)快照再多來幾次~····
?
?
轉(zhuǎn)載于:https://my.oschina.net/u/3708120/blog/1618454
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Aggregate可以做字符串累加、数值
- 下一篇: 技术分享连载(六十)