當前公司nagios已經(jīng)正常使用,也能報警,但是郵件報警采用的是sendmail,發(fā)件人總是nagios@localhost,收到后經(jīng)常被加入到郵件中的垃圾箱,并且有些郵箱服務(wù)器有反垃圾檢測,導(dǎo)致用戶接收不到郵件。為解決這個問題,決定自己寫一個郵件發(fā)送程序。過程如下:

[root@yckj python]# cat sendmail.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
import smtplib
import sys
from email.mime.text import MIMEText
import time
#獲取當前時間
current_time=time.strftime('%Y-%m-%d %H:%M',time.localtime(time.time()))
#獲取用戶名密碼登陸遠程再也箱服務(wù)器
mail_host = 'smtp.exmail.qq.com'
mail_user = 'yangr@vcnglobal.com'
mail_pwd = '12345'
#此處密碼為假
def send_email( content, mailto, get_sub ):
#獲取郵件內(nèi)容,后面是為了支持中文
msg = MIMEText( content,_subtype='plain',_charset='gb2312')
#獲取收件人,與標題
msg['From'] = mail_user
msg['Subject'] =get_sub
msg['To'] = ",".join( mailto )
try:
#連接上遠程郵件發(fā)送服務(wù)器
s = smtplib.SMTP_SSL( mail_host, 465 )
#登陸
s.login(mail_user, mail_pwd )
#發(fā)送郵件
s.sendmail(mail_user, mailto, msg.as_string())
s.close()
except Exception as e:
print 'Exception: ', e
#傳參第一個為郵件標題
title=sys.argv[1]
#傳參第二個為郵件內(nèi)容,此處定義內(nèi)容格式
cont="""
----------------------------------
| 云巢運維管理平臺
----------------------------------
| 報警信息: %s
----------------------------------
| 發(fā)送時間: %s
----------------------------------
""" %(sys.argv[2],current_time)
#指定收件人
to_list = [
#'zhengzh@vcnglobal.com',
#'duc@vcnglobal.com',
#'yangr@vcnglobal.com',
'yangy@vcnglobal.com',
]
#執(zhí)行上述類
send_email( cont, to_list, title)編輯nagios定義命令的文件,注銷掉原有的發(fā)送郵件命令。新增如下:
#vi /usr/local/nagios/etc/objects/commands.cfg
define command{
command_name notify-host-by-email
command_line /usr/bin/python/python/sendmail.py "$HOSTNAME$_$HOSTADDRESS$ $NOTIFICATIONTYPE$, $HOSTNAME$ is $HOSTSTATE$" "$HOSTNAME$ $HOSTADDRESS$ is$HOSTSTATE$,$HOSTOUTPUT$."
}
define command{
command_name notify-service-by-email
command_line /usr/bin/python/python/sendmail.py "$HOSTNAME$_$HOSTADDRESS$ service is $SERVICESTATE$" "$HOSTALIAS$_$HOSTADDRESS$state is $SERVICESTATE$,$SERVICEOUTPUT$. "
#執(zhí)行這個程序,把主機名報警信息傳參進去就可。
}
重啟nagios
#/etc/init.d/nagios chekconfig
#/etc/init.d/nagios restart
Down了nagios監(jiān)控中的一臺192.167.6.136,報警信息如下:
注:模板內(nèi)容可自行更改。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站名稱:Nagios開發(fā)郵件報警程序-創(chuàng)新互聯(lián)
文章出自:http://chinadenli.net/article42/ddhcec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、建站公司、關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容