首頁 後端開發 Python教學 詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法

詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法

Mar 23, 2017 pm 03:40 PM
蟒蛇腳本

1,找到預設存放腳本的路徑(我是在預設路徑下面放著,如果想換別的路徑,修改zabbix_server.conf設定檔)

/usr/local/zabbix-server/ share/zabbix/alertscripts 腳本存放路徑

2,在目錄新建一個mail.py的文件,腳本參考:

cd /usr/local/zabbix-server/share/zabbix/alertscripts

vim mail.py

#!/usr/bin/python

#coding:utf-8

#author: itnihao

#mail: itnihao@qq.com

#url:https://github.com/itnihao/zabbix-book/edit/master/06-chapter/zabbix_sendmail_v2.py   腳本直接down修改下複製會出現格式問題~

import smtplib

from email.mime.text import MIMEText

import os

import argparse

#import logging

import datetime

#QQ enterprise

#smtp_server = 'smtp.exmail.qq.com'

##smtp_port = 25

#smtp_user = 'itnihao_zabbix@itnihao.com'

#smtp_pass = '1234567890'

163 Mail

#smtp_server = 'smtp.163.com'

#smtp_port = 25

#smtp_user = 'itnihao_zabbix@163.com'

#smtp_pass = '1234567890'

#QQ Mail

smtp_server ='smtp.qq.com'

smtp_port = 25

smtp_user   ='itnihao_zabbix@qq.com'

smtp_pass##  ='1234567890'

##smtp_pass

#def send_mail(mail_to,subject,content):

    msg = MIMEText(content,_subtype='plain', _charset='utf-8')

    msg['Subject'] = unicode(subject,'UTF-8')

    msg['From'] = smtp_user

    msg['to'] = mail_to

   ##csg s['to'] = mail_to

##  

    global senderr

    try:

        if smtp_port == 465:

   #P      else:

