Currently, Strimzi uses the kafka_exporter project as a way to expose Consumer Group lag metrics to Prometheus.
The kafka_exporter project
The kafka_exporter is widely adopted, with around 2,500 stars and 680 forks, making it something of a de facto standard for getting Kafka metrics into Prometheus. The community is clearly active in terms of contributions, with people regularly opening PRs for new features, bug fixes, and dependency updates. The problem isn't the supply of contributions, it's the review bandwidth. The entire project runs through a single maintainer who merges PRs in sporadic bursts a few times a year, then goes quiet for months. The bus factor is effectively one.
This bottleneck shows up across the board. There are 54 open PRs, some dating back to 2018, and 76 open issues, over half of which have never received a single comment. The release cadence has been steadily slowing, from four releases in 2021 down to one per year recently, and the last release (v1.9.0) was back in February 2025, now 17 months ago. Several CVE-related dependency bumps have been merged to master since then but never shipped in a release, which means anyone pulling tagged releases rather than master is running with known vulnerabilities.
It's worth noting the project isn't abandoned. The maintainer does still show up and merge things periodically, and the Apache 2.0 license makes forking straightforward. But for a downstream consumer, the practical reality is that getting changes upstreamed and released is unpredictable, and security fixes can sit undelivered for extended periods.
Unmerged Enhancements
There are many enhancements, security and bug fixes that would improve the downstream users' experience of the kafka_exporter, but remain unmerged. For example:
We would like to enhance the StreamsHub Console with Consumer Group metrics including temporal lag metric such as those proposed in #195. However, given this PR hasn't been merged in over 5 years, we doubt that we will see such a feature (or any other significant improvements) any time soon.
We have to question whether this is a healthy project to base our Kafka infrastructure on.
Possible Solutions
Increase the Bus factor
We could attempt to gain committer status on the project and remove the single developer bottleneck. The problem here is that submitting PRs to fix bugs and add features, the usual way to gain committer status, will be difficult as the maintainer only approves in bursts of decreasing frequency. We could of course reach out privately to them and see if they would be willing to share the load.
Fork
We could Fork the project and attempt to bring the community with us, merging existing PRs and bug fixes and addressing comments. This obviously comes with the support burden of a largely unfamiliar codebase and is complicated by the fact that the original project is still sporadically active and so we risk splitting the community.
A new exporter project
We could create a new exporter, based on the modern upstream Apache Kafka Java client libraries. As these are actually part of the upstream Kafka project we gain much stronger compatibility with existing and new Kafka versions as well as security and performance fixes, compared to the Sarama client used by the kafka_exporter.
A project supported by StreamsHub would have multiple maintainers able to commit PRs and handle issues. Hopefully, over time this exporter could address the unmet needs of existing kafka_exporter users including Strimzi.
Currently, Strimzi uses the kafka_exporter project as a way to expose Consumer Group lag metrics to Prometheus.
The kafka_exporter project
The kafka_exporter is widely adopted, with around 2,500 stars and 680 forks, making it something of a de facto standard for getting Kafka metrics into Prometheus. The community is clearly active in terms of contributions, with people regularly opening PRs for new features, bug fixes, and dependency updates. The problem isn't the supply of contributions, it's the review bandwidth. The entire project runs through a single maintainer who merges PRs in sporadic bursts a few times a year, then goes quiet for months. The bus factor is effectively one.
This bottleneck shows up across the board. There are 54 open PRs, some dating back to 2018, and 76 open issues, over half of which have never received a single comment. The release cadence has been steadily slowing, from four releases in 2021 down to one per year recently, and the last release (v1.9.0) was back in February 2025, now 17 months ago. Several CVE-related dependency bumps have been merged to master since then but never shipped in a release, which means anyone pulling tagged releases rather than master is running with known vulnerabilities.
It's worth noting the project isn't abandoned. The maintainer does still show up and merge things periodically, and the Apache 2.0 license makes forking straightforward. But for a downstream consumer, the practical reality is that getting changes upstreamed and released is unpredictable, and security fixes can sit undelivered for extended periods.
Unmerged Enhancements
There are many enhancements, security and bug fixes that would improve the downstream users' experience of the kafka_exporter, but remain unmerged. For example:
Security and CVE fixes
Correctness bugs
Performance
Features with operational value
We would like to enhance the StreamsHub Console with Consumer Group metrics including temporal lag metric such as those proposed in #195. However, given this PR hasn't been merged in over 5 years, we doubt that we will see such a feature (or any other significant improvements) any time soon.
We have to question whether this is a healthy project to base our Kafka infrastructure on.
Possible Solutions
Increase the Bus factor
We could attempt to gain committer status on the project and remove the single developer bottleneck. The problem here is that submitting PRs to fix bugs and add features, the usual way to gain committer status, will be difficult as the maintainer only approves in bursts of decreasing frequency. We could of course reach out privately to them and see if they would be willing to share the load.
Fork
We could Fork the project and attempt to bring the community with us, merging existing PRs and bug fixes and addressing comments. This obviously comes with the support burden of a largely unfamiliar codebase and is complicated by the fact that the original project is still sporadically active and so we risk splitting the community.
A new exporter project
We could create a new exporter, based on the modern upstream Apache Kafka Java client libraries. As these are actually part of the upstream Kafka project we gain much stronger compatibility with existing and new Kafka versions as well as security and performance fixes, compared to the Sarama client used by the kafka_exporter.
A project supported by StreamsHub would have multiple maintainers able to commit PRs and handle issues. Hopefully, over time this exporter could address the unmet needs of existing kafka_exporter users including Strimzi.