1. 程式人生 > >Prometheus 監控之 zookeeper、kafka

Prometheus 監控之 zookeeper、kafka

zookeeper 監控

[[email protected] ~]$ /usr/local/bin/zookeeper_exporter --help
Usage of /usr/local/bin/zookeeper_exporter:
  -bind-addr string
        bind address for the metrics server (default ":9141")
  -log-level string
        log level (default "info")
  -metrics-path string
        path to metrics endpoint (
default "/metrics") -reset-on-scrape should a reset command be sent to zookeeper on each scrape (default true) -version show version and exit -zookeeper string host:port for zookeeper socket (default "localhost:2181") [[email protected] ~]$ /usr/local/bin/zookeeper_exporter [
[email protected] ~]$ curl localhost:9141/metrics # HELP go_gc_duration_seconds A summary of the GC invocation durations. # TYPE go_gc_duration_seconds summary go_gc_duration_seconds{quantile="0"} 3.1513e-05 go_gc_duration_seconds{quantile="0.25"} 4.2555e-05 go_gc_duration_seconds{quantile="0.5"} 4.9278e-05 go_gc_duration_seconds{
quantile="0.75"} 8.2042e-05 go_gc_duration_seconds{quantile="1"} 0.000212331 go_gc_duration_seconds_sum 0.002286821 go_gc_duration_seconds_count 31 # HELP go_goroutines Number of goroutines that currently exist. # TYPE go_goroutines gauge go_goroutines 14 ……

ZooKeeper 提供了四字命令(The Four Letter Words),用來獲取 ZooKeeper 服務的當前狀態及相關資訊。

有哪些命令可以使用?

ZooKeeper四字命令	功能描述
conf	列印配置
cons	列出所有連線到這臺伺服器的客戶端全部連線/會話詳細資訊。包括"接受/傳送"的包數量、會話id、操作延遲、最後的操作執行等等資訊。
crst	重置所有連線的連線和會話統計資訊。
dump	列出那些比較重要的會話和臨時節點。這個命令只能在leader節點上有用。
envi	打印出服務環境的詳細資訊。
reqs	列出未經處理的請求
ruok	即"Are you ok",測試服務是否處於正確狀態。如果確實如此,那麼服務返回"imok",否則不做任何相應。
stat	輸出關於效能和連線的客戶端的列表。
srst	重置伺服器的統計。
srvr	列出連線伺服器的詳細資訊
wchs	列出伺服器watch的詳細資訊。
wchc	通過session列出伺服器watch的詳細資訊,它的輸出是一個與watch相關的會話的列表。
wchp	通過路徑列出伺服器watch的詳細資訊。它輸出一個與session相關的路徑。
mntr	輸出可用於檢測叢集健康狀態的變數列表

可以在客戶端可以通過 telnet 或 nc 向 ZooKeeper 提交相應的命令。舉個最常用的栗子:

echo mntr | nc ip 2181
指標名 解釋
指標名 解釋
zk_version 版本
zk_avg_latency 平均 響應延遲
zk_max_latency 最大 響應延遲
zk_min_latency 最小 響應延遲
zk_packets_received 收包數
zk_packets_sent 發包數
zk_num_alive_connections 活躍連線數
zk_outstanding_requests 堆積請求數
zk_server_state 主從狀態
zk_znode_count znode 數
zk_watch_count watch 數
zk_ephemerals_count 臨時節點數
zk_approximate_data_size 近似資料總和大小
zk_open_file_descriptor_count 開啟 檔案描述符 數
zk_max_file_descriptor_count 最大 檔案描述符 數
leader才有的指標
zk_followers Follower 數
zk_synced_followers 已同步的 Follower 數
zk_pending_syncs 阻塞中的 sync 操作
需要指定閾值的指標

zk_outstanding_requests 堆積請求數
zk_pending_syncs 阻塞中的 sync 操作
zk_avg_latency 平均 響應延遲
zk_open_file_descriptor_count 開啟 檔案描述符 數
zk_max_file_descriptor_count 最大 檔案描述符 數
zk_up 1
zk_server_state 主從狀態
zk_num_alive_connections 活躍連線數

kafka 監控

啟動

kafka_exporter --kafka.server=kafka:9092 [--kafka.server=another-server ...]