【问题标题】:Prometheus zookeeper monitoringPrometheus zookeeper 监控
【发布时间】:2018-02-27 12:10:03
【问题描述】:

我想将 zookeeper 转移到 prometheus 监控。 我部署了 jmx-exporter (sscaling/jmx-prometheus-exporter:0.1.0)

并获得了大部分指标,但有些指标缺失,例如 GarbageCollector 的 zookeeper.approximate_data_size 和 parnew 指标

例如: 我使用相同的 jmx 导出器从 logstash 获得了这个标准的新指标: java_lang_GarbageCollector_LastGcInfo_memoryUsageAfterGc_used{name="ParNew",key="Par Survivor Space",}

但在 zookeeper 中,我只得到复制指标: java_lang_GarbageCollector_LastGcInfo_memoryUsageAfterGc_used{name="Copy",key="Metaspace",} 1.4809288E7

【问题讨论】:

    标签: apache-zookeeper prometheus


    【解决方案1】:

    您获得不同 GC 指标的最可能原因是您正在运行具有不同内存设置/垃圾收集器的不同 JVM,因此指标不同。

    如果 Zookeeper 通过 JMX 公开一个数字,则 JMX 导出器应该返回它。

    【讨论】:

    • 但是当我用数据狗监控同一台服务器时,我确实得到了这个指标
    • 这并不意味着 datadog 正在通过 JMX 检索该数据。 Zookeeper 的 JMX 指标非常有限。
    • 所以我想了解在 datadog 中检索此指标的内容,命令:/etc/init.d/datadog-agent jmx list_everything | grep -i parnew 在 feeder 上返回 par 新指标,在 zookeeper 上什么都没有,但都有这个指标图
    【解决方案2】:

    从 Prometheus 收集 zookeeper 指标

    • 创建conf/java.env文件(我的zookeeper配置目录:/etc/zookeeper/conf/java.env)和下面提到的内容

      导出 SERVER_JVMFLAGS="-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port= 10701 -javaagent:/opt/jmx_prometheus/jmx_prometheus_javaagent-0.3.0.jar=10801:/opt/jmx_prometheus/config.yml $SERVER_JVMFLAGS"

    • 重启zookeeper服务,可以从10801端口收集zookeeper JMX指标(因为我在上面配置了这个端口来获取指标)

    【讨论】:

      猜你喜欢
      • 2016-05-29
      • 2020-08-09
      • 1970-01-01
      • 2018-05-22
      • 1970-01-01
      • 2022-11-04
      • 1970-01-01
      • 2020-11-08
      • 1970-01-01
      相关资源
      最近更新 更多