首页 文章

格拉法纳/普罗米修斯没有 Kafka 指标

提问于
浏览
0

我成功部署了头盔图prometheus operatorkube-prometheuskafka(尝试了图像danielqsj / kafka_exporter v1.0.1v1.2.0 ) .

主要使用默认值安装,启用rbac .

我可以在普罗米修斯的Kafka目标列表中看到3个 up 节点,但是当进入Grafana时,我可以看到任何kafka度量标准kafka overview

我错过了什么或者我可以检查什么来解决这个问题?

我可以看到指标以 java_kafka_ 开头,但没有 jvm_ ,只有少数 jmx_ 指标 .

enter image description here

我发现有人报告了类似问题(https://groups.google.com/forum/#!searchin/prometheus-users/jvm_%7Csort:date/prometheus-users/OtYM7qGMbvA/dZ4vIfWLAgAJ),所以我部署了旧版本的jmx导出器,从0.6到0.9,仍然没有 jvm_ 指标 .

我错过了什么吗?

env:

kuberentes:AWS EKS(kubernetes版本为1.10.x)

公共grafana仪表板:kafka overview

2 回答

  • 0

    您必须为提供 --set prometheus.jmx.enabled=true,prometheus.kafka.enabled=true 的kafka头盔图启用jmx和exporter . 默认值为 false .

  • 0

    刚刚意识到README中提到的 jmx-exporter 的所有者:

    此导出程序旨在作为Java代理运行,公开HTTP服务器并提供本地JVM的度量标准 . 它也可以作为独立的HTTP服务器运行并且刮取远程JMX目标,但是这具有各种缺点,例如更难配置并且不能公开进程度量(例如,内存和CPU使用) . 因此强烈鼓励将导出器作为Java代理运行 .

    直到我看到这个评论,才真正理解这意味着什么:

    https://github.com/prometheus/jmx_exporter/issues/111#issuecomment-341983150

    @ brian-brazil你能在自述文件中添加一些提示,即只有在使用Java代理时才会公开jvm_ * metrics吗?在仅使用HTTP服务器版本播放之后,我花了一两个小时进行故障排除并搜索旧问题来解决这个问题 . 谢谢!

    所以jmx-exporter必须与 java agent 一起运行才能得到 jvm_ metric . jmx_prometheus_httpserver 不支持,但它是kafka helm chart中的默认设置 .

    https://github.com/kubernetes/charts/blob/master/incubator/kafka/templates/statefulset.yaml#L82

    command:
    - sh
    - -exc
    - |
      trap "exit 0" TERM; \
      while :; do \
      java \
      -XX:+UnlockExperimentalVMOptions \
      -XX:+UseCGroupMemoryLimitForHeap \
      -XX:MaxRAMFraction=1 \
      -XshowSettings:vm \
      -jar \
      jmx_prometheus_httpserver.jar \              # <<< here
      {{ .Values.prometheus.jmx.port | quote }} \
      /etc/jmx-kafka/jmx-kafka-prometheus.yml & \
      wait $! || sleep 3; \
      done
    

相关问题