Kafka的监控指标
0、前言
Kafka的度量指標主要有以下三類:
1.Kafka服務器(Kafka)指標
2.生產者指標
3.消費者指標
另外,由于Kafka的狀態靠Zookeeper來維護,對于Zookeeper性能的監控也成為了整個Kafka監控計劃中一個必不可少的組成部分。
一、Broker度量指標
Kafka的服務端度量指標是為了監控broker,也是整個消息系統的核心。因為所有消息都通過kafka broker傳遞,然后被消費,所以對于broker集群上出現的問題的監控和告警就尤為重要。broker性能指標有以下三類:
-
Kafka本身的指標
-
主機層面的指標
-
JVM垃圾回收指標
| UnderReplicatedPartitions | 在一個運行健康的集群中,處于同步狀態的副本數(ISR)應該與總副本數(簡稱AR:Assigned Repllicas)完全相等,如果分區的副本遠遠落后于leader,那這個follower將被ISR池刪除,隨之而來的是IsrShrinksPerSec(可理解為isr的縮水情況,后面會講)的增加。由于kafka的高可用性必須通過副本來滿足,所有有必要重點關注這個指標,讓它長期處于大于0的狀態。 |
| IsrShrinksPerSec IsrExpandsPerSec | 任意一個分區的處于同步狀態的副本數(ISR)應該保持穩定,只有一種例外,就是當你擴展broker節點或者刪除某個partition的時候。為了保證高可用性,健康的kafka集群必須要保證最小ISR數,以防在某個partiton的leader掛掉時它的follower可以接管。如果IsrShrinksPerSec(ISR縮水) 增加了,但并沒有隨之而來的IsrExpandsPerSec(ISR擴展)的增加,就將引起重視并人工介入。 |
| ActiveControllerCount | controller的職責是維護partition leader的列表,當遇到這個值等于0且持續了一小段時間(<1秒)的時候,必須發出明確的告警。 |
| OfflinePartitionsCount | 這個指標報告了沒有活躍leader的partition數。 |
| LeaderElectionRateAndTimeMs | leader選舉的頻率(每秒鐘多少次)和集群中無leader狀態的時長(以毫秒為單位) |
| UncleanLeaderElectionsPerSec | 這個指標如果存在的話很糟糕,這說明kafka集群在尋找partition leader節點上出現了故障 |
| TotalTimeMs | 這個指標是由4個其他指標的總和構成的: lqueue:處于請求隊列中的等待時間 llocal:leader節點處理的時間 lremote:等待follower節點響應的時間 lresponse:發送響應的時間 |
| BytesInPerSec BytesOutPerSec | Kafka的吞吐量 |
二、?生產者度量指標
| Response rate | 響應的速率是指數據從producer發送到broker的速率 |
| Request rate | 請求的速率是指數據從producer發送到broker的速率 |
| Request latency avg | 平均請求延遲 |
| Outgoing byte rate | Producer的網絡吞吐量 |
| IO wait time ns avg | Producer的I/O等待的時間 |
三、消費者度量指標
| ConsumerLag MaxLag | 指consumer當前的日志偏移量相對生產者的日志偏移量 |
| BytesPerSec | 消費者的網絡吞吐量 |
| MessagesPerSec | 消息的消費速度 |
| ZooKeeperCommitsPerSec | 當zookeeper處于高寫負載的時候,將會遇到成為性能瓶頸,從而導致從kafka管道抓取數據變得緩慢。隨著時間推移跟蹤這個指標,可以幫助定位到zookeeper的性能問題,如果發現有大量發往zookeeper的commit請求,你需要考慮的是,要不對zookeeper集群進行擴展。 |
| MinFetchRate | 消費者最小拉取的速率 |
通過官方網站的說明(http://kafka.apache.org/documentation/#monitoring),可以查看Kafka提供的所有的監控指標參數。在這里只是列出了部分主要的參數指標。
總結
以上是生活随笔為你收集整理的Kafka的监控指标的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科技黑箱的时代
- 下一篇: nginx.conf文件(原始无修改)