Zookeeper

Prometheus 监控zookeeper使用jvm_exporter来采集数据,jvm_exporter是一个可以配置抓取和暴露JMX目标的mBeans的收集器。

下载javaagent

cd /usr/local/zookeeper/prometheus
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/jmx_prometheus_javaagent-0.3.1.jar

编写zookeeper.yml文件

rules:
# replicated Zookeeper
- pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+)><>(\\w+)"
name: "zookeeper_$2"
- pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+)><>(\\w+)"
name: "zookeeper_$3"
labels:
replicaId: "$2"
- pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+), name2=(\\w+)><>(\\w+)"
name: "zookeeper_$4"
labels:
replicaId: "$2"
memberType: "$3"
- pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+), name2=(\\w+), name3=(\\w+)><>(\\w+)"
name: "zookeeper_$4_$5"
labels:
replicaId: "$2"
memberType: "$3"
# standalone Zookeeper
- pattern: "org.apache.ZooKeeperService<name0=StandaloneServer_port(\\d+)><>(\\w+)"
name: "zookeeper_$2"
- pattern: "org.apache.ZooKeeperService<name0=StandaloneServer_port(\\d+), name1=InMemoryDataTree><>(\\w+)"
name: "zookeeper_$2"

修改bin/zkServer.sh文件

if [ "x$SERVER_JVMFLAGS"  != "x" ]
then
JVMFLAGS="$SERVER_JVMFLAGS $JVMFLAGS"
fi ## 新增javaagent
JMX_DIR="/usr/local/zookeeper/prometheus"
JVMFLAGS="$JVMFLAGS -javaagent:$JMX_DIR/jmx_prometheus_javaagent-0.3.1.jar=9505:$JMX_DIR/zookeeper.yml" if [ "x$2" != "x" ]
then
ZOOCFG="$ZOOCFGDIR/$2"
fi

验证

curl localhost:9505/metrics

加入Prometheus

编辑prometheus.yml文件,添加内容

- job_name: 'zookeeper'
static_configs:
- targets: ['172.16.10.62:9505']

重启prometheus,然后在Prometheus页面中的Targets中就能看到新加入的zookeeper

最新文章

  1. smali调试总结
  2. .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(三)
  3. angularJs之service
  4. RDIFramework.NET-.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(MVC版)
  5. spring 后置处理器BeanFactoryPostProcessor和BeanPostProcessor的用法和区别
  6. Android 自定义NumProgressBar
  7. javaSE第二十一天
  8. Oracle内存组件理论篇一
  9. 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
  10. git 取消追踪
  11. php 通过ip获取地理位置
  12. android 计时器,倒计时
  13. 万方数据知识平台 TFHpple +Xpath解析
  14. 3D空间中的AABB(轴向平行包围盒, Aixe align bounding box)的求法
  15. 将图片转为ASCII字符画
  16. C语言中的指针
  17. Python 爬虫实战(一):使用 requests 和 BeautifulSoup
  18. 使用clear来清除localStorage保存对象的全部数据
  19. How do I debug a published XBAP file in VS2010?
  20. 【Linux笔记】在后台执行scp,实现服务器间无密码文件拷贝。

热门文章

  1. POI (Apache POI)
  2. 在Windows Server 2008R2中部署 AspNetCore
  3. Eclipse——Note
  4. MySQL基础~~增、删、改、简单查
  5. Eclipse布局问题小记
  6. ASP.NET MVC缓存使用
  7. docker发现端口是tcp6的 导致无法访问前端
  8. [转帖]linux 内存管理——内核的shmall 和shmmax 参数
  9. ntpdate[31915]: the NTP socket is in use, exiting
  10. JS文件的写入