最近需要在 cloudera manager 监控界面对CDH 的组件来用 prometheus 监控。也参考了很多网上的资料,目前很多都是修改的后台配置文件,目前测试下来,如果通过 cloudera manager 来启动服务,感觉配置没有生效。这里采用在 cloudera manager 监控界面配置参数的方式,已经测试通过。这里整理并记录一下。
具体实践:这里以 Hbase 服务为例。来进行我们配置,别的组件参考即可。
依赖组件需要用到的服务有
prometheusgrafanajmx_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.ymlhbase.yml
hbase.yml 文件内容如下:
--- lowercaseOutputName: true lowercaseOutputLabelNames: true rules: - pattern: Hadoop遇到问题<>Namespace_([^W_]+)_table_([^W_]+)_region_([^W_]+)_metric_(w+) name: Hbase_metric_$4 labels: namespace: "$1" table: "$2" region: "$3" - pattern: Hadoop <>([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/304399https://community.cloudera.com/t5/Support-Questions/Customize-Hbase-JVM-settings-in-CDH-5-4-2/td-p/30997https://zhuanlan.zhihu.com/p/358908161



