首页 > 其他分享 >【Kafka-Eagle】EFAK告警配置与实践

【Kafka-Eagle】EFAK告警配置与实践

时间:2023-12-28 11:04:35浏览次数:32  
标签:Eagle get EFAK Kafka topic 监控 告警


Kafka-Eagle是一个开源的Kafka集群监控与告警系统,可以帮助用户实现对Kafka集群的实时监控、性能指标收集以及异常告警等功能。下面是关于Kafka-Eagle的告警配置和实践的一般步骤:

  1. 安装和配置Kafka-Eagle:
  • 下载最新版本的Kafka-Eagle安装包,并解压到一个合适的目录中。
  • 进入Kafka-Eagle的解压目录,编辑conf/system-config.properties文件,配置Kafka集群的相关信息。
  • 修改kafka.eagle.zk.cluster.alias属性来设置ZooKeeper集群的别名。
  • 修改kafka.eagle.zk.list属性来设置ZooKeeper的地址,支持多个地址用逗号分隔。
  • 修改kafka.eagle.bootstrap.servers属性来设置Kafka集群的Bootstrap Servers,支持多个地址用逗号分隔。
  1. 配置告警规则:
  • 在Kafka-Eagle的解压目录下,找到conf/alarm.properties文件,该文件用于配置告警规则。
  • 告警规则由JSON数组表示,可以添加多个告警规则。
  • 每个告警规则由以下字段组成:
  • cluster:指定Kafka集群的别名,与system-config.properties文件中的kafka.eagle.zk.cluster.alias对应。
  • topic:定义要监控的Topic名称,可以使用通配符(*)匹配多个Topic。
  • alarmLevel:设置告警级别,可选值为CRITICALWARNINGINFO
  • expression:定义告警的触发条件,可以使用Kafka-Eagle提供的表达式语法,例如brokerMetrics.get(1).get('HeapMemoryUsed') > 1000000000表示当Broker的堆内存使用量超过1GB时触发告警。
  • notificationGroups:指定通知组,用于发送告警通知。
  1. 配置告警通知方式:
  • conf/alarm.properties文件中,配置告警通知方式。
  • Kafka-Eagle支持多种告警通知方式,包括邮件、短信、Webhook等。
  • 配置相应的通知方式参数,如SMTP服务器信息(如果使用邮件通知)或其他通知方式的相关参数。
  1. 启动Kafka-Eagle:
  • 执行Kafka-Eagle的启动脚本,例如执行./bin/ke.sh start(Linux/Mac)或bin\ke.bat start(Windows)来启动Kafka-Eagle服务。
  • 等待一段时间,确保Kafka-Eagle成功连接到Kafka集群并开始收集监控数据。
  1. 监控与告警查看:
  • 打开Web浏览器,访问Kafka-Eagle的Web界面,默认地址为http://<Kafka-Eagle服务器IP>:8048/ke
  • 在登录页面输入用户名和密码,默认用户名为admin,密码为admin(可以在conf/system-config.properties文件中修改)。
  • 登录后,可以查看Kafka集群的实时监控数据、告警信息和历史记录。
  • 在"Topics"选项卡下,可以查看Topic的分区情况、消息堆积数量等指标。
  • 在"Brokers"选项卡下,可以查看Broker的性能指标、副本状态等信息。
  • 当触发告警规则时,Kafka-Eagle会发送相应的告警通知。

请注意,以上步骤仅为基本配置和使用Kafka-Eagle进行告警的指导。Kafka-Eagle还提供了更多功能,如消费者组监控、消息查询等。你可以参考官方文档获取更详细的配置和使用说明,并根据实际需求进行适当调整和优化。

当配置Kafka-Eagle的告警规则时,你可以根据实际需求定义更详细的规则。以下是一些常见的告警规则配置选项:

1. `cluster`:指定要监控的Kafka集群的别名。

2. `topic`:定义要监控的Topic名称。你可以使用通配符(*)来匹配多个Topic,例如`topic: "my_topic_*"`。

3. `alarmLevel`:设置告警级别,可选值包括:
   - `CRITICAL`:关键级别的告警,表示存在严重问题。
   - `WARNING`:警告级别的告警,表示存在潜在问题。
   - `INFO`:信息级别的告警,表示一般的监控信息。

4. `expression`:定义告警触发条件的表达式。你可以使用Kafka-Eagle提供的表达式语法来构建条件。以下是一些常用的表达式语法:
   - 监控Broker的Heap Memory使用量是否超过阈值:`brokerMetrics.get(<brokerId>).get('HeapMemoryUsed') > <threshold>`。
   - 监控Topic的消息堆积数量是否超过阈值:`topicMetrics.get('<topicName>').get('MessagesIn') > <threshold>`。
   - 监控Topic的副本数量是否低于期望值:`topicMetadata.get('<topicName>').get('ReplicaCount') < <expectedReplicaCount>`。

5. `notificationGroups`:指定用于发送告警通知的通知组。你可以在Kafka-Eagle的Web界面中配置通知组,包括邮件、短信、Webhook等方式。

下面是一个示例告警规则的配置:

