告警系統郵件引擎

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

20.23-20.25 告警系統郵件引擎

創建發郵件的腳本——mail.py

[root@localhost mail]# pwd
/usr/local/sbin/mon/mail[root@localhost mail]# vim mail.py
#!/usr/bin/env python
#-*- coding: UTF-8 -*-
import os,sys
reload(sys)
sys.setdefaultencoding('utf8')
import getopt
import smtplib
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from  subprocess import *
def sendqqmail(username,password,mailfrom,mailto,subject,content):gserver = 'smtp.163.com'gport = 25try:msg = MIMEText(unicode(content).encode('utf-8'))msg['from'] = mailfrommsg['to'] = mailtomsg['Reply-To'] = mailfrommsg['Subject'] = subjectsmtp = smtplib.SMTP(gserver, gport)smtp.set_debuglevel(0)smtp.ehlo()smtp.login(username,password)smtp.sendmail(mailfrom, mailto, msg.as_string())smtp.close()except Exception,err:print "Send mail failed. Error: %s" % err
def main():to=sys.argv[1]subject=sys.argv[2]content=sys.argv[3]
##定義QQ郵箱的賬號和密碼,你需要修改成你自己的賬號和密碼(請不要把真實的用戶名和密碼放到網上
公開,否則你會死的很慘)sendqqmail('asdgsfsdl@163.com','sdfsd2.','asdgsfsdl@163.com',to,subject,content)
if __name__ == "__main__":main()#####腳本使用說明######
#1. 首先定義好腳本中的郵箱賬號和密碼
#2. 腳本執行命令為:python mail.py 目標郵箱 "郵件主題" "郵件內容"

創建郵件引擎的配置文件

#本腳本用于做告警收斂
#Written by Adai
log=$1
t_s=`date +%s`
#時間戳1
t_s2=`date -d "2 hours ago" +%s`
#時間戳2(兩個小時之前的時間)
#定義該時間戳的目的是保證第一次執行該腳本時v大于一小時
#保證第一次執行的時候能報警
#因為只有發生故障的時候才會執行該腳本,所以第一次執行必須要報警
if [ ! -f /tmp/$log ]
thenecho $t_s2 > /tmp/$log
fi
#創建記錄時間戳的日志文件
t_s2=`tail -1 /tmp/$log|awk '{print $1}'`
echo $t_s>>/tmp/$log
v=$[$t_s-$t_s2]
#兩個時間戳的間隔時間
echo $v
#計時器:
if [ $v -gt 3600 ]
then
#如果時間間隔大于1小時,則啟動報警系統./mail.py  $1  $2  $3echo "0" > /tmp/$log.txt
#$log.txt為計數器文件:
elseif [ ! -f /tmp/$log.txt ]thenecho "0" > /tmp/$log.txtfi
#查看計數器文件中的數字nu=`cat /tmp/$log.txt`nu2=$[$nu+1]echo $nu2>/tmp/$log.txt
#重置$log.txt數值if [ $nu2 -gt 10 ]then
#告警收斂:該故障持續十分鐘,開始報警./mail.py  $1 "trouble continue 10 min $2" "$3"echo "0" > /tmp/$log.txt
#告警結束后重新開始計數fi
fi

20.26 運行告警系統

執行告警系統,將告警任務寫入計劃任務中,每分鐘執行一次。

[root@localhost mail]# crontab -e
* * * * * cd /usr/local/sbin/mon/bin; bash main.sh

轉載于:https://my.oschina.net/adailinux/blog/1540025

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257442.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257442.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257442.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【HTTP 2】簡介(Introduction)

前情提要 在上一篇文章《【HTTP 2.0】 序言》中,我們簡要介紹了 HTTP 2 協議的概要和協議狀態。 在本篇文章中,我們將會了解到 HTTP 2 協議簡介(Introduction)部分的內容。 簡介(Introduction) 超文本傳輸協…

java測試類生成對象,java編寫student類 用Java編寫一段測試程序,生成student類的兩個對象,并輸出每個對象基本信息?...

java中怎么創建對象數組?比如我創建了一個學生類Student,怎么用這個類創建一個對象數組,麻煩給個例子?學生類:classA{privateStringnameprivateintagepublicStringgetName(){returnname}publicvoidsetName(Stringname)…

iOS -- SKScene類

SKScene類 繼承自SKEffectNode:SKNode:UIResponder:NSObject符合NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject)框架 /System/Library/Frameworks/SpriteKit.framework可用性可用于iOS 7.0或者更晚的版本聲明于SKScene.h參考指南Sprite Kit Progamming Guide概覽 重要提…

SSD硬盤 全盤安全擦除

此文From http://ssd.zol.com.cn/575/5753057.html 在SSD固態硬盤的使用過程中,部分用戶可能會碰到計算機意外掉電或死機并強行斷電后,系統出現異常,掃描SSD后發現壞塊,然后一著急一跺腳甚至想返廠維修。 其實掉電后固態硬盤出現壞…

php中等3秒再跳轉,跳轉和重定向

頁面跳轉在應用開發中,經常會遇到一些帶有提示信息的跳轉頁面,例如操作成功或者操作錯誤頁面,并且自動跳轉到另外一個目標頁面。系統的ThinkController類內置了兩個跳轉方法success和error,用于頁面跳轉提示,而且可以支…

