標籤:郵件 nagios python 警示
當前公司nagios已經正常使用,也能警示,但是郵件警示採用的是sendmail,寄件者總是[email protected],收到後經常被加入到郵件中的垃圾箱,並且有些郵箱伺服器有反垃圾檢測,導致使用者接收不到郵件。為解決這個問題,決定自己寫一個郵件發送程式。過程如下:
1、開發發送郵件指令碼
[[email protected] python]# cat sendmail.py#!/usr/bin/python# -*- coding:utf-8 -*-import smtplibimport sysfrom email.mime.text import MIMETextimport time#擷取目前時間current_time=time.strftime(‘%Y-%m-%d %H:%M‘,time.localtime(time.time()))#擷取使用者名稱密碼登陸遠程再也箱伺服器mail_host = ‘smtp.exmail.qq.com‘mail_user = ‘[email protected]‘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 = [ #‘[email protected]‘, #‘[email protected]‘, #‘[email protected]‘, ‘[email protected]‘, ]#執行上述類send_email( cont, to_list, title)
2、定義Nagios執行發送郵件的命令
編輯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
3、郵件警示現象
Down了nagios監控中的一台192.167.6.136,警示資訊如下:
註:模板內容可自行更改。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/26/44/wKiom1NrFouitEGNAAINglHSfec659.jpg" title="L~T%04A))2SQ)`28[P%905Y.jpg " alt="wKiom1NrFouitEGNAAINglHSfec659.jpg" />
本文出自 “此心安處是吾鄉” 部落格,轉載請與作者聯絡!