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