Exemplo n.º 1
0
def run():
    monitor = Monitor()
    while True:
        try:
            monitor.check()
        except Exception, e:
            log.error(e)
        time.sleep(ConfUtil.getCycle())
def run():
    monitor = Monitor()
    while True:
        try:
            monitor.check()
        except Exception, e:
            log.error(e)
        time.sleep(ConfUtil.getCycle())
Exemplo n.º 3
0
def index():
    try:
        addrList = ConfUtil.getMQAddrList()
        addr = request.args.get('addr', addrList[0])
        queues = MQService.getQueues(addr)
        addrList.remove(addr)
        addrList.insert(0, addr)
    except Exception, e:
        log.error(e)
def index():
    try:
        addrList = ConfUtil.getMQAddrList()
        addr = request.args.get('addr', addrList[0])
        queues = MQService.getQueues(addr)
        addrList.remove(addr)
        addrList.insert(0, addr)
    except Exception, e:
        log.error(e)
Exemplo n.º 5
0
def sendMultiMail(data):
    print data
    try:
        server = smtplib.SMTP(smtpServer, smtpPort)
        server.set_debuglevel(1)
        server.login(fromAddr, password)
        for (mail, content) in data.items():
            if len(content) == 0:
                continue
            message = MIMEText('\n'.join(content), 'plain', 'utf-8')
            message['Subject'] = Header(u'RabbitMQ报警', 'utf-8').encode()
            server.sendmail(fromAddr, mail, message.as_string())
    except Exception, e:
        log.error(e)
Exemplo n.º 6
0
def sendMultiMail(data):
    print data
    try:
        server = smtplib.SMTP(smtpServer, smtpPort)
        server.set_debuglevel(1)
        server.login(fromAddr, password)
        for (mail, content) in data.items():
            if len(content) == 0:
                continue
            message = MIMEText('\n'.join(content), 'plain', 'utf-8')
            message['Subject'] = Header(u'RabbitMQ报警', 'utf-8').encode()
            server.sendmail(fromAddr, mail, message.as_string())
    except Exception, e:
        log.error(e)
Exemplo n.º 7
0
 def check(self):
     mailContent = {}
     for mail in ConfUtil.getGlobalMailList():
         mailContent[mail.strip()] = []
     for addr in self.__addrList:
         overviewUrl = 'http://' + addr.strip() + '/api/overview'
         try:
             res = requests.get(overviewUrl,
                                auth=(self.__username, self.__password))
         except ConnectionError, e:
             for mail in ConfUtil.getGlobalMailList():
                 mailContent[mail].append(addr + ' is dead.')
             continue
         queueUrl = 'http://' + addr.strip() + '/api/queues'
         res = requests.get(queueUrl,
                            auth=(self.__username, self.__password))
         for queue in json.loads(res.text):
             queueName = queue.get('name')
             if queueName in ConfUtil.getIgnoreQueueList():
                 continue
             messages = queue.get('messages', 0)
             doc = MonitorDao.findQueue(addr, queueName)
             if doc == None:
                 if messages > ConfUtil.getGlobalMsgTotalMax():
                     alarm = addr + ', ' + queueName + ', ' + 'msgTotal is ' + str(
                         messages) + '(' + str(
                             ConfUtil.getGlobalMsgTotalMax()) + ').'
                     for mail in ConfUtil.getGlobalMailList():
                         mailContent[mail].append(alarm)
             else:
                 try:
                     msgTotalMax = 0
                     if len(doc.get('msgTotalMax')) > 0:
                         msgTotalMax = (int)(doc.get('msgTotalMax'))
                 except Exception, e:
                     log.error(doc)
                 mailList = doc.get('mailList')
                 if messages > msgTotalMax:
                     alarm = addr + ', ' + queueName + ', ' + 'msgTotal is ' + str(
                         messages) + '(' + str(msgTotalMax) + ').'
                     for mail in mailList:
                         if mailContent.get(mail) == None:
                             mailContent[mail] = []
                         mailContent[mail.strip()].append(alarm)
Exemplo n.º 8
0
 def check(self):
     mailContent = {}
     for mail in ConfUtil.getGlobalMailList():
         mailContent[mail.strip()] = [] 
     for addr in self.__addrList:
         overviewUrl = 'http://' + addr.strip() + '/api/overview'
         try:
             res = requests.get(overviewUrl, auth=(self.__username, self.__password))
         except ConnectionError, e:
             for mail in ConfUtil.getGlobalMailList():
                 mailContent[mail].append(addr + ' is dead.')
             continue
         queueUrl = 'http://' + addr.strip() + '/api/queues'
         res = requests.get(queueUrl, auth=(self.__username, self.__password))
         for queue in json.loads(res.text):
             queueName = queue.get('name')
             if queueName in ConfUtil.getIgnoreQueueList():
                 continue
             messages = queue.get('messages', 0)
             doc = MonitorDao.findQueue(addr, queueName)
             if doc == None:
                 if messages > ConfUtil.getGlobalMsgTotalMax():
                     alarm = addr + ', ' + queueName + ', ' + 'msgTotal is ' + str(messages) + '(' + str(ConfUtil.getGlobalMsgTotalMax()) + ').'    
                     for mail in ConfUtil.getGlobalMailList():
                         mailContent[mail].append(alarm)
             else:
                 try:
                     msgTotalMax = 0
                     if len(doc.get('msgTotalMax')) > 0:
                         msgTotalMax = (int)(doc.get('msgTotalMax'))
                 except Exception, e:
                     log.error(doc)
                 mailList = doc.get('mailList')
                 if messages > msgTotalMax:
                     alarm = addr + ', ' + queueName + ', ' + 'msgTotal is ' + str(messages) + '(' + str(msgTotalMax) + ').'
                     for mail in mailList:
                         if mailContent.get(mail) == None:
                             mailContent[mail] = []
                         mailContent[mail.strip()].append(alarm)