#            smtp = smtplib.SMTP()

        smtp.connect(smtp_server,sm      smtp.sendmail(smtp_user,mail_to ,msg.as_string())

        smtp.close()

        print 'send )

## 

##        senderr=str(e)

        print senderr

#        sendstatus = False

#        sendstatus = False

##sdef. logpath='/var/log/zabbix/alert'

    if not sendstatus:

        content = senderr

  

#        os.makedirs(logpath)

    t=datetime.datetime.now()

#    daylogfile=logpath+'/'+str(daytime)+'.log'

    logging.basicConfig(filename=daylogfile,level=logging.DEBUG)

##    os.system( 'chown zabbix.zabbix {0}'.format(daylogfile))

    logging.info('*'*130)

    logging.debug(str(t)+' mail send to {0},content is :\n {1}'.format(mail_to,content))

if __name__ == "__main__":

    parser = argparse.ArgumentParser(description=' Send mail to user for zabbix alerting')

    parser.add_argument('mail_to',action="store", help='The address of the E-mail that send to user ')

#user ')

#user ' #    parser.add_argument('subject',action="store", help='The subject of the E-mail')

    parser.add_argument('content',action="store", help=' The content of the E-mail')

    args = parser.parse_args()

    mail_to=args.mail_to

  #  subject=args.subjectmail_to

  #  subject=args.subject

s。 content=args.content

    send_mail(mail_to,subject,content)

logwrite(sendstatus,mail_to,content)

3,修改腳本的權限

# chown   zabbix.zabbix mail.py

# chmod  775 mail.py

4,zabbix web設定

#在設定媒介類型選擇,建立一個媒介類型

詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法

填寫下面信息,類型選擇腳本,需要填寫zabbix3.0需要下面3個參數。

詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法

建立使用者或在admin用戶中設定警報

詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法

這裡新增的是故障後郵件通知到的郵件,也就是收件者。

詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法

建立一個action,實作郵件警報,在設定-Action-create action裡

(處我圖片和下面給的範本不一樣,建​​議使用模板,因為我使用的伺服器不在中國區域,所有郵件標題會亂碼.. 所以此圖我把標題改短了。

Action-Email

詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法Default subject:

故障{TRIGGER.STATUS},伺服器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!

Default message :

警告主機:{HOSTNAME1}

#警報時間:{EVENT.DATE} {EVENT.TIME}

警告等級:{TRIGGER.SEVERITY}

#警告訊息: {TRIGGER.NAME}

警告項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}:{ITEM.VALUE}

目前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

請至Montoring-Events中查看詳細狀況。

Recovery subject:

恢復{TRIGGER.STATUS}, 伺服器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!

#Recovery message:

警告主機:{HOSTNAME1}

警告時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

#警告訊息: { TRIGGER.NAME}

警報項目:{TRIGGER.KEY1}

#問題詳情:{ITEM.NAME}:{ITEM.VALUE}

目前狀態:{TRIGGER. STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

#警報已恢復,請放鬆心情。

這裡要注意操作類型,發送訊息,還有訊息的腳本。要選對.

詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法

5,測試zabbix發送郵件

找一個agent客戶端,停止。然後看警報郵件~

詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法Kill掉之後,可以在發送這裡看到已經發生成功~ 

注意:zabbix的警報通常是5分鐘發一次。例如:16:20停止的,16:25才會收到故障郵件,16:30處理了。 16:35可以收到恢復訊息~ … 

6.總結詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法

    我這裡使用的ubuntu 16.4的系統,開始嚐用mailx發,後來少一些庫文件無法安裝,後來切換其他辦法都已收不到郵件最後才選定用外部python腳本來實現~·ubuntu系統有很多軟體的依賴環境不自帶.apt-get實在用的不順手,使用126郵箱出現客戶端授權碼無法無法在python腳本中登陸.QQ郵箱只能發生給自己. 最後選的是公司的企業郵箱。但是由於zabbix會頻繁的發送郵件很多也被丟進垃圾箱… 最後在企業郵箱做的轉發到QQ郵箱。

詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法Ubuntu用開發和學習沒問題,但是用作伺服器問題還不少.

正確的姿勢: centos+zabbix+企業信箱 後續如果有機會寫下篇zabbix中微信警報。

以上是詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

crontab定時任務不執行的一些原因,你知道嗎? crontab定時任務不執行的一些原因,你知道嗎? Mar 09, 2024 am 09:49 AM

crontab定時任務不執行的一些緣由總結更新時間:2019年01月09日09:34:57作者:田野上的希望這篇文章主要給你們總結介紹了關於crontab定時任務不執行的一些緣由,對每種可能發生的誘因都給出了解決方式,對遇見這個問題的同事們具有一定的參考學習價值,須要的同學們下邊隨著小編來一起學習學習吧序言近來在工作中遇見了一些問題, crontab定時任務竟然不執行,後來我在網上找的時侯發覺網上主要說了這5個誘因:1crond服務未啟動crontab不是Linux內核的功能,而是依賴一個cron

PyCharm進階教學:利用PyInstaller將程式碼打包為EXE格式 PyCharm進階教學:利用PyInstaller將程式碼打包為EXE格式 Feb 20, 2024 am 09:34 AM

PyCharm是一款功能強大的Python整合開發環境,提供了豐富的功能和工具來幫助開發者提高效率。其中,PyInstaller是一個常用的工具,可以將Python程式碼打包為執行檔(EXE格式),方便在沒有Python環境的機器上運作。在本篇文章中,我們將介紹如何在PyCharm中使用PyInstaller將Python程式碼打包為EXE格式,並提供具體的

探秘Orange3:打開資料探勘與機器學習新世界! 探秘Orange3:打開資料探勘與機器學習新世界! Mar 04, 2024 pm 08:16 PM

Orange3是一個功能強大的開源資料視覺化和機器學習工具,它具備豐富的資料處理、分析和建模功能,為使用者提供了簡單快速的資料探勘和機器學習解決方案。本文將簡單介紹Orange3的基本功能與使用方法,同時結合實際應用場景與Python程式碼案例,幫助讀者更掌握Orange3的使用技巧。 Orange3的基本功能包括資料載入、資料預處理、特徵選擇、模型建立和評估等。使用者可以利用直覺的介面拖放元件,輕鬆建立資料流程。同時,透過Python腳本,也能完成更複雜的資料處理與建模任務。下面我們將通過一個實際

怎麼重複字串_python重複字串教程 怎麼重複字串_python重複字串教程 Apr 02, 2024 pm 03:58 PM

1.先開啟pycharm,進入到pycharm首頁。 2.然後新建python腳本,右鍵--點選new--點選pythonfile。 3.輸入一段字串,代碼:s="-"。 4.接著需要把字串裡面的符號重複20次,代碼:s1=s*20。5、輸入列印輸出代碼,代碼:print(s1)。 6.最後運行腳本,在最底部會看到我們的回傳值:-就重複了20次。

pycharm怎麼讀取excel數據 pycharm怎麼讀取excel數據 Apr 03, 2024 pm 08:42 PM

如何使用PyCharm讀取Excel資料?步驟如下:安裝openpyxl庫;匯入openpyxl庫;載入Excel工作簿;存取特定工作表;存取工作表中的儲存格;遍歷行和列。

網站子網域查詢工具有哪些 網站子網域查詢工具有哪些 Mar 07, 2024 am 09:49 AM

網站子域名查詢工具有:1、Whois Lookup:可以查詢域名的註冊信息,包括子域名;2、Sublist3r:可以在搜尋引擎和其他工具的幫助下自動掃描域名的子域名;3、DNSdumpster:可以查詢網域的子網域、IP位址及DNS記錄等資訊;4、Fierce:可透過DNS伺服器查詢網域的子網域資訊:5、Nmap;6、Recon-ng;7、Google Hacking。

Flask安裝設定教學:輕鬆建置PythonWeb應用的利器 Flask安裝設定教學:輕鬆建置PythonWeb應用的利器 Feb 20, 2024 pm 11:12 PM

Flask安裝設定教學:輕鬆建置PythonWeb應用的利器,需要具體程式碼範例引言:隨著Python的日益流行,Web開發也成為了Python程式設計師的必備技能之一。而要進行Python的Web開發,我們需要選擇適合的Web框架。在眾多的PythonWeb框架中,Flask是一款簡潔、易上手且靈活的框架,備受開發者的青睞。本文將介紹Flask框架的安裝、

如何在Linux系統中執行Python腳本 如何在Linux系統中執行Python腳本 Oct 05, 2023 am 08:05 AM

如何在Linux系統中執行Python腳本作為強大的腳本語言,Python在Linux系統中廣泛應用。在本文中,我將為你介紹如何在Linux系統中執行Python腳本,並提供具體的程式碼範例。安裝Python首先,確保你的Linux系統上已經安裝了Python。在終端機中輸入以下指令來檢查系統是否已安裝Python:python--version如果顯示了

See all articles