博客搬家至 https://lcy362.github.io/posts/31996/
UI說明
jstorm的UI相對於storm提供了更為豐富的監控項。UI本身是在tomcat中運行的一個war包,進行二次開發也相對容易。
cluster頁
Cluster Summary, Cluster Stats, Topology Summary
cluster的整體信息, conf中是nimbus節點的配置。
Topology Summary
當前運行的所有topology列表及概要信息,conf中對應的是topology單獨配置的配置項。
Supervisor Summary
所有supervisor列表, 可以查看supervisor的配置、日志等。
topology頁
Topology Summary
主要關注Topology Graph 項,這是Component Metrics 頁的概要信息,可以較直觀的看出運行狀況。
其中,節點大小和箭頭粗細代表數據量,節點顏色用於區分spout和bolt。箭頭顏色對應TupleLifeCycle屬性,由綠到紅越來越慢。箭頭變紅色時,可以適當增加下游節點的並行度。
Component Metrics
包含每個spout, bolt的統計信息。
各參數說明:
tasks : 並行度。對應代碼中為每個spout/bolt設置的並行度。
emitted, acked, failed : 發射/收到ack/未收到ack的消息數。
sendTps, recvTps: 發送/接收數據tps.
需要注意,以上數據交互類的指標包含了與storm本身組件,topology_master,acker之間的交互,只能用來查看運行狀況,不適合統計用。
process: 對於bolt來說,是excute()函數的執行時間,對於spout來說,是整條消息(包含下游各步)被完整處理的時間,體現系統運行效率的主要參數。
TupleLifeCycle: 從上游消息被emit,到消息處理完所需時間。和process相比相差太大時,說明在bolt隊列中等待了較長時間,可以適當增加並發。
deser, ser: 序列化/反序列化耗時,一般無需關注. storm中每一個emit出來的數據都需要做序列化和反序列化。
error: 鼠標懸浮在E上,可以查看具體的報錯信息。主要尋找帶異常堆棧的數據, 一些諸如is dead, no response之類的信息無需關注。