python获取钉钉日志数据_python实现对kafka中日志数据监控报告(钉钉)

该Python脚本用于从Kafka消费者获取日志数据,针对500和400状态码进行统计并监控。当达到预设阈值时,通过钉钉接口发送报警消息。使用了DingtalkChatbot库和正则表达式进行日志处理。
摘要由CSDN通过智能技术生成

# !/usr/bin/env python

# coding:utf-8

# 该脚本是作统计

from datetime import datetime, timedelta

import os

from dingtalkchatbot.chatbot import DingtalkChatbot

from kafka import KafkaConsumer

import re

# 存放告警日志

messages = {500: {}, 400: {}}

# import logging as log

# log.basicConfig(level=log.DEBUG)

# 排序,输出顺序是先 5XX 再 4XX,并且按出现uri次数的顺序排序。

def sort_dict():

global messages

tmp = messages

for i in tmp:

tmp[i] = sorted(tmp[i].iteritems(), key=lambda item: item[1], reverse=True)

tmp = sorted(tmp.iteritems(), key=lambda tmp: tmp[0], reverse=True)

return tmp

def send_mail():

try:

message = ''

alldict = sort_dict()

for i in alldict:

if i[0] == 500:

t = '5XX'

message = message + '*******' + t + ':' + '\n'

else:

t = '4XX'

message = message + '*******' + t + ':' + '\n'

for j in i[1]:

message = message + j[0] + ' &

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您在使用 Python Kafka 消费者时,指定了 `group_id`,但是无法获取数据,可能是因为以下原因: 1. 消费者组没有可用的分区或分区没有可用的消息。 2. 消费者组的 `group_id` 与之前的消费者实例相同,导致分区重新分配失败。 3. 消费者配置的 `auto_offset_reset` 参数设置不当,导致无法消费已存在的消息。 4. 没有正确订阅主题或订阅的主题名称错误。 您可以尝试以下解决方法: 1. 确认 Kafka 主题是否有可用的消息,以及分区是否已经分配给了消费者组。 2. 确认消费者组的 `group_id` 是否与之前的消费者实例相同,如果是,请使用新的 `group_id`。 3. 调整消费者配置的 `auto_offset_reset` 参数,以确保可以消费已存在的消息。 4. 确认您已经正确订阅了主题,并且订阅的主题名称没有错误。 以下是一个订阅主题并消费消息的示例代码: ```python from kafka import KafkaConsumer consumer = KafkaConsumer( 'my_topic', bootstrap_servers=['localhost:9092'], auto_offset_reset='earliest', enable_auto_commit=True, group_id='my_group') for message in consumer: print(message.value) ``` 在上面的代码,我们订阅名为 `my_topic` 的主题,并使用 `my_group` 作为消费者组的 `group_id`。我们还将 `auto_offset_reset` 参数设置为 `earliest`,以便从最早的消息开始消费。最后,我们使用 `for` 循环遍历消费者对象返回的消息,并打印消息的值。您可以根据自己的需求调整代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值