JMX监控zookeeper

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: JMX监控zookeeper

JMX监控zookeeper

一.修改 zkServer.sh 参数ZOOMAIN

默认配置
image
修改后配置
image
修改说明:

是否建立远程连接,false可远程建立连接
-Dcom.sun.management.jmxremote.local.only=false
zookeeper地址
-Djava.rmi.server.hostname=127.0.0.1  
连接端口,并不是zookeeper端口,也不能和zookeeper端口冲突
 -Dcom.sun.management.jmxremote.port=2180 
 是否ssl连接,如果JMX无法ssl连接上zookeeper,需要改为false
 -Dcom.sun.management.jmxremote.ssl=false  
 是否开启访问权限
 -Dcom.sun.management.jmxremote.authenticate=true  
 设置访问权限,参考jdk目录/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/management/下该文件
 -Dcom.sun.management.jmxremote.access.file=/usr/local/data/zookeeper/conf/jmxremote.access  
 -Dcom.sun.management.jmxremote.password.file=/usr/local/data/zookeeper/conf/jmxremote.password  
 是否开日志
 -Dzookeeper.jmx.log4j.disable=true

如果不开启访问权限控制去掉以下三个配置:

 
 -Dcom.sun.management.jmxremote.authenticate=true  
 -Dcom.sun.management.jmxremote.access.file=/usr/local/data/zookeeper/conf/jmxremote.access  
 -Dcom.sun.management.jmxremote.password.file=/usr/local/data/zookeeper/conf/jmxremote.password  

二. 创建授权文件jmxremote.access和jmxremote.password

参考JDK文件说明
/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/management/jmxremote.access
/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/management/jmxremote.password

zhenglubiaodeMacBook-Pro:conf zlb$ 
zhenglubiaodeMacBook-Pro:conf zlb$ 
zhenglubiaodeMacBook-Pro:conf zlb$ cd /usr/local/data/zookeeper/conf/
zhenglubiaodeMacBook-Pro:conf zlb$ ls -l
total 16
-rw-------  1 root  wheel  149  6 13 15:46 jmxremote.access
-rw-------  1 root  wheel   40  6 13 15:48 jmxremote.password
zhenglubiaodeMacBook-Pro:conf zlb$ sudo cat jmxremote.access 
monitorRole   readonly
controlRole   readwrite \
              create javax.management.monitor.*,javax.management.timer.* \
              unregister
zhenglubiaodeMacBook-Pro:conf zlb$ sudo cat jmxremote.password 
monitorRole  1234  
controlRole  123456
zhenglubiaodeMacBook-Pro:conf zlb$ 
zhenglubiaodeMacBook-Pro:conf zlb$ 
zhenglubiaodeMacBook-Pro:conf zlb$ 
zhenglubiaodeMacBook-Pro:conf zlb$ 

必须修改这两个文件权限为:-rw------- (600) 只有拥有者有读写权限。

zhenglubiaodeMacBook-Pro:conf zlb$ 
zhenglubiaodeMacBook-Pro:conf zlb$ cd /usr/local/data/zookeeper/conf/
zhenglubiaodeMacBook-Pro:conf zlb$ sudo chmod 600 jmxremote.*
zhenglubiaodeMacBook-Pro:conf zlb$ ls -l
total 16
-rw-------  1 root  wheel  149  6 13 15:46 jmxremote.access
-rw-------  1 root  wheel   40  6 13 15:48 jmxremote.password
zhenglubiaodeMacBook-Pro:conf zlb$ 
zhenglubiaodeMacBook-Pro:conf zlb$ 
zhenglubiaodeMacBook-Pro:conf zlb$ 
zhenglubiaodeMacBook-Pro:conf zlb$ 

三.重启zookeeper

zkServer.sh restart
观察日志 zookeeper.out

四. JConsole连接

命令行输入

zhenglubiaodeMacBook-Pro:conf zlb$ 
zhenglubiaodeMacBook-Pro:conf zlb$ JConsole

弹出窗口 选择输入地址 连接端口 用户名 密码
image

连接后
image

五.了解JMX、JConsole

相关连接:

  1. JMX监控和管理Java虚拟机
  2. JMX技术概述
  3. Java教程中的JMX技术跟踪
  4. JMX文档
  5. Java管理扩展(JMX)技术
相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
4月前
|
存储 监控 网络协议
Zookeeper监控之四字监控
Zookeeper监控之四字监控
62 0
|
11月前
|
监控 Java Apache
Apache ZooKeeper - JMX监控 ZooKeeper 的运行状态
Apache ZooKeeper - JMX监控 ZooKeeper 的运行状态
95 0
|
监控 Java
Java实现ZooKeeper的zNode监控
Java实现ZooKeeper的zNode监控1 场景设计目的是体验ZooKeeper的Watcher功能。程序监控ZooKeeper的/watcher节点数据变化,当创建或修改数据时,控制台打印当前的数据内容和版本号;当/watcher被删除时,程序退出。
1012 0
|
监控 Dubbo Java
zookeeper 安装配置监控等
尽管zookeeper在编程上有很多的阱陷,API也非常的难用,但zookeeper服务本身可以说是很牢靠的了,所以在网上貌似关于运维的文章比较少。 但省心并不代表不会出麻烦,下面总结下zookeeper运维相关的东东。
1033 0
|
监控 关系型数据库 Java
使用zkui做zookeeper监控
克隆项目 https://github.com/DeemOpen/zkui.git 编译项目 mvn clean install 修改配置 zkServer=192.
2134 0
|
13天前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
30 2