目前zookeeper获取监控指标已知的有两种方式:
1、通过zookeeper自带的 four letter words command 获取各种各样的监控指标
2、通过JMX Client连接zookeeer对外提供的MBean来 获取监控指标 (需要修改启动脚本,使其支持远程JMX连接)
上述两种方式获取的指标大体上是一致的。
通过下列命令来获取这些监控信息 echo commands | nc ip port
如:
echo conf | nc 192.168.144.110 2181
现在吧能获取到的监控大致列出来:
conf:
能够获取到zookeeper的配置信息,包括
客户端端口,
数据以及日志路径,
间隔单位时间,
单台server与单个client端的连接数限制,
超时时间,
serverId等等信息,
Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在initLimit时间内完成这个工作。
在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。
选举端口。
详细信息如下:
clientPort=2181
dataDir=/export/servers/zookeeper-3.4.6/data/version-2
dataLogDir=/export/servers/zookeeper-3.4.6/logs/version-2
tickTime=2000
maxClientCnxns=60
minSessionTimeout=4000
maxSessionTimeout=40000
serverId=2
initLimit=10
syncLimit=5
electionAlg=3
electionPort=3888
quorumPort=2888
peerType=0
连接信息的总览,
连接ip
端口号
该连接的发包数
该连接的收包数
连接的session Id
最后操作方式/命令
连接的时间戳
超时时间(未确认)
最后的zxid
最后的响应时间戳
连接的时间延时信息
等
详细信息如下:
/192.168.147.102:56168[1](queued=0,recved=60,sent=60,sid=0x24b3673bb141d0e,lop=PING,est=1422614959584,to=40000,lcxid=0x9,lzxid=0xffffffffffffffff,lresp=1422615627690,llat=1,minlat=0,avglat=0,maxlat=1)
/192.168.162.16:43107[1](queued=0,recved=619,sent=643,sid=0x24b3673bb1419fa,lop=PING,est=1422610618969,to=30000,lcxid=0x7c,lzxid=0xffffffffffffffff,lresp=1422615623122,llat=0,minlat=0,avglat=1,maxlat=296)
/192.168.162.16:43110[1](queued=0,recved=411,sent=427,sid=0x14b36741ee41b17,lop=PING,est=1422611808516,to=30000,lcxid=0x6d,lzxid=0xffffffffffffffff,lresp=1422615622028,llat=0,minlat=0,avglat=3,maxlat=444)
/192.168.144.107:38698[1](queued=0,recved=2,sent=2,sid=0x24b3673bb141da3,lop=NA,est=1422615628413,to=20000,lcxid=0x1,lzxid=0x68000ad897,lresp=1422615629458,llat=2,minlat=0,avglat=1,maxlat=2)
/192.168.162.16:43117[1](queued=0,recved=62,sent=62,sid=0x24b3673bb141d05,lop=PING,est=1422614913239,to=40000,lcxid=0x8,lzxid=0xffffffffffffffff,lr