```json
 [
   {
     "cluster": "my_cluster",
     "topic": "my_topic",
     "alarmLevel": "CRITICAL",
     "expression": "topicMetrics.get('my_topic').get('MessagesIn') > 1000",
     "notificationGroups": ["group1", "group2"]
   },
   {
     "cluster": "my_cluster",
     "topic": "another_topic",
     "alarmLevel": "WARNING",
     "expression": "brokerMetrics.get(1).get('HeapMemoryUsed') > 1000000000",
     "notificationGroups": ["group1"]
   }
 ]
 ```

以上示例中定义了两个告警规则:
- 第一个规则监控名为`my_topic`的Topic,当其消息堆积数量超过1000时触发关键级别的告警,并发送通知给`group1`和`group2`。
- 第二个规则监控名为`another_topic`的Topic,当Broker 1的堆内存使用量超过1GB时触发警告级别的告警,并发送通知给`group1`。

你可以根据实际需求调整告警规则中的参数和表达式,以满足你的监控和告警需求。同时,Kafka-Eagle还提供了更多的表达式函数和变量,你可以查阅官方文档获取更详细的表达式语法和使用说明。

参考资料

3.快速入门 - Kafka Eagle (kafka-eagle.org)

使用kafka-eagle监控kafka_kafka-eagle告警-

标签:Eagle,get,EFAK,Kafka,topic,监控,告警
From: https://blog.51cto.com/u_11579569/9011107

相关文章

  • kafka常用命令
    Windows1.启动zookeeper,kafka高版本已经集成zookeeperbin\windows\zookeeper-server-start.batconfig\zookeeper.properties​2.启动kafka服务器bin\windows\kafka-server-start.batconfig\server.properties​3.创建topicbin\windows\kafka-topics.bat--create--......
  • Kafka 再均衡详解:实现消费者组的负载均衡和故障转移(十二)
    在Kafka中,再均衡(Rebalancing)是指在消费者组内部发生变化时,Kafka会重新分配分区给消费者,以实现负载均衡和故障转移的目的。再均衡是Kafka实现高可用性和可扩展性的重要机制之一。再均衡的场景消费者加入、消费者退出和分区变化等情况。消费者加入:当新的消费者加入消费者组......
  • Kafka与ClickHouse开发与应用_tyt2023
    本实验基于MRS环境,Kafka部分主要介绍kafka命令行脚本的基本使用规范,以及通过介绍一个电商数据实时分析的场景将Kafka和SparkStreaming进行组合,帮助大家更好地掌握实际项目的开发流程。ClickHouse部分主要介绍常见的业务操作,代码样例中所涉及的SQL操作主要包括创建数据库、创建表......
  • kafka安装
    单节点kafka安装#!/bin/bash###############################################################FileName:install_kafka.sh#Version:V1.0#Author:junwang#Organization:#CreatedTime:2021-04-1417:12:54#Description:###################################......
  • kafka 自定义开发Sink Connector组件(兼容mysql和oracle)
    1.情景展示目前,市场上已有不少能从kafka消费数据的插件,如:io.confluent.connect.jdbc.JdbcSinkConnector,但这个组件有个致命的问题是,只能同步字符串类型。具体意思是:源库源表的日期类型字段,往目标库目标表插入数据的时候,只能是字符串类型,无法自动将其转成日期类型。这样一来的......
  • QT 中配置 64位kafka ,c++
    在MSYS2下,执行$pacman-Smingw32/mingw-w64-i686-librdkafkamingw64/mingw-w64-x86_64-librdkafka即可获得二进制库、头文件和动态链接库。文件路径实例,D:\msys64\mingw64下找文件即可:D:\msys64\mingw64\lib\librdkafka++.dll.a 在工程文件中创建文件夹thirdparty/librdkaf......
  • kafka 实战-记一次生产环境broker may not available
    1故障背景10:09:34.948ifpo.apache.kafka.clients.Networkclient748[ProducerclientId=producer-1]Connectiontonode0(10.x.x.x:9093)couldnotbeestablished.Brokermaynotbeavailable.故障细节生产kafka服务端集群全部宕机,但车端还在往我的数据网关服务上......
  • RabbitMQ vs Kafka:正面交锋!
    介绍作为一名有着大量微服务系统处理经验的软件架构师,我经常遇到一个不断重复的问题:“我应该使用RabbitMQ还是Kafka?”出于某种原因,许多开发人员认为这些技术是可以互换的。虽然在某些情况下确实如此,但RabbitMQ还是Kafka之间存在根本上的差异。因此,不同的场景需要不同的,选择......
  • Apache Geode‘s Integration with Apache Kafka: Building HighThroughput, LowLaten
    1.背景介绍在当今的大数据时代,高性能、高吞吐量和低延迟的数据处理能力已经成为企业和组织的核心需求。ApacheGeode和ApacheKafka都是开源社区提供的强大工具,它们各自擅长于不同的数据处理场景。Geode是一个高性能的分布式缓存和计算引擎,它可以处理大量数据并提供低延迟的访......
  • 【flink番外篇】6、flink的WaterMark(介绍、基本使用、kafka的水印以及超出最大允许延
    Flink系列文章一、Flink专栏Flink专栏系统介绍某一知识点,并辅以具体的示例进行说明。1、Flink部署系列本部分介绍Flink的部署、配置相关基础内容。2、Flink基础系列本部分介绍Flink的基础部分,比如术语、架构、编程模型、编程指南、基本的datastreamapi用法、四大基......