可以免费做网站,网站设计制作哪个公司的好,网上做设计的网站,怎么建个人网站zookeeper 监控指标
日常工作中#xff0c;我们有时候需要对zookeeper集群的状态进行检查#xff0c;下面分享一些常用的方法。 zookeeper获取监控指标已知的有两种方式#xff1a;
通过zookeeper自带的四字命令 #xff08;four letter words command #xff09;获取各…zookeeper 监控指标
日常工作中我们有时候需要对zookeeper集群的状态进行检查下面分享一些常用的方法。 zookeeper获取监控指标已知的有两种方式
通过zookeeper自带的四字命令 four letter words command 获取各种各样的监控指标通过JMX Client连接zookeeer对外提供的MBean来 获取监控指标 需要修改启动脚本使其支持远程JMX连接
上述两种方式获取的指标大体上一样的。
常用的四字命令
下面罗列出来了能获取到监控指标的常用命令 zookeeper的四字命令zookeeper的四字命令是指它们的命令长度都是4个英文字母。运维人员可以在不使用zookeeper客户端命令的前提下简单而便捷地使用四字命令来查看zookeeper当前的状态等信息。
stat 查看状态信息(来查看哪个节点被选择作为follower或者leader)ruok 查看zookeeper是否启动(若回复imok表示已经启动)dump 列出没有处理的会话临时节点conf 查看服务器配置信息cons 显示连接到服务端的信息(列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息)envi 显示环境变量信息区别于 conf 命令mntr 查看zk的健康信息wchs 列出服务器 watch 的详细信息wchc 通过 session 列出服务器 watch 的详细信息它的输出是一个与 watch 相关的会话的列表。 ·wchp 通过path路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。crst 重置连接状态重置关于链接/session的统计信息srst 重置zookeeper服务的状态。srvr 服务的一些状态信息和stat有一些信息重合。
常用的四字命令测试
正常使用前提
要使用以上的四字命令需要在zookeeper的配置里面添加以下参数4lw.commands.whitelist*添加后重启所有命令就可以使用了不然会报如下的错误。
# 首先要安装nc服务
[rootk8s-m1 bin]# yum install nc -y
[rootk8s-m1 bin]# echo ruok |nc localhost 2181
ruok is not executed because it is not in the whitelist.stat
可以查看一些状态信息和连接信息包括本节点角色客户端连接情况等
[rootk8s-m1 bin]# echo stat |nc localhost 2181
Zookeeper version: 3.7.1-a2fb57c55f8e59cdd76c34b357ad5181df1258d5, built on 2022-05-07 06:45 UTC
Clients:/127.0.0.1:33254[0](queued0,recved1,sent0)Latency min/avg/max: 0/0.0/0
Received: 2
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x300000008
Mode: follower
Node count: 10ruok
ruok 查看zookeeper是否启动
[rootk8s-m1 bin]# echo ruok |nc localhost 2181
imok[rootk8s-m1 bin]#dump
列出所有等待队列中的会话和临时节点的信息。
[rootk8s-m1 bin]# echo dump |nc localhost 2181
SessionTracker dump:
Global Sessions(2):
0x200267383e50001 30000ms
0x300267355120000 30000ms
ephemeral nodes dump:
Sessions with Ephemerals (0):
Connections dump:
Connections Sets (1)/(1):
1 expire at Fri Sep 01 10:35:47 CST 2023:ip: /127.0.0.1:34502 sessionId: 0x0conf
能够获取到zookeeper的配置信息包括客户端端口clientPort数据以及日志路径间隔单位时间单台server与单个client端的连接数限制超时时间minSessionTimeout、maxSessionTimeout等。
Follower在启动过程中会从Leader同步所有最新数据然后确定自己能够对外服务的起始状态。Leader允许follower在initLimit时间内完成这个工作。
在运行过程中Leader负责与ZK集群中所有机器进行通信例如通过一些心跳检测机制来检测机器的存活状态。如果L发出心跳包在syncLimit之后还没有从F那里收到响应那么就认为这个F已经不在线了。
[rootk8s-m1 bin]# echo conf |nc localhost 2181
clientPort2181
secureClientPort-1
dataDir/zookeeperData/version-2
dataDirSize402653232
dataLogDir/zookeeperDataLog/version-2
dataLogSize899
tickTime2000
maxClientCnxns1000
minSessionTimeout30000
maxSessionTimeout60000
clientPortListenBacklog-1
serverId1
initLimit10
syncLimit5
electionAlg3
electionPort3888
quorumPort2888
peerType0
membership:
server.1192.168.2.140:2888:3888:participant
server.2192.168.2.141:2888:3888:participant
server.3192.168.2.142:2888:3888:participantcons
显示连接到服务端的信息(列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息) [rootk8s-m1 bin]# echo cons |nc localhost 2181 /127.0.0.1:511040 我这测试环境没有其他程序连接使用。
具体使用中更多详细信息的参数描述
连接信息的总览连接ip端口号该连接的发包数该连接的收包数连接的session Id最后操作方式/命令连接的时间戳超时时间未确认最后的zxid最后的响应时间戳连接的时间延时信息
envi
显示环境变量信息区别于 conf 命令
[rootk8s-m1 bin]# echo envi |nc localhost 2181
Environment:
zookeeper.version3.7.1-a2fb57c55f8e59cdd76c34b357ad5181df1258d5, built on 2022-05-07 06:45 UTC
host.namek8s-m1
java.version1.8.0_65
java.vendorOracle Corporation
java.home/opt/jdk1.8.0_65/jre
java.class.path/opt/apache-zookeeper-3.7.1-bin/bin/../zookeeper-server/target/classes:/opt/apache-zookeeper-3.7.1-bin/bin/../build/classes:/opt/apache-zookeeper-3.7.1-bin/bin/../zookeeper-server/target/lib/*.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../build/lib/*.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/zookeeper-prometheus-metrics-3.7.1.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/zookeeper-jute-3.7.1.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/zookeeper-3.7.1.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/snappy-java-1.1.7.7.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/slf4j-reload4j-1.7.35.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/slf4j-api-1.7.35.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/simpleclient_servlet-0.9.0.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/simpleclient_hotspot-0.9.0.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/simpleclient_common-0.9.0.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/simpleclient-0.9.0.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/reload4j-1.2.19.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/netty-transport-native-unix-common-4.1.76.Final.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/netty-transport-native-epoll-4.1.76.Final.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/netty-transport-classes-epoll-4.1.76.Final.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/netty-transport-4.1.76.Final.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/netty-resolver-4.1.76.Final.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/netty-handler-4.1.76.Final.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/netty-common-4.1.76.Final.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/netty-codec-4.1.76.Final.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/netty-buffer-4.1.76.Final.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/metrics-core-4.1.12.1.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/jline-2.14.6.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/jetty-util-ajax-9.4.43.v20210629.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/jetty-util-9.4.43.v20210629.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/jetty-servlet-9.4.43.v20210629.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/jetty-server-9.4.43.v20210629.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/jetty-security-9.4.43.v20210629.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/jetty-io-9.4.43.v20210629.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/jetty-http-9.4.43.v20210629.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/javax.servlet-api-3.1.0.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/jackson-databind-2.13.2.1.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/jackson-core-2.13.2.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/jackson-annotations-2.13.2.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/commons-cli-1.4.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../lib/audience-annotations-0.12.0.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../zookeeper-*.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../zookeeper-server/src/main/resources/lib/*.jar:/opt/apache-zookeeper-3.7.1-bin/bin/../conf:
java.library.path/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.io.tmpdir/tmp
java.compilerNA
os.nameLinux
os.archamd64
os.version3.10.0-957.el7.x86_64
user.nameroot
user.home/root
user.dir/
os.memory.free96MB
os.memory.max889MB
os.memory.total119MB参数描述
当前server的环境信息版本信息主机的hostjvm相关参数versionclasspathlib等等os相关参数nameversion等等当前host用户信息namedir等等
mntr
查看zk的健康信息
[rootk8s-m1 bin]# echo mntr |nc localhost 2181|more
zk_version 3.7.1-a2fb57c55f8e59cdd76c34b357ad5181df1258d5, built on 2022-05-07 06:45 UTC
zk_server_state follower
zk_peer_state following - broadcast
zk_ephemerals_count 0
zk_num_alive_connections 1
zk_avg_latency 0.0
zk_outstanding_requests 0
zk_znode_count 10
zk_global_sessions 1
zk_non_mtls_remote_conn_count 0
zk_last_client_response_size -1
zk_packets_sent 14
zk_packets_received 13
zk_max_client_response_size -1
zk_connection_drop_probability 0.0
zk_watch_count 0
zk_auth_failed_count
......参数描述
版本延时收包发包连接数未完成客户端请求数leader/follower 状态znode 数watch 数临时节点数近似数据大小 应该是一个总和的值打开文件描述符 数最大文件描述符 数fllower数等等
wchs:
列出服务器 watch 的详细信息包括有watch path的连接数 以及watch的path数 和 watcher数
[rootk8s-m1 bin]# echo wchs |nc localhost 2181
0 connections watching 0 paths
Total watches:0wchc
通过 session 列出服务器 watch 的详细信息它的输出是一个与 watch 相关的会话的列表。 ·
[rootk8s-m1 bin]# echo wchc |nc localhost 2181wchp
通过path路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。
[rootk8s-m1 bin]# echo wchp |nc localhost 2181crst:
重置连接状态重置关于链接/session的统计信息是一个execute操作 不是一个select操作执行后返回一个状态信息
[rootk8s-m1 bin]# echo crst |nc localhost 2181
Connection stats reset.
[rootk8s-m1 bin]# srst:
同样是一个execute操作而不是select重置server状态
[rootk8s-m1 bin]# echo srst |nc localhost 2181
Server stats reset.
[rootk8s-m1 bin]# srvr:
服务的一些状态信息和stat有一些信息重合。
[rootk8s-m1 bin]# echo srvr |nc localhost 2181
Zookeeper version: 3.7.1-a2fb57c55f8e59cdd76c34b357ad5181df1258d5, built on 2022-05-07 06:45 UTC
Latency min/avg/max: 0/0.0/0
Received: 1
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x300000009
Mode: follower
Node count: 10
[rootk8s-m1 bin]#参数描述
server的简要信息版本延时收包数发包数连接数状态等信息
以上是基于3.7.1版本的zookeeper 的四字命令的一些监控指标我们可以通过这些命令查看当前集群的一些状态。
更多关于zookeeper的知识分享请前往博客主页。编写过程中能力有限难免出现差错敬请指正