KafkaCenter

KafkaCenter 是一个统一的一站式平台,用于 Kafka 集群管理和维护、生产者和消费者监控以及生态组件的使用。「KafkaCenter is a unified one-stop platform for Kafka cluster management and maintenance, producer / consumer monitoring, and use of ecological components.」

Github星跟蹤圖

KafkaCenter

原文:https://github.com/xaecbd/KafkaCenter/blob/master/README_zh.md


KafkaCenter是Kafka 集群管理和维护,生产/消费监控,生态组件使用的统一一站式平台。

GitHub地址 第一时间更新,请移步查看!

主要特性

avatar avatar

  • Home-> 查看平台管理的Kafka Cluster集群信息及监控信息
  • Topic-> 用户可以在此模块查看自己的Topic,发起申请新建Topic,同时可以对Topic进行生产消费测试。
  • Monitor-> 用户可以在此模块中可以查看Topic的生产以及消费情况,同时可以针对消费延迟情况设置预警信息。
  • Kafka Connect-> 实现用户快速创建自己的Connect Job,并对自己的Connect进行维护。
  • KSQL-> 实现用户快速创建自己的KSQL Job,并对自己的Job进行维护。
  • Approve-> 此模块主要用于当普通用户申请创建Topic,管理员进行审批操作。
  • Setting-> 此模块主要功能为管理员维护User、Team
  • Kafka Manager-> 此模块用于管理员对集群的正常维护操作包含:集群管理,topic管理,集群监控,group管理,broker管理等。

配置

application.properties

中文配置详解: docs/application_zh.properties

快速开始

Important: 项目配置信息存储在mysql中,因此必须mysql数据库.

资源 依赖情况 用途
mysql 必须 配置信息存储在mysql
elasticsearch(7.0+) 非必须 监控信息,例如集群metirc,消费lag可视化等
邮件服务器 非必须 申请、审批,告警邮件提醒

1.首先创建数据库及修改配置

创建数据库及表

在数据库中执行table_script.sql

初始化配置

下载application.properties,按自己需求修改相应的配置

2.其次运行服务

  • Docker run(推荐)
docker run -d -p 8080:8080 --name KafkaCenter -v ${PWD}/application.properties:/opt/app/kafka-center/config/application.properties xaecbd/kafka-center:2.3.0
  • Local run

Important: 项目运行依赖jre1.8

<code>$ git clone https://github.com/xaecbd/KafkaCenter.git
$ cd KafkaCenter
$ mvn clean package -Dmaven.test.skip=true
$ cd KafkaCenter\KafkaCenter-Core\target
$ java -jar KafkaCenter-Core-2.3.0-SNAPSHOT.jar
</code>

3.最后访问系统

访问http://localhost:8080,管理员用户与密码默认:admin/admin

贡献代码

如果你对KafkaCenter感兴趣,欢迎加入我们,可以贡献代码、文档、问题等。

文档

更多文档详见: KafkaCenter/docs.
用户使用文档:KafkaCenter/docs/UserGuide
系统模块简介:KafkaCenter/docs/Module.
KafkaConnectUi文档:KafkaConnectUi.

计划

查看 TODO List

Changelog

查看 CHANGELOG.md

问题

  • If you've found a bug or want to request a feature, please create a Issue. Please check to make sure someone else hasn't already created an issue for the same topic.
  • Need help using KafkaCenter? Ask EC Bigdata Team member.

主要指標

概覽
名稱與所有者xaecbd/KCenter
主編程語言Java
編程語言Java (語言數: 7)
平台Docker, Linux, Mac, Windows
許可證Apache License 2.0
所有者活动
創建於2020-03-21 02:15:06
推送於2023-06-14 22:24:50
最后一次提交2022-10-08 09:42:06
發布數5
最新版本名稱v2.3.0 (發布於 )
第一版名稱v2.0.0 (發布於 )
用户参与
星數1.2k
關注者數36
派生數196
提交數147
已啟用問題?
問題數103
打開的問題數21
拉請求數34
打開的拉請求數1
關閉的拉請求數18
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

Language: :us: - :cn:

KafkaCenter


KafkaCenter is a unified one-stop platform for Kafka cluster management and maintenance, producer/consumer monitoring, and use of ecological components.

