kubernetes - Kubernetes 上的 Kafka 使用 Strimzi:监控/向 prometheus 公开所有 JMX 指标
问题描述
我正在使用 Strimzi 运算符在 Kubernetes 上运行 kafka。对于监控,我使用的是 Prometheus,并按照 Strimzi 部署指南中所述的安装指南进行操作。
https://strimzi.io/docs/operators/master/deploying.html
对于 Kafka 集群部署,我使用了来自 strimzi 存储库的以下模板。https://github.com/strimzi/strimzi-kafka-operator/blob/master/examples/metrics/kafka-metrics.yaml 。要向 Prometheus 公开的指标在同一文件的配置映射中定义。
我的问题是,如果我想让Prometheus 从 Kafka 中抓取所有 JMX 指标;是否有任何现成的 JMX 配置文件可以传递给 configmap 而不是当前的。请注意,我对消费者群体指标(rebalance-latency-avg、rebalance-rate-per-hour 等)特别感兴趣。
通过 JMX/prometheus 监控 kafka 是否会对 Kafka 造成任何性能下降?
解决方案
当您将 JMX Exporter 配置文件定义为空时,例如:
kind: ConfigMap
apiVersion: v1
metadata:
name: kafka-metrics
labels:
app: strimzi
data:
kafka-metrics-config.yml: |
lowercaseOutputName: true
它将以原始格式导出所有指标。这使您可以看到所有这些。但是,它们看起来与您从 Strimzi 示例中获得的完全不同,因为它们没有翻译它们的规则,将某些部分提取为标签等。
因此,在大多数情况下,您需要将这些添加到规则中 => 您必须定义模式以匹配您感兴趣的指标,定义它应该是什么类型以及它应该如何转换为指标名称和标签。这可以添加到 Strimzi 示例中的现有规则中。
推荐阅读
- electron - 限制电子应用程序只能安装在 Windows 7 及更高版本上?
- c# - 反序列化 JSON - 如何反序列化这个 JSON?
- python - gdal.Open IndexError:列表索引超出范围
- mongodb - Mongodb删除集合字段中所有出现的字符串
- python - Geopy:OSError:[Errno 101] 网络无法访问
- java - 将布尔值更改为布尔值会在 MapStruct 中引发 noSuchMethodError
- javascript - 处理 promise 中的错误时返回成功
- angular - 组角6内的嵌套formarray
- octave - 将带有空格的 csv 文件读入 Octave
- xamarin - MvvmCross iOS 一个绑定两个转换器?