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

[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()))
#獲取用戶名密碼登陸遠程再也箱服務器
mail_host = 'smtp.exmail.qq.com'
mail_user = 'yangr@vcnglobal.com'
mail_pwd = '12345'
#此處密碼為假
def send_email( content, mailto, get_sub ):
#獲取郵件內容,后面是為了支持中文
msg = MIMEText( content,_subtype='plain',_charset='gb2312')
#獲取收件人,與標題
msg['From'] = mail_user
msg['Subject'] =get_sub
msg['To'] = ",".join( mailto )
try:
#連接上遠程郵件發送服務器
s = smtplib.SMTP_SSL( mail_host, 465 )
#登陸
s.login(mail_user, mail_pwd )
#發送郵件
s.sendmail(mail_user, mailto, msg.as_string())
s.close()
except Exception as e:
print 'Exception: ', e
#傳參第一個為郵件標題
title=sys.argv[1]
#傳參第二個為郵件內容,此處定義內容格式
cont="""
----------------------------------
| 云巢運維管理平臺
----------------------------------
| 報警信息: %s
----------------------------------
| 發送時間: %s
----------------------------------
""" %(sys.argv[2],current_time)
#指定收件人
to_list = [
#'zhengzh@vcnglobal.com',
#'duc@vcnglobal.com',
#'yangr@vcnglobal.com',
'yangy@vcnglobal.com',
]
#執行上述類
send_email( cont, to_list, title)編輯nagios定義命令的文件,注銷掉原有的發送郵件命令。新增如下:
#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$. "
#執行這個程序,把主機名報警信息傳參進去就可。
}
重啟nagios
#/etc/init.d/nagios chekconfig
#/etc/init.d/nagios restart
Down了nagios監控中的一臺192.167.6.136,報警信息如下:
注:模板內容可自行更改。

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