monedula-gitops
一款面向 Apache Kafka 的 GitOps 工具:管理主题、访问权限、配额、schema、SCRAM 用户和 Confluent RBAC,可通过 CLI 或 Kubernetes operator 运行。
本页由英文机器翻译而成。 阅读原文
monedula-metrics-reporter v0.10.0, AGPL-3.0
monedula-metrics-reporter 运行在 broker 内部,通过 OTLP 把指标推送到你的 collector:包括两套 Kafka 指标 registry、JVM 指标和 KIP-714 客户端遥测,并以标签形式附带 broker 身份。即使 collector 下线,Kafka 也毫无察觉。
VERSION=0.10.0
curl -L -o monedula-metrics-reporter-${VERSION}.jar \
https://repo1.maven.org/maven2/dev/monedula/monedula-metrics-reporter/${VERSION}/monedula-metrics-reporter-${VERSION}.jar VERSION=0.10.0
curl -L -o monedula-metrics-reporter-${VERSION}.jar \
https://github.com/monedula-dev/monedula-metrics-reporter/releases/download/v${VERSION}/monedula-metrics-reporter-${VERSION}.jar metric.reporters=dev.monedula.metricsreporter.OtlpMetricReporter
otlp.metric.reporter.endpoint=http://otel-collector:4317
otlp.metric.reporter.transport=grpc cp monedula-metrics-reporter-0.10.0.jar $KAFKA_HOME/libs/# then add the lines above to server.properties# every series carries the broker's cluster and node IDs as resource attributes
大多数 Kafka 指标都在绕远路。
常见的技术栈会给每个 broker 挂上一个 JMX exporter:它从 JMX MBean 中把 Kafka 的指标读回来,用规则文件把它们映射为指标名,再暴露出来供抓取,或者继续推送到 collector。
monedula-metrics-reporter 接入 Kafka 自身的 MetricsReporter 接口,直接用 OTLP 与 collector 通信。
指标回调只更新一个内存中的映射;所有网络 I/O 都在守护线程上进行。没有重试队列,也不会无限制地占用内存,因此即使 collector 变慢或不可用,produce 和 fetch 请求也绝不会被拖住。
故障安全设计的工作方式(英文)
Kafka broker 通过两套并行的系统暴露指标。若干 broker 信号只在遗留的 Yammer registry 中注册,因此只支持 SPI 的 reporter 会漏掉它们。这个插件用一份配置同时挂接到两者,而且同一个 JAR 在客户端上也能原样运行。
UnderReplicatedPartitionsOfflinePartitionsCountActiveControllerCountBrokerTopicMetricsKIP-714
在 broker 上,该插件还会接收 KIP-714 客户端推送的遥测数据,例如客户端侧的请求延迟和重平衡耗时,并把它们转发到同一个 collector。客户端时间序列带有 broker 的身份和 client id,因此可以在 PromQL 中与 broker 时间序列关联。
采集客户端指标(英文)
kafka_cluster_id, kafka_node_id | 默认开启 |
|---|---|
client_id | 默认开启 |
client_instance_id | 默认关闭,高基数 |
| principal 和客户端地址 | 默认关闭,个人数据 |
快速上手示例用 Docker Compose 启动 Kafka、reporter、OpenTelemetry Collector、Prometheus 和 Grafana,并附带可直接使用的 Grafana 仪表盘和 Prometheus 告警规则。
Grafana 快速上手示例(英文)
VERSION=0.10.0
curl -L -o monedula-metrics-reporter-${VERSION}.jar \
https://repo1.maven.org/maven2/dev/monedula/monedula-metrics-reporter/${VERSION}/monedula-metrics-reporter-${VERSION}.jar VERSION=0.10.0
curl -L -o monedula-metrics-reporter-${VERSION}.jar \
https://github.com/monedula-dev/monedula-metrics-reporter/releases/download/v${VERSION}/monedula-metrics-reporter-${VERSION}.jar 坐标:dev.monedula:monedula-metrics-reporter。每个 GitHub release 还附带 JAR,以及 CycloneDX SBOM 和 Sigstore 签名。
同一团队开发的更多 Apache Kafka 免费工具。关于 Flock
一款面向 Apache Kafka 的 GitOps 工具:管理主题、访问权限、配额、schema、SCRAM 用户和 Confluent RBAC,可通过 CLI 或 Kubernetes operator 运行。
一款 CLI,通过带校验和的计划把 Apache Kafka ACL 转换为 Confluent RBAC 角色绑定,并在任何 ACL 被删除之前验证有效访问。
一款只读的 Go CLI,把真实的 Kafka 集群变成可分享的 Kafka Simulator 链接,并为 AI 代理提供 MCP 服务器。
一款在浏览器中运行的交互式、确定性 Apache Kafka 模拟器:把集群弄坏,拖动时间线,看清它为何如此反应。