添加自定義監控項目、配置郵件告警

添加自定義監控項目

•需求:監控某臺web的80端口鏈接數,並出圖
•兩步:1)zabbix監控中心建立監控項目;2)針對該監控項目以圖形展示python

首先在客戶端上編輯腳本
vim /usr/local/sbin/estab.shweb

內容以下vim

#!/bin/bash
#獲取80端口併發鏈接數
netstat -ant |grep ':80 ' |grep -c ESTABLISHED

更改腳本的權限
chmod 755 /usr/local/sbin/estab.sh瀏覽器

客戶端上編輯配置文件
vim /etc/zabbix/zabbix_agentd.confbash

搜索關鍵字:UnsafeUserParameters 併發

將0更改成1,表示使用自定義腳本
UnsafeUserParameters=1
搜索關鍵字UserParameter
增長1行內容,表示自定義腳本的名字以及存放的地址
UserParameter=my.estab.count[*],/usr/local/sbin/estab.shide

自定義監控項的key爲my.estab.count,後面的[*]裏面寫腳本的參數,若是沒有參數則能夠省略,腳本爲/usr/local/sbin/estab.sh測試

重啓zabbix-agent服務
systemctl restart zabbix-agentdebug

首先到服務端驗證,執行命令,若是顯示爲0表示正常
zabbix_get -s 192.168.177.100 -p 10050 -k 'my.estab.count'rest

而後在zabbix監控中心(瀏覽器)配置增長監控項目,注意鍵值的填寫
添加自定義監控項目、配置郵件告警

添加圖形便可完成


配置郵件告警

首先準備1個郵箱,須要開啓 POP3/SMTP服務 IMAP/SMTP服務,而且開啓客戶端受權密碼

在zabbix web界面點擊 管理>報警媒介類型>建立媒體類型>
•「管理」,「報警媒介類型」,「建立媒體類型」
• {ALERT.SENDTO} ,{ALERT.SUBJECT},{ALERT.MESSAGE}
內容填寫以下:
添加自定義監控項目、配置郵件告警

建立報警腳本mail.py
vim /usr/lib/zabbix/alertscripts/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 = 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]
##定義QQ郵箱的帳號和密碼,你須要修改爲你本身的帳號和密碼(請不要把真實的用戶名和密碼放到網上公開,不然你會死的很慘)
sendqqmail('1234567@163.com','1234567','1234567@163.com',to,subject,content)

if __name__ == "__main__":
main()
#####腳本使用說明######
#1. 首先定義好腳本中的郵箱帳號和密碼
#2. 腳本執行命令爲:python mail.py 目標郵箱 "郵件主題" "郵件內容"

給腳本添加權限
chmod 755 /usr/lib/zabbix/alertscripts/mail.py

測試腳本,執行命令,發一封郵件給本身
python /usr/lib/zabbix/alertscripts/mail.py m1796686653@qq.com "test" "test"

添加用戶
在zabbix web界面選擇 管理>用戶>添加用戶 配置以下
用戶界面:
添加自定義監控項目、配置郵件告警

報警媒介:
添加自定義監控項目、配置郵件告警

權限須要有 全部組 讀寫
添加自定義監控項目、配置郵件告警

設置動做
點擊設置>動做>建立動做>
•名稱寫「sendmail」(自定義),「操做」頁面,內容以下

HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE}  {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}

「新的觸發條件」,A維護狀態 非在 維護,B觸發器示警度>=未分類

「操做」,選擇發送的用戶爲剛建立的用戶,僅送到選擇「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}

點擊「新的」,「操做」,選擇發送的用戶爲剛建立的用戶,僅送到選擇「baojing」測試告警

相關文章
相關標籤/搜索