2017敏捷沙灘大會:完美軟件,測量持續交付,以及探索未來

在英國康沃爾郡舉行的2017敏捷沙灘大會上,數百名演講者和參與者共聚一堂,探討敏捷和后敏捷領域軟件開發方法有哪些最新進展。本次大會最后一個下午的要點包括:交付團隊可以通過擁抱精益、迭代和持續的部署方法更快速地實現業務價值&#xff1…

做fzu oj 1045 做減法學到的sprintf()函數

題目 做題一直輸不出答案,于是就上網去百度了這題的解題,發現解答十分的簡短,而且其中我看見了平時沒見過的函數,sprintf()。 于是就百度sprintf()的使用。 如下: 函數功能:把格式化的數據寫入某個字符串 函…

動態內存分配及變量存儲類別(第二部分)

5. C語言變量的存儲類別和生存期 我們知道,變量是有數據類型的,用以說明它占用多大的內存空間,可以進行什么樣的操作。除了數據類型,變量還有一個屬性,稱為“存儲類別”。存儲類別就是數據在內存中的存放區域。一個正在…

oracle的em能干什么,轉載?解決Oracle的EM登錄

轉載 解決Oracle的EM登錄(2011-03-13 20:53:39)標簽:雜談這幾天解決了EM無法登錄的問題,順便也把j數據庫程序中常出現的ORA_12518錯誤解決了,有必要總結一下,我最初遇到的情況是這樣的:1. 編寫java程序訪問oracle數據庫…

python 回溯法 子集樹模板 系列 —— 1、8 皇后問題

問題 88格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處于同一行、同一列或同一斜線上,問有多少種擺法。 分析 為了簡化問題,考慮到8個皇后不同行,則每一行放置一個皇后,每一行的皇后…

Core Java Volume I — 3.6. Strings

3.6. StringsConceptually, Java strings are sequences of Unicode characters(Java的字符串是一個Unicode序列). For example, the string "Java\u2122" consists of the five Unicode characters J, a, v, a, and ?. Java does not have a…

Android實用代碼七段(五)

前言 每次分享意味著每次都有進步,本系列以實用為主,歡迎和我分享和推薦好用的代碼段~~聲明歡迎轉載,但請保留文章原始出處:) 博客園:http://www.cnblogs.com農民伯伯: http://over140.cnblogs.com 正文 1、展開、收起…

oracle 自增1,oracle自增無法從1開始

問題描述我想讓XH字段從1開始增加,由于是varchar類型的,所以就用這種方式,但我發現我的數據表中XH字段是從217開始增加的,為什么啊問題出現的環境背景及自己嘗試過哪些方法相關代碼// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)declarej number;i number;begini:1;j:1;for i …

ceph Luminous版手動安裝零散記錄

1.安裝必要的依賴包,關防火墻,向/etc/hosts內添加域名等 2.安裝ceph 配置yum源 (如果嫌慢,可以配置cachedir/home/yum/$basearch/$releasever和keepcache1兩個參數,在第一次安裝時將安裝包下載到本地做成yum源,給后面的…

C#最簡單最完整的webservice實例

我做java,但最近接觸crm所以必須研究一下C#中的webservice以備后用,其實就是個新手,哈哈,這個實例是我在參考了網上諸多不完整的例子的情況下,自己摸索完成的。期間遇到過一系列的棘手的問題,經過個人努力終…

2015 UESTC 數據結構專題G題 秋實大哥去打工 單調棧

秋實大哥去打工 Time Limit: 1 Sec Memory Limit: 256 MB 題目連接 http://acm.uestc.edu.cn/#/contest/show/59Description 天行健,君子以自強不息。地勢坤,君子以厚德載物。天天過節的秋實大哥又要過節了,于是他要給心愛的妹子買禮物。但由…

oracle怎么通過sid確定表名,如何獲取Oracle的SID列表

更好的方法是,如果您有權訪問主機并且Oracle安裝使用以下命令:lsnrctl status。這適用于Unix,Linux和Windows機器。 status命令將顯示所有監聽器(及其相關的SID)。C:\>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Pr…

51 Nod 1007 正整數分組【類01背包】

1007 正整數分組 基準時間限制:1 秒 空間限制:131072 KB 分值: 10難度:2級算法題將一堆正整數分為2組,要求2組的和相差最小。例如:1 2 3 4 5,將1 2 4分為1組,3 5分為1組,兩組和相差1…

YTU 2924: 文件操作--二進制文件讀入

2924: 文件操作--二進制文件讀入 時間限制: 1 Sec 內存限制: 128 MB提交: 58 解決: 20題目描述 現有100名學生的姓名(name)、學號(num)、英語(English)、數學(Math)、語文(Chinese)成績存儲在一個二進制文件student.dic中(姓名用char[20],學號和各科成績用int存儲…

oracle 9.2.0.4,CentOS 4.7 安裝Oracle 9.2.0.4的一些問題

#vi/etc/sysconfig/iptables,增加如下-A INPUT -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT-A INPUT -p tcp -s 0/0 -d 0/0 --dport telnet -j ACCEPT-A INPUT -p tcp -s 0/0 -d 0/0 --dport ssh -j ACCEPT-A INPUT -p tcp -s 0/0 -d 0/0 --dport login -j ACCEPT-…