9月12日任務
19.12 添加自定義監控項目
19.13/19.14 配置郵件告警
19.15 測試告警
19.16 不發郵件的問題處理
19.12?添加自定義監控項目
需求:監控某臺web的80端口連接數,并出圖
兩步:1)zabbix監控中心創建監控項目;
? ? ? ? ? 2)針對該監控項目以圖形展現
客戶端127機器配置:
1. 客戶端(127)編寫estab.sh腳本 :
[root@localhost?~]#?vim?/usr/local/sbin/estab.sh
#!/bin/bash ##獲取80端口并發連接數 netstat?-ant?|grep?':80?'?|grep?-c?ESTABLISHED
2. 設定estab.sh腳本權限為755:
[root@localhost?~]#??chmod?755?/usr/local/sbin/estab.sh
3. 客戶端(127)編輯配置文件
添加內容( =1表示使用自定義的腳本):
vim?/etc/zabbix/zabbix_agentd.conf
添加以下兩行
UnsafeUserParameters=1
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh
4. 重啟zabbix-agent服務:
[root@localhost?~]#??systemctl?restart?zabbix-agent
服務端149機器測試:
1. 遠程到客戶端ip,執行命令(獲取80端口連接數):
[root@aminglinux-128?~]#?zabbix_get?-s?192.168.193.127?-p?10050?-k?'my.estab.count' 0
2. 臨時關閉getenforce防火墻:
[root@aminglinux-128?~]#?setenforce?0 setenforce:?SELinux?is?disabled
關閉firewalld防火墻;查看是否還有防火墻規則?
[root@aminglinux-128?~]#?setenforce?0 setenforce:?SELinux?is?disabled [root@aminglinux-128?~]#??systemctl?stop?firewalld [root@aminglinux-128?~]#?iptables?-nvL Chain?INPUT?(policy?ACCEPT?127K?packets,?28M?bytes)pkts?bytes?target?????prot?opt?in?????out?????source???????????????destination?????????0?????0?ACCEPT?????udp??--??virbr0?*???????0.0.0.0/0????????????0.0.0.0/0????????????udp?dpt:530?????0?ACCEPT?????tcp??--??virbr0?*???????0.0.0.0/0????????????0.0.0.0/0????????????tcp?dpt:530?????0?ACCEPT?????udp??--??virbr0?*???????0.0.0.0/0????????????0.0.0.0/0????????????udp?dpt:670?????0?ACCEPT?????tcp??--??virbr0?*???????0.0.0.0/0????????????0.0.0.0/0????????????tcp?dpt:67Chain?FORWARD?(policy?ACCEPT?0?packets,?0?bytes)pkts?bytes?target?????prot?opt?in?????out?????source???????????????destination?????????0?????0?ACCEPT?????all??--??*??????virbr0??0.0.0.0/0????????????192.168.122.0/24?????ctstate?RELATED,ESTABLISHED0?????0?ACCEPT?????all??--??virbr0?*???????192.168.122.0/24?????0.0.0.0/0???????????0?????0?ACCEPT?????all??--??virbr0?virbr0??0.0.0.0/0????????????0.0.0.0/0???????????0?????0?REJECT?????all??--??*??????virbr0??0.0.0.0/0????????????0.0.0.0/0????????????reject-with?icmp-port-unreachable0?????0?REJECT?????all??--??virbr0?*???????0.0.0.0/0????????????0.0.0.0/0????????????reject-with?icmp-port-unreachableChain?OUTPUT?(policy?ACCEPT?124K?packets,?29M?bytes)pkts?bytes?target?????prot?opt?in?????out?????source???????????????destination?????????0?????0?ACCEPT?????udp??--??*??????virbr0??0.0.0.0/0????????????0.0.0.0/0????????????udp?dpt:68
3. 游覽器訪問ip/zabbix,創建監控項:
上例為
名稱——鍵值——添加
4. 創建圖形:
名稱——添加——并發連接數——選擇——添加
5. 創建觸發器:
名稱——嚴重性——添加——監控項-選擇——功能——N——插入——添加
19.13?配置郵件告警(上)
1. 登錄163網易郵箱,設置——客戶端授權密碼:
設置開啟POP3、IMAP、SMTP服務 開啟并記錄授權碼
2. 創建媒體類型:
名稱——類型——腳本名稱(mail.py)——腳本參數:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
3. 圖中AlertScriptsPath=目錄,mail.py腳本創建在這個目錄下:
vim?/etc/zabbix/zabbix_server.conf
4. 創建mail.py腳本:
#####腳本使用說明######
#1. 首先定義好腳本中的郵箱賬號和密碼
#2. 腳本執行命令為:python mail.py 目標郵箱 "郵件主題" "郵件內容"
內容參考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py
添加內容:
#!/usr/bin/env?python #-*-?coding:?UTF-8?-*- import?os,sys 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?=?25 try: msg?=?MIMEText(unicode(content).encode('utf-8')) msg['from']?=?mailfrom msg['to']?=?mailto msg['Reply-To']?=?mailfrom msg['Subject']?=?subject smtp?=?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] ##定義郵箱的賬號和密碼,你需要修改成你自己的賬號和密碼(請不要把真實的用戶名和密碼放到網上公開) sendqqmail('zhuneianxiang@163.com','mima','zhuneianxiang@163.com',to,subject,content) if?__name__?==?"__main__": main()
5. 設定mail.py腳本權限為755:
[root@aminglinux-128?~]#?chmod?755?/usr/lib/zabbix/alertscripts/mail.py
6. 測試發給指定郵箱一封郵件:
python?mail.py?zhuneianxiang@163.com?"biaoti"?"neirong"
19.14?配置郵件告警(下)
1. 創建用戶:
定義用戶參數如圖 :
進入hao用戶的對應用戶群組,更改用戶群組的權限為讀寫!!!
定義報警媒介(接收郵箱地址):
確定149用戶—權限是讀寫!!!
2. 創建動作:
設置操作:
默認信息:
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
設置恢復操作:
默認信息:
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
1.創建觸發器:
配置觸發器參數為錯誤參數,達到發郵箱報警效果!!!
轉載于:https://blog.51cto.com/13107353/2176061