當(dāng)前公司nagios已經(jīng)正常使用,也能報(bào)警,但是郵件報(bào)警采用的是sendmail,發(fā)件人總是nagios@localhost,收到后經(jīng)常被加入到郵件中的垃圾箱,并且有些郵箱服務(wù)器有反垃圾檢測(cè),導(dǎo)致用戶接收不到郵件。為解決這個(gè)問(wèn)題,決定自己寫(xiě)一個(gè)郵件發(fā)送程序。過(guò)程如下:
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的靜樂(lè)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴![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)前時(shí)間 current_time=time.strftime('%Y-%m-%d %H:%M',time.localtime(time.time())) #獲取用戶名密碼登陸遠(yuǎn)程再也箱服務(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: #連接上遠(yuǎn)程郵件發(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 #傳參第一個(gè)為郵件標(biāo)題 title=sys.argv[1] #傳參第二個(gè)為郵件內(nèi)容,此處定義內(nèi)容格式 cont=""" ---------------------------------- | 云巢運(yùn)維管理平臺(tái) ---------------------------------- | 報(bào)警信息: %s ---------------------------------- | 發(fā)送時(shí)間: %s ---------------------------------- """ %(sys.argv[2],current_time) #指定收件人 to_list = [ #'zhengzh@vcnglobal.com', #'duc@vcnglobal.com', #'yangr@vcnglobal.com', 'yangy@vcnglobal.com', ] #執(zhí)行上述類(lèi) send_email( cont, to_list, title)
編輯nagios定義命令的文件,注銷(xiāo)掉原有的發(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í)行這個(gè)程序,把主機(jī)名報(bào)警信息傳參進(jìn)去就可。
}
重啟nagios
#/etc/init.d/nagios chekconfig
#/etc/init.d/nagios restart
Down了nagios監(jiān)控中的一臺(tái)192.167.6.136,報(bào)警信息如下:
注:模板內(nèi)容可自行更改。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站名稱(chēng):Nagios開(kāi)發(fā)郵件報(bào)警程序-創(chuàng)新互聯(lián)
文章出自:http://muchs.cn/article42/ddhcec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(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)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容