Ejemplo n.º 1
0
 def consumer_offset_checker(self):
     command = '/usr/lib/kafka_2.10-0.8.2.1/bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper %s --group %s' % (
         self.zookeeper, self.consumer_group)
     output = commands.getoutput(command).split('\n')
     if len(output) == 1:
         logging.warn('there is not ConsumerGroup: %s \t %s' %
                      (self.consumer_group, output))
         return
     lag_sum = 0
     for line in output[1:]:
         if line.find(self.topic) == -1:
             continue
         value = re.split('\s+', line)
         if value[1] != self.topic:
             continue
         lag_sum = lag_sum + int(value[5])
     #        msg = "{'group': %s, 'topic': %s, 'pid': %s, 'offset': %s, 'logsize': %s, 'lag': %s }" % (value[0], value[1], value[2], value[3], value[4], value[5])
     #        print msg
     logging.info(
         "consumer_group: %s, topic: %s, lag: %s, threshold: %s" %
         (self.consumer_group, self.topic, lag_sum, self.threshold))
     if lag_sum > self.threshold:
         subject = 'ConsumerGroup: %s, Topic: %s, delayed messages: %s, threshold: %d' % (
             self.consumer_group, self.topic, lag_sum, self.threshold)
         content = subject
         watchalert.sendAlertToUsers("Kafka",
                                     "KafkaClientAuto ConsumerOffset",
                                     subject, content, self.contact_person,
                                     True, True, False)
         logging.warn(content)
Ejemplo n.º 2
0
 def consumer_offset_checker(self):
     command = '/usr/lib/kafka_2.10-0.8.2.1/bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper %s --group %s' %  (self.zookeeper, self.consumer_group)
     output = commands.getoutput(command).split('\n')
     if len(output) == 1:
         logging.warn('there is not ConsumerGroup: %s \t %s' % (self.consumer_group, output))
         return
     lag_sum = 0
     for line in output[1:]:
         if line.find(self.topic) == -1:
             continue
         value = re.split('\s+', line)
         lag_sum = lag_sum + int(value[5])
 #        msg = "{'group': %s, 'topic': %s, 'pid': %s, 'offset': %s, 'logsize': %s, 'lag': %s }" % (value[0], value[1], value[2], value[3], value[4], value[5])
 #        print msg
     logging.info("consumer_group: %s, topic: %s, lag: %s" % (self.consumer_group, self.topic, lag_sum))
     if lag_sum > self.threshold:
         subject = 'ConsumerGroup: %s, Topic: %s, delayed messages: %s, threshold: %d' % (value[0], value[1], lag_sum, self.threshold)
         content = subject
         if self.consumer_group == 'openapi_feed_kafka_receiver':
             watchalert.sendAlertToUsers("Kafka", "ConsumerOffset", subject, content, "yurun,jianhong1,tianlin5,jiajun3,leijian", True, True, False)
         elif self.consumer_group == 'dip-kafka2es-common-new' or self.consumer_group == 'dip-kafka2es-trace':
             watchalert.sendAlertToUsers("Kafka", "ConsumerOffset", subject, content, "yurun,jianhong1,liunan1", True, True, False)
         logging.warn(content)
Ejemplo n.º 3
0
def report_to_user(subject, content):
    watchalert.sendAlertToUsers("Storm1.1.1", "SupervisorWhetherSurvivor",
                                subject, content, "jianhong1,yurun", True,
                                True, False)
    logging.error(content)
Ejemplo n.º 4
0
def report_to_user(subject, content):
    watchalert.sendAlertToUsers("Kafka", "KafkaSurvivalMonitor", subject,
                                content, "jianhong1", True, True, False)
    logging.error(content)
Ejemplo n.º 5
0
def report_to_user(subject, content):
    watchalert.sendAlertToUsers("Databus", "Kafka2Hdfs WhetherExist", subject, content, "jianhong1", True, True, False)
    logging.error(content)