1. 程式人生 > >2018-7-10

2018-7-10

dma 郵箱 微軟雅黑 item val lis value try ext

19.12 添加自定義監控項目
19.13/19.14 配置郵件告警
19.15 測試告警
19.16 不發郵件的問題處理



19.12 添加自定義監控項目

分為兩個步驟

1.zabbix監控中心創建監控項目

vim /usr/local/sbin/estab.sh

內容:


#!/bin/bash

##獲取80端口並發連接數

netstat -ant |grep ':80 ' |grep -c ESTABLISHED

技術分享圖片

2.針對該監控項目以圖形展現


netstat -ant |grep ':80 ' |grep -c ESTABLISHED

技術分享圖片


更改權限為755

chmod 755 /usr/local/sbin/estab.sh


編輯客戶上的配置文件

vim /etc/zabbix/zabbix_agentd.conf

內容:

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.133.132 -p 10050 -k 'my.estab.count‘

然後在zabbix監控中心(瀏覽器)配置增加監控項目

鍵值寫my.estab.count

添加該項目後,到“監測中”>“最新數據”查看剛添加的項目是否有數據出現

有了數據就可以添加圖形了

“配置”>“主機” >“圖形” >“創建圖形”




19.13/19.14 配置郵件告警

郵箱發告警郵件

登錄郵箱,設置開啟POP3、IMAP、SMTP服務

開啟並記錄授權碼

然後到監控中心設置郵件告警

“管理”,“報警媒介類型”,“創建媒體類型”

{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.qq.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('[email protected]','aaaaaaaaaa','[email protected]',to,subject,content)


if __name__ == "__main__":

main()

#####腳本使用說明######

#1. 首先定義好腳本中的郵箱賬號和密碼

#2. 腳本執行命令為:python mail.py 目標郵箱 "郵件主題" "郵件內容"


更改文件權限為755


創建一個接受告警郵件的用戶,“管理”,“用戶”,“創建用戶”,“報警媒介”,類型選擇“baojing”,註意用戶的權限,如果沒有需要到用戶組去設置權限



設置動作,“配置”,“動作”,“創建動作”,名稱寫“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”






19.15 測試告警

技術分享圖片

操作觸發器


創建自定義觸發器

技術分享圖片

選擇一個監控項目precessor load,N=1,當他小於1時候告警


技術分享圖片

失敗 沒有正常發送郵件,腳本無權限或者條件定義不對,恢復反復更改測試觸發器。





19.16 不發郵件的問題處理

嘗試恢復快照,重新裝一遍zabbix,可能是zabbix服務混亂,重新搭建。


2018-7-10