kafka监控系统
Metrics-Java版的指標度量工具之一
Metrics-Java版的指標度量工具之二
JAVA Metrics 度量工具使用介紹1
JAVA Metrics度量工具 - Metrics Core 翻譯
http://blog.synyx.de/2013/09/yammer-metrics-made-easy-part-i/
?
http://kafka.apache.org/documentation.html#monitoring
https://cwiki.apache.org/confluence/display/KAFKA/JMX+Reporters
kafka監控,?http://www.tianjiaguo.com/system-architecture/kafka/kafka%E7%9B%91%E6%8E%A7/
如何對Kafka進行監控,?http://my.oschina.net/u/218540/blog/263704
apache kafka監控系列-KafkaOffsetMonitor
------------------------------------------------------------------------------------------------------------------------------
JAVA Metrics
Kafka采用的是JAVA Metrics進行內部狀態的監控,具體參考上面的blog,說的都比較清楚
JAVA Metrics還是比較好用的,有如下幾種類型的度量,Gauges,?Counters,?Histograms,?Meters,Timers.?
另外還支持Health Checks
并支持多種report方式,metrics-core支持3種?
默認的方式是JMX,Metrics一直將你的所有指標注冊成JMX的MBeans,可以通過Jconsole或VisualVM來直接查看,詳細見下面?
console方式,Metrics提供了ConsoleReporter,這個周期性的打印出注冊的metric到控制臺上?
CSV方式,Metrics提供了CsvReporter,他周期性的提供了一連串的給定目錄下.csv文件
還有其他的reporter,比如將數據發給Ganlia或Graphite這樣現成的監控平臺?
GanliaReporter? 將度量指標以流式的方式返回給Ganglia服務器?
GraphiteReporter? 將度量指標以流式的方式返回給Graphite服務器
?
JMX,Java Management Extension
Kafka中是通過JMX來report metrics的,所以來看看JMX是什么??
http://www.ibm.com/developerworks/cn/java/j-lo-jse63/,這篇講的比較清楚,IBM的blog質量還是值得肯定的呵呵
比如大型的系統中部署了各種各樣的Java組件,每個組件的監控和管理接口都是不一樣的,那么開發一個統一的監控和管理工具就很麻煩?
JMX就是負責對上層管理系統提供統一的接口,以屏蔽底層resources的多樣性
具體架構,參考下面的圖,
?
javax.management.MBeanServer實現了Agent 的功能,以標準的方式給出了管理系統訪問 JMX 框架的接口?
javax.management.MBeans實現了SubAgent 的功能,以標準的方式給出了 JMX 框架訪問資源的接口
參照下面,打開JConsole,就可以看到代表資源的一個個MBean,在MBean上不僅僅可以看到這些資源的當前狀態,還可以動態的更改配置和做些操作?
比如對于java.lang MBean提供了Java 虛擬機的監控和管理接口,?
可以看到虛擬機中的線程數、線程當前的 Stack、內存管理、GC 所占用的時間、虛擬機中的對象和當前虛擬機參數等重要的參數和運行時信息?
還可以對配置信息的檢測和再配置,遠端查看和修改當前 JVM 的 verbose 參數,甚至我們可以在遠端指揮 JVM 做一次 GC
?
如何用JConsole監控kafka的Metrics信息?
首先在執行kafka腳本的時候,加上JMX_PORT,其他JMX相關配置在kafka-run-class.sh的KAFKA_JMX_OPTS已經配上了
JMX_PORT=9999 nohup bin/kafka-server-start.sh config/server.properties &
打開JConsole,
輸入,service:jmx:rmi:///jndi/rmi://11.11.11.11:9999/jmxrmi
然后就可以看到,cool!!!
?
從Metrics中可以看到哪些Kafka指標?
參考,http://kafka.apache.org/documentation.html#monitoring
表有點亂,梳理一下,每個metrics的標識分為3層,MBean name,Type,Metrics name?
kafka.server (MBean Name)
??? BrokerTopicMetrics (Type)?
??????? AllTopicsMessagesInPerSec,所有topic每秒messages數?
??????? AllTopicsBytesInPerSec,所有topic每秒in的字節數?
??????? AllTopicsBytesOutPerSe,out的字節數,沒有out的message數,為啥?呵呵
??? ReplicaManager?
??????? UnderReplicatedPartitions,即有幾個partition實際replica數是小于設置數的(|ISR| < |all replicas|)?
??????? PartitionCount,? partition的個數?
??????? LeaderCount,? leader partition的個數,如果replica因子為1,即為partition數??
??????? ISRShrinksPerSec, 只有broker go down的時候ISR才會發生,Shrink和Expand,一般情況下為0?
??????? ISRExpandsPerSec, 同上
??? ReplicaFetcherManager?
??????? Replica-MaxLag, follower replica和leader replica之間的最大的lag
??? ProducerRequestPurgatory?
??????? PurgatorySize,Requests waiting in the producer purgatory
??? FetchRequestPurgatory?
??????? PurgatorySize,Requests waiting in the fetch purgatory
?
kafka.network
??? RequestMetrics?
??????? {Produce|Fetch-consumer|Fetch-follower}-RequestsPerSec, 每秒producer或consumer請求次數,follower指replica broker
??????? {Produce|Fetch-Consumer|Fetch-Follower}-TotalTimeMs,Request total time?
??????? {Produce|Fetch-Consumer|Fetch-Follower}-QueueTimeMs,Time the request waiting in the request queue?
??????? {Produce|Fetch-Consumer|Fetch-Follower}-LocalTimeMs,Time the request being processed at the leader?
??????? {Produce|Fetch-Consumer|Fetch-Follower}-RemoteTimeMs,Time the request waits for the follower?
??????? {Produce|Fetch-Consumer|Fetch-Follower}-ResponseSendTimeMs,Time to send the response
?
kafka.Log
??? Log??
??????? topic-partition-LogEndoffset,每個partition的End Offset?
??????? topic-partition-NumLogSegments,segements個數?
??????? topic-partition-Size,partition數據的大小
?
kafka.controller
??? KafkaController?
??????? ActiveControllerCount,有幾個active的controller
??? ControllerStats?
??????? LeaderElectionRateAndTimeMs,non-zero when there are broker failures?
??????? UncleanLeaderElectionsPerSec
?
kafka.consumer
??? ConsumerFetcherManager????
???????? ([-.\w]+)-MaxLag,Number of messages the consumer lags behind the producer by
?
Kafka中支持的JMX reporter
https://cwiki.apache.org/confluence/display/KAFKA/JMX+Reporters
本文章摘自博客園,原文發布日期:2014-06-30?
總結
- 上一篇: 19999 元起,雷蛇 2023 款灵刃
- 下一篇: msvbvm60.dll是什么