19.12 添加自定義監控項目python
需求:監控某臺web的80端口鏈接數,並出圖linux
兩步:1)zabbix監控中心建立監控項目;git
2)針對該監控項目以圖形展示web
客戶端hao2機器配置:vim
1. 客戶端(hao2)編寫estab.sh腳本 :bash
[root@hao-02 ~]# vim /usr/local/sbin/estab.sh併發
添加內容 :ide
#!/bin/bash測試
##獲取80端口併發鏈接數spa
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
2. 設定estab.sh腳本權限爲755 :
[root@hao-02 ~]# chmod 755 /usr/local/sbin/estab.sh
3. 客戶端(hao2)編輯配置文件 :
[root@hao-02 ~]# vim /etc/zabbix/zabbix_agentd.conf
添加內容( =1表示使用自定義的腳本) :
UnsafeUserParameters=1
UserParameter=[*],/usr/local/sbin/estab.sh
4. 重啓zabbix-agent服務 :
[root@hao-02 ~]# systemctl restart zabbix-agent
服務端hao1機器測試:
1. 遠程到客戶端ip,執行命令(獲取80端口鏈接數) :
[root@hao-01 ~]# zabbix_get -s 192.168.211.129 -p 10050 -k 'my.estab.count'
2. 臨時關閉getenforce防火牆 :
[root@hao-01 ~]# setenforce 0
關閉firewalld防火牆;查看是否還有防火牆規則?
[root@hao-01 ~]# systemctl stop firewalld
[root@hao-01 ~]# iptables -nvL
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腳本建立在這個目錄下 :
[root@hao-01 ~]# vim /etc/zabbix/zabbix_server.conf
4. 建立mail.py腳本 :
[root@hao-01 ~]# vim /usr/lib/zabbix/alertscripts/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@hao-01 ~]# chmod 755 /usr/lib/zabbix/alertscripts/mail.py
6. 測試發給指定郵箱一封郵件 :
[root@hao-01 ~]# python mail.py zhuneianxiang@163.com "biaoti" "neirong"
19.14 配置郵件告警(下)
1. 建立用戶 :
定義用戶參數如圖 :
進入hao用戶的對應用戶羣組,更改用戶羣組的權限爲讀寫!!!
定義報警媒介(接收郵箱地址) :
肯定hao用戶—權限是讀寫!!!
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}
19.15 測試告警19.16 不發郵件的問題處理
1. 建立觸發器 :
配置觸發器參數爲錯誤參數,達到發郵箱報警效果!!!
檢測中——儀表板——最近20個問題