DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Status
Current state: Under discussion
Discussion thread: https://lists.apache.org/thread/w4ml9ffkj1j31j8kjpbywq9jsw5ck5sr
JIRA:
KAFKA-19254
-
Getting issue details...
STATUS
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
Currently, there exists a kafka.server:type=MetadataLoader,name=CurrentMetadataVersion metric which tells the operator the metadata version feature level for every node in a cluster. However, now that there several features with support beyond the metadata.version feature, adding a metric to display those features' levels would be helpful for monitoring upgrade/downgrade scenarios for clusters using those features.
Public Interfaces
Monitoring
Add a metric for each production feature (i.e. metadata.version , kraft.version , transaction.version , group.version , eligible.leader.replicas.version , share.version, and streams.version ).
This can be accomplished via one generic "feature level" metric that is tagged by feature. Using a generic metric allows for new production features to automatically expose their feature level going forward.
| Name | Type | Description |
|---|---|---|
| kafka.server:type=MetadataLoader,name=FeatureLevel,featureName=X | Integer | The value of the feature level for a feature named "X". |
This metric will report the finalized feature level for each production feature. If the feature level is not set, the metric will return a value of 0.
Compatibility, Deprecation, and Migration Plan
We will deprecate the kafka.server:type=MetadataLoader,name=CurrentMetadataVersion metric since this per-feature tagged metric also exposes this value, and the previous metric can be removed starting in 5.0.
Test Plan
We will add junit tests to verify the new metrics.
Rejected Alternatives
Running kafka-feature describe on every node is one way to track feature level upgrades/downgrades, but it is not straightforward to monitor since it is not a metric.