Table of Contents

Why Should I Use KafkaCenter?

You have a Kafka cluster* and want to

  • monitor producers and consumers with graphs and the ability to easily configure email alerts for thresholds
  • let your users request topics and monitor them themselves in a simple web UI
  • access the Kafka ecosystem (Kafka, KSQL, Kafka Connect, Kafka Manager) in one combined UI

All you need is a MySQL DB in the background where KafkaCenter can store its configuration. If you want to use the monitoring functionalities, you additionally need an Elasticsearch installation.
Then, just download our Docker image (see HowTo below) and off you go!

* Note: KafkaCenter does not yet support authenticating to a secured Kafka cluster (SASL or OAuth), we're working on it though.

Main Features

avatar
avatar

  • Home -> Overview of all configured Kafka clusters as well as high-level monitoring information.
  • Favorites -> Direct access to the monitoring statistics of your favorite topics.
  • Topic -> View your own topics or apply for new topics. You can also both consume messages and mock new records via web UI into your topics here!
  • Monitor -> Statistics about production and consumption of your topics. There is an additional possibility to configure alerts (which optionally trigger emails) for arbitrary consumption delay thresholds here!
  • Kafka Connect -> Create and maintain your own Kafka Connect jobs (needs an external Kafka Connect service to connect to).
  • KSQL -> Create and maintain your own KSQL jobs (needs an external KQL service to connect to).
  • Approve -> Users can view their topic creation requests here, administrators can manage and approve the requests.
  • Settings -> Maintain users and teams (accessible by administrators only). You can also use an external OAuth solution for the user management.
  • Kafka Manager -> Maintain Kafka cluster information (embedded UI from the popular open-source tool Kafka Manager).

Application Config

The main application configuration is done in a central application.properties file. Have look at our detailed example here.

Getting Started

Important: The application needs a MySQL database to store all configurations. Before you begin, make sure that you have it either installed on the same host or that there's an instance available somewhere else. The exact location can then be configured via the spring.datasource.url inside the application.properties. (There is no MySQL service included in the Docker image.)

Resource Dependencies Use
MySQL must Stores all configuration information (users, teams, clusters, etc.)
Elasticsearch (7.0+) optional Stores monitoring information (cluster metrics, consumption lag visualization, etc.)
Email server optional Email notifications (topic requests & approvals, configured consumer alerts)

1. Init

Create database and table

Execute the provided table_script.sql on your MySQL instance to create the database and all necessary tables.

Edit config

Download the provided application.properties example and adapt the config to your needs.

2. Run

The following command assumes that you have your adapted application.properties inside the same folder:

docker run -d \
  -p 8080:8080 \
  --name KafkaCenter \
  -v ${PWD}/application.properties:/opt/app/kafka-center/config/application.properties \ 
  xaecbd/kafka-center:2.3.0

Option B: Local

Important: Make sure you have installed a JRE 8 or higher and download the most recent release package.

$ git clone https://github.com/xaecbd/KafkaCenter.git
$ cd KafkaCenter
$ mvn clean package -Dmaven.test.skip=true
$ cd KafkaCenter\KafkaCenter-Core\target
$ java -jar KafkaCenter-Core-2.3.0-SNAPSHOT.jar

3. Access UI

The application UI is published on port 8080. Visit http://localhost:8080 (or insert the IP/URL of the host you deployed on) and log in with the default administrator:user/pw = admin/admin

Building KafkaCenter and/or Contributing Code

We're happy if you want to play around and build KafkaCenter locally, or even get involved in shaping and developing KafkaCenter further. The Contributing Guidelines will help to get you started.

Documentation

For more information, see the README in KafkaCenter/docs.
For information about user guide the documentation, see the UserGuide in KafkaCenter/docs/UserGuide
For information about module the documentation, see the Module in KafkaCenter/docs/Module.
For information about kafka connect ui, see docs in KafkaConnectUi.

Note that we open-sourced our tool very recently and did not translate all the documents to English yet. (We are happy about contributions in this area as well if you're motivated!)

Changelog

See the separate Changelog.

Questions? Problems? Suggestions?

If you found a bug, want to request a feature or have a question, please create an issue. Try to make sure someone else hasn't already created an issue for the same topic beforehand.