滴滴开源的kafka-manager编译及部署使用

github: https://github.com/didi/kafka-manager

使用文档:https://github.com/didi/kafka-manager/blob/master/doc/user_cn_guide.md

本文介绍滴滴的kafka-manager的编译及使用。修改了默认的mariadb为mysql8。

如果不想编译的话也可以直接使用我编译好的版本:didi-kafka-manager

配合下面的yml文件和初始化SQL即可直接使用。

一站式Apache Kafka集群指标监控与运维管控平台


主要功能特性

集群监控维度

  • 多版本集群管控,支持从0.10.22.4版本;[2020-04-29版]
  • 集群Topic、Broker等多维度历史与实时关键指标查看;

集群管控维度

  • 集群运维,包括逻辑Region方式管理集群;
  • Broker运维,包括优先副本选举;
  • Topic运维,包括创建、查询、扩容、修改属性、数据采样及迁移等;
  • 消费组运维,包括指定时间或指定偏移两种方式进行重置消费偏移;

用户使用维度

  • 管理员用户与普通用户视角区分;
  • 管理员用户与普通用户权限区分;

kafka-manager架构图

 

滴滴开源的kafka-manager编译及部署使用_第1张图片

环境准备:

jdk8

mysql

mysql建库kafka-manager,执行初始化脚本 create_mysql_table.sql

编译:

下载最新的源码。

修改默认管理数据库驱动:

进入下载的源码目录/kafka-manager-master/dao修改pom.xml文件,新增mysql8的依赖,如果需要mysql5也是一样的方法。


			mysql
			mysql-connector-java
			8.0.13

滴滴开源的kafka-manager编译及部署使用_第2张图片

修改之后到/kafka-manager-master目录下进入cmd命令,执行mvn install,等待一会即可编译成功。

然后进入kafka-manager-master\web\src\main\resources下将application.yml 以及kafka-manager-master\web\target下的编译成功后的kafka-manager-web-1.0.0-SNAPSHOT.jar取出来,启动系统只需要这两个文件就行了。

修改application.yml配置文件

server:
  port: 8080
  tomcat:
    accept-count: 100
    max-connections: 1000
    max-threads: 20
    min-spare-threads: 20

spring:
  application:
    name: kafkamanager
  datasource:
    kafka-manager:
      jdbc-url: jdbc:mysql://localhost:3306/kafka_manager?characterEncoding=UTF-8&serverTimezone=GMT%2B8
      username: root
      password: 123456
      driver-class-name: com.mysql.jdbc.Driver #MYSQL8 需要在dao文件夹内修改pom.xml里的依赖为mysql8然后重新打包
  main:
    allow-bean-definition-overriding: true

  profiles:
    active: dev

logging:
  config: classpath:logback-spring.xml

# kafka监控
kafka-monitor:
  enabled: true
  notify-kafka:
    cluster-id: 95
    topic-name: kmo_monitor

启动验证:

nohup java -jar kafka-manager-web-1.0.0-SNAPSHOT.jar --spring.config.location=./application.yml > /dev/null 2>&1 &

访问http://localhost:8080,输入帐号及密码进行登录,默认账号是admin/admin(在管理数据库account表内也可以查到)

新增集群:

滴滴开源的kafka-manager编译及部署使用_第3张图片

集群指标监控:

滴滴开源的kafka-manager编译及部署使用_第4张图片

topic信息及指标监控,(忽略我这个测试环境没数据)。监控指标需要开启kafka的JMX port,这个在另一篇kafka-eagle文章内有提到。

滴滴开源的kafka-manager编译及部署使用_第5张图片

滴滴开源的kafka-manager编译及部署使用_第6张图片

告警:支持Lag/BytesIn/BytesOut这三类告警,告警被触发后,告警消息会被发往指定的Topic(yml配置文件内kafka-monitor.notify-kafka.topic-name)。可以主动消费该告警Topic的数据或者统一由管理员将该数据接入外部通知系统,比如接入短信通知或电话邮件通知等。据小道消息后面会将告警和滴滴另一个开源监控系统:夜莺监控系统

滴滴开源的kafka-manager编译及部署使用_第7张图片

你可能感兴趣的:(#,Kafka,kafka,kafka-manager,kafka监控,大数据,监控)