Nagios開發(fā)郵件報警程序-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的靜樂網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

1、開發(fā)發(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
#獲取當(dāng)前時間
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')
    #獲取收件人,與標(biāo)題
    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
#傳參第一個為郵件標(biāo)題
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)

2、定義Nagios執(zhí)行發(fā)送郵件的命令

編輯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

3、郵件報警現(xiàn)象

Down了nagios監(jiān)控中的一臺192.167.6.136,報警信息如下:

注:模板內(nèi)容可自行更改。

Nagios開發(fā)郵件報警程序

另外有需要云服務(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://bm7419.com/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)

成都app開發(fā)公司