詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法
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.subjects。 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需要下面3個參數。
建立使用者或在admin用戶中設定警報
這裡新增的是故障後郵件通知到的郵件,也就是收件者。
建立一個action,實作郵件警報,在設定-Action-create action裡
(處我圖片和下面給的範本不一樣,建議使用模板,因為我使用的伺服器不在中國區域,所有郵件標題會亂碼.. 所以此圖我把標題改短了。
Action-EmailDefault 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}
#警報已恢復,請放鬆心情。
這裡要注意操作類型,發送訊息,還有訊息的腳本。要選對.Kill掉之後,可以在發送這裡看到已經發生成功~
注意:zabbix的警報通常是5分鐘發一次。例如:16:20停止的,16:25才會收到故障郵件,16:30處理了。 16:35可以收到恢復訊息~ …
6.總結
Ubuntu用開發和學習沒問題,但是用作伺服器問題還不少.
正確的姿勢: centos+zabbix+企業信箱 後續如果有機會寫下篇zabbix中微信警報。
以上是詳解Zabbix3.0.2使用外部python腳本實現郵件警報方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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

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