Comments (6)
@ercliou
Hello.
I also want this metrics.
You seem to have made some changes after forking, but are you planning to send a patch upstream?
from burrow_exporter.
I ended up implementing by sending all metrics at every scrap. When the status is not the matched one, it sends 0
. This increases 1:5 with number of partitions (could be a problem if you have a lot of them).
e.g.
kafka_burrow_partition_state{cluster="MY_CLUSTER",group="MY_GROUP",partition="13",topic="MY_TOPIC",state:"OK"} 1
kafka_burrow_partition_state{cluster="MY_CLUSTER",group="MY_GROUP",partition="13",topic="MY_TOPIC",state:"STOP"} 0
kafka_burrow_partition_state{cluster="MY_CLUSTER",group="MY_GROUP",partition="13",topic="MY_TOPIC",state:"REWIND"} 0
kafka_burrow_partition_state{cluster="MY_CLUSTER",group="MY_GROUP",partition="13",topic="MY_TOPIC",state:"STALL"} 0
kafka_burrow_partition_state{cluster="MY_CLUSTER",group="MY_GROUP",partition="13",topic="MY_TOPIC",state:"WARN"} 0
This is so each one of them stay as one independent time series. The reason of this is that I could query the lag + status at Grafana by partition.
Query:
kafka_burrow_partition_lag{group="MY_GROUP",topic="MY_TOPIC"}
* on (topic, partition, group) group_left(status)
(kafka_burrow_partition_status{group="MY_GROUP",topic="MY_TOPIC"} == 1)
I could send a patch if @jirwin agrees with this :)
from burrow_exporter.
I'm +1 to this. Partition count isn't generally unbound. Maybe it could be enabled by a command line flag, so people can use their own judgement as to whether the surge in new time series is acceptable to them. Maybe --per-partition-stats
or something?
from burrow_exporter.
How about we define a numeric scheme for the value of this time series? This will save us from 1:5 time series bloat. Our system has 2525 partitions for 52 topics. I am definitely worried about the bloat.
NOTFOUND = 1
OK = 2
WARN = 3
ERR = 4
STOP = 5
STALL = 6
kafka_burrow_partition_state{cluster="MY_CLUSTER",group="MY_GROUP",partition="13",topic="MY_TOPIC"} 2
from burrow_exporter.
Hi @shibug , I explained a lil bit about the reasoning behind in the above PR (centered mostly around Grafana).
We have 15k partitions and haven't encountered performance problems (yet).
I can't look into command line flag right now, if someone would like to look into this, I appreciate it.
from burrow_exporter.
Fixed by #19.
from burrow_exporter.
Related Issues (20)
- when burrow expires a consumer group, the exporter does not (always?) remove it HOT 5
- Argument parsing issue Kubernetes? HOT 2
- unable to export to external Prometheus server HOT 3
- exporter provides wrong version of its own HOT 1
- Create Grafana dashboard template HOT 3
- Use without docker HOT 1
- /metrics only showing go stats HOT 3
- KafkaConsumerPartitionLag possibly using the wrong field? HOT 1
- consumer group status matching HOT 2
- Cannot assign requested address
- Feature request: Add burrow health check as metric
- kafka_burrow_topic_partition_offset only metric showing up HOT 1
- burrow_exporter does not remove old topic which was removed by kafka? HOT 1
- Burrow exporter CrashLoopBackOff when Kafka cluster has issues
- burrow_exporter does not support huge cluster
- Incorrect `HELP` text for `kafka_burrow_status`
- HELP status metrics strings don't document the status values
- Burrow native Prometheus Metrics support
- support for burrow v3 api HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from burrow_exporter.