【CDH】通过 ClouderaManager 配置CDH组件用 prometheus + hbase 监控采集JMX信息

前言:

最近需要在 cloudera manager 监控界面对CDH 的组件来用 prometheus 监控。也参考了很多网上的资料,目前很多都是修改的后台配置文件,目前测试下来,如果通过 cloudera manager 来启动服务,感觉配置没有生效。这里采用在 cloudera manager 监控界面配置参数的方式,已经测试通过。这里整理并记录一下。

具体实践:

这里以 Hbase 服务为例。来进行我们配置,别的组件参考即可。

依赖组件

需要用到的服务有

  • prometheus
  • grafana
  • jmx_exporter https://github.com/prometheus/jmx_exporter

修改配置

在这里插入图片描述

在HBase 配置中修改 **HBase 服务环境高级配置代码段(安全阀)**:

配置内容参考如下:

HBASE_MASTER_OPTS=-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=10101 -javaagent:/run/cloudera-scm-agent/jmx_prometheus_javaagent-0.16.1.jar=9213:/run/cloudera-scm-agent/hbase.yml
HBASE_REGIONSERVER_OPTS=-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=10102 -javaagent:/run/cloudera-scm-agent/jmx_prometheus_javaagent-0.16.1.jar=9214:/run/cloudera-scm-agent/hbase.yml

hbase.yml

hbase.yml 文件内容如下:

---
lowercaseOutputName: true
lowercaseOutputLabelNames: true
rules:

- pattern: Hadoop<service=HBase, name=RegionServer, sub=Regions><>Namespace_([^\W_]+)_table_([^\W_]+)_region_([^\W_]+)_metric_(\w+)
  name: HBase_metric_$4
  labels:
    namespace: "$1"
    table: "$2"
    region: "$3"
- pattern: Hadoop<service=(\w+), name=(\w+), sub=(\w+)><>([\w._]+)
  name: hadoop_$1_$4
  labels:
    "name": "$2"
    "sub": "$3"
- pattern: .+

遇到问题

之前调试一直跑不通,各种修改文件权限,路径,版本的方式都尝试过了,最后发现 yml 文件的后缀必须为 .yml,而不能为 yaml。不知道为什么,有知道的大佬还请指教。

总结:

到此其实已经实现CDH集群集成prometheus,剩下的内容就比较简单了,使用prometheus监听端口即可,这里不是我们的重点。

参考:

  • https://community.cloudera.com/t5/Support-Questions/Adding-a-javaagent-in-CDH-5-or-6-2/m-p/304399
  • https://community.cloudera.com/t5/Support-Questions/Customize-Hbase-JVM-settings-in-CDH-5-4-2/td-p/30997
  • https://zhuanlan.zhihu.com/p/358908161
posted @ 2022-11-10 19:24  彬在俊  阅读(184)  评论(0编辑  收藏  举报