【zookeeper】zookeeper监控指标查看

这篇具有很好参考价值的文章主要介绍了【zookeeper】zookeeper监控指标查看。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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服务
[root@k8s-m1 bin]# yum install nc -y
[root@k8s-m1 bin]# echo ruok |nc localhost 2181
ruok is not executed because it is not in the whitelist.

stat

可以查看一些状态信息和连接信息,包括本节点角色,客户端连接情况等:

[root@k8s-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](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0.0/0
Received: 2
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x300000008
Mode: follower
Node count: 10

ruok

ruok 查看zookeeper是否启动

[root@k8s-m1 bin]# echo ruok |nc localhost 2181
imok[root@k8s-m1 bin]#

dump

列出所有等待队列中的会话和临时节点的信息。

[root@k8s-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: 0x0

conf

能够获取到zookeeper的配置信息,包括客户端端口clientPort;数据以及日志路径;间隔单位时间;单台server与单个client端的连接数限制;超时时间minSessionTimeout、maxSessionTimeout等。

Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许follower在initLimit时间内完成这个工作。

在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。

[root@k8s-m1 bin]# echo conf |nc localhost 2181
clientPort=2181
secureClientPort=-1
dataDir=/zookeeperData/version-2
dataDirSize=402653232
dataLogDir=/zookeeperDataLog/version-2
dataLogSize=899
tickTime=2000
maxClientCnxns=1000
minSessionTimeout=30000
maxSessionTimeout=60000
clientPortListenBacklog=-1
serverId=1
initLimit=10
syncLimit=5
electionAlg=3
electionPort=3888
quorumPort=2888
peerType=0
membership: 
server.1=192.168.2.140:2888:3888:participant
server.2=192.168.2.141:2888:3888:participant
server.3=192.168.2.142:2888:3888:participant

cons

显示连接到服务端的信息(列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息)
[root@k8s-m1 bin]# echo cons |nc localhost 2181
/127.0.0.1:511040
我这测试环境没有其他程序连接使用。

具体使用中更多详细信息的参数描述:
  • 连接信息的总览,
  • 连接ip
  • 端口号
  • 该连接的发包数
  • 该连接的收包数
  • 连接的session Id
  • 最后操作方式/命令
  • 连接的时间戳
  • 超时时间(未确认)
  • 最后的zxid
  • 最后的响应时间戳
  • 连接的时间延时信息

envi

显示环境变量信息(区别于 conf 命令)

[root@k8s-m1 bin]# echo envi  |nc localhost 2181
Environment:
zookeeper.version=3.7.1-a2fb57c55f8e59cdd76c34b357ad5181df1258d5, built on 2022-05-07 06:45 UTC
host.name=k8s-m1
java.version=1.8.0_65
java.vendor=Oracle 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.compiler=<NA>
os.name=Linux
os.arch=amd64
os.version=3.10.0-957.el7.x86_64
user.name=root
user.home=/root
user.dir=/
os.memory.free=96MB
os.memory.max=889MB
os.memory.total=119MB
参数描述
  • 当前server的环境信息:
  • 版本信息
  • 主机的host
  • jvm相关参数:version,classpath,lib等等
  • os相关参数:name,version等等
  • 当前host用户信息:name,dir等等

mntr

查看zk的健康信息

[root@k8s-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数

[root@k8s-m1 bin]# echo wchs |nc localhost 2181
0 connections watching 0 paths
Total watches:0

wchc

通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。 ·

[root@k8s-m1 bin]# echo wchc  |nc localhost 2181

wchp

通过path路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。

[root@k8s-m1 bin]# echo wchp  |nc localhost 2181

crst:

重置连接状态,重置关于链接/session的统计信息,是一个execute操作 不是一个select操作,执行后返回一个状态信息:

[root@k8s-m1 bin]# echo crst  |nc localhost 2181
Connection stats reset.
[root@k8s-m1 bin]# 

srst:

同样是一个execute操作而不是select,重置server状态:

[root@k8s-m1 bin]# echo srst  |nc localhost 2181
Server stats reset.
[root@k8s-m1 bin]# 

srvr:

服务的一些状态信息,和stat有一些信息重合。

[root@k8s-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
[root@k8s-m1 bin]#
参数描述:
  • server的简要信息:
  • 版本
  • 延时
  • 收包数
  • 发包数
  • 连接数
  • 状态等信息

以上是基于3.7.1版本的zookeeper 的四字命令的一些监控指标,我们可以通过这些命令查看当前集群的一些状态。

更多关于zookeeper的知识分享,请前往博客主页。编写过程中,能力有限难免出现差错,敬请指正文章来源地址https://www.toymoban.com/news/detail-764917.html

到了这里,关于【zookeeper】zookeeper监控指标查看的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 监控Redis的关键指标

    Redis 也是一个对外服务,所以 Google 的四个黄金指标同样适用于 Redis。 1、延迟 在软件工程架构中,之所以选择 Redis 作为技术堆栈的一员,大概率是想要得到更快的响应速度和更高的吞吐量,所以延迟数据对使用 Redis 的应用程序至关重要。 客户端应用程序埋点。比如某个

    2024年02月13日
    浏览(31)
  • ES 监控指标

    红色为能够反映集群状态异常的关键指标 蓝色为需重点关注的性能指标 告警阈值均设置为宏变量,可根据集群情况自定义,表格中均为默认值 ES进程监控模板 指标 具体的含义 监控间隔 Warning High Disaster 备注 proc.num[,,,bootstrap.Elasticsearch] 检测ES进程是否存活 30s 1 ,且原先值0

    2024年02月05日
    浏览(16)
  • Flink 任务指标监控

    目录 状态监控指标 JobManager 指标 TaskManager 指标 Job 指标 资源监控指标 数据流监控指标 任务监控指标 网络监控指标 容错监控指标 数据源监控指标 数据存储监控指标         当使用 Apache Flink 进行流处理任务时,可以根据不同的监控需求,监控以下常用指标: JobManager 指

    2024年02月03日
    浏览(23)
  • PostgreSQL 常用监控指标

    最关键的一些数据库健康指标,趋势监测。 主要看趋势,直接与业务量挂钩 如果连接数接近max_connection水位,需要注意。 同时连接数应与数据库主机可用内存挂钩,每个连接保守估计10MB内存开销(这里还未计算SYSCACHE,RELCACHE)。 演示,打印每秒的总连接数。 主要看趋势,直

    2024年02月12日
    浏览(20)
  • Prometheus实现自定义指标监控

    前面我们已经通过 Prometheus+Grafana 实现了监控,可以在 Grafana 上看到对应的 SpringBoot 应用信息了, 通过这些信息我们可以对 SpringBoot 应用有更全面的监控。 但是如果我们需要对一些业务指标做监控,我们应该怎么做呢?这篇文章就带你一步步实现一个模拟的订单业务指 标监

    2024年02月12日
    浏览(33)
  • RabbitMQ监控方法以及核心指标

    探讨rabbitmq的监控数据采集方式以及需要关注的核心指标,便于日常生产进行监控和巡检。 rabbitmq的指标采集有2种方式 rabbitmq的内置或者外部下载的插件暴露指标 使用第三方rabbitmq_exporter采集rabbitmq并暴露指标 RabbitMQ内部集成Prometheus来获取指标,操作也比较简便。 3.8.0之前版

    2024年02月21日
    浏览(31)
  • Prometheus相关的主机监控指标

    CPU负载指标 node_load1 node_load5 node_load15 以上三个指标为主机CPU平均负载,分别对应一分钟、五分钟和十五分钟的时间间隔。CPU负载是指某段时间内占用CPU时间的进程和等待CPU时间的进程数之和。一般来说,cpu负载数/cpu核数如果超过0.7,应该开始关注机器性能情况 ,如果超过

    2023年04月17日
    浏览(27)
  • Flink集群常见的监控指标

            为确保能够全面、实时地监控Flink集群的运行状态和性能指标。以下是监控方案的主要组成部分: Flink集群概览:通过访问Flink的JobManager页面,您可以获取集群的总体信息,包括TaskManager的数量、任务槽位数量、运行中的作业以及已完成的作业。这可以帮助您了解

    2024年02月09日
    浏览(28)
  • HBase监控方法以及核心指标

    探讨hbase的监控数据采集方式以及需要关注的核心指标,便于日常生产进行监控和巡检。 监控指标的采集方式使用promethues + jmx_prometheus_javaagent的方式进行,具体方案部署方案可以参考HDFS监控方法以及核心指标 需要注意的是,调整几个关键配置, 1, 配置master.yaml和regionserver

    2024年01月22日
    浏览(31)
  • 服务器巡检表-监控指标

    系统资源 K8S集群 Nginx JAVA应用 RabbitMQ Redis PostgreSQL Elasticsearch ELK日志系统 检查项目 检查指标 检查标准 系统资源 CPU 使用率 正常:<70% 低风险:≥ 70% 中风险:≥ 85% 高风险:≥ 95% 内存使用率 正常:<70% 低风险:≥ 70% 中风险:≥ 85% 高风险:≥ 95% 磁盘使用率 正常:<80

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包