一、添加自定義監控項目
-
需求:監控某台web的80端口連接配接數,并出圖
兩步:1)zabbix監控中心建立監控項目;2)針對該監控項目以圖形展現
-
對于第一步,需要到用戶端定義腳本
vim /usr/local/sbin/estab.sh //内容如下
#!/bin/bash ##擷取80端口并發連接配接數 netstat -ant |grep ':80 ' |grep -c ESTABLISHED
chmod 755 /usr/local/sbin/estab.sh
- 用戶端上編輯配置檔案 vim /etc/zabbix/zabbix_agentd.conf//增加
重新開機zabbix-agent服務UnsafeUserParameters=1 //表示使用自定義腳本 UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh //自定義監控項的key為my.estab.count,後面的[*]裡面寫腳本的參數,如果沒有參數則可以省略,腳本為/usr/local/sbin/estab.sh
systemctl restart zabbix-agent
- 到服務端驗證,執行指令
zabbix_get -s 192.168.127.134 -p 10050 -k 'my.estab.count'
然後在zabbix監控中心(浏覽器)配置增加監控項目
鍵值寫my.estab.count
添加該項目後,到"監測中""最新資料"檢視剛添加的項目是否有資料出現
有了資料就可以添加圖形了
"配置""主機""圖形""建立圖形"
二、配置告警
-
使用163或者QQ郵箱發告警郵件
首先登入你的163郵箱,設定開啟POP3、IMAP、SMTP服務
開啟并記錄授權碼
然後到監控中心設定郵件告警
“管理”,“報警媒介類型”,“建立媒體類型”
{ALERT.SENDTO} ,{ALERT.SUBJECT},{ALERT.MESSAGE}
- 建立報警腳本mail.py
vim /usr/lib/zabbix/alertscripts/mail.py
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.163.com'
mail_user = '[email protected]' //郵箱賬号
mail_pass = '1111111' //郵箱密碼
mail_postfix = '163.com'
def send_mail(to_list,subject,content):
me = "zabbix 監控告警平台"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me,to_list,msg.as_string())
s.close()
return True
except Exception,e:
print str(e)
return False
if __name__ == "__main__":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
#####腳本使用說明######
#1. 首先定義好腳本中的郵箱賬号和密碼
#2. 腳本執行指令為:python mail.py 目标郵箱 "郵件主題" "郵件内容"
chmod 755 /usr/lib/zabbix/alertscripts/mail.py
- 建立一個接受告警郵件的使用者,“管理”,“使用者”,“建立使用者”,“報警媒介”,類型選擇“baojing”,注意使用者的權限,如果沒有需要到使用者組去設定權限
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}