Storm UI & Logs
針對storm 1.1.3
版本 ,使用KafkaSpoutConfig作為spout 解析StormUI.
主頁面
Cluster Summary
叢集摘要資訊。
Version | Supervisors | slots Used | Free slots | Total slots | Executors | Tasks |
---|---|---|---|---|---|---|
1.1.3 | 3 | 6 | 6 | 12 | 22 | 22 |
Version
:stormUI安裝節點上的Storm版本Supervisors
: 叢集中Supervisors的個數used、free、total slots
: slots 在Supervisors節點conf中配置,一個solt佔用一個埠. 一個工作程序woker佔用一個solt.Executors
: 執行緒數Tasks
: 任務數
Nimbus Summary
Nimbus節點摘要。
Host | Port | Status | Version | UpTime |
---|---|---|---|---|
s156 | 6627 | Leader | 1.1.3 | 56d 18h 51m 10s |
s160 | 6627 | Offline | Not applicable | Not applicable |
Status
:Nimbus在1.x
支援了HAPort
: nimbus佔用埠數。
點選連結可以檢視nimbus.log(前提是nimbus節點啟用了> storm logviewer服務).
Topology Summary
Name
: 部署topology設定的id
點選連結可以檢視 拓撲資訊。
Status
: 狀態有ACTIVIE,KILLED,INACTIVE,REBALANCINGReplication count
: 複製此拓撲程式碼的nimbus主機數。Num workers
: 可以通過Config.TOPOLOGY_WORKERS: 這個配置項設定用於執行 topology(拓撲)的 worker 數量.
Assigned Mem
: 分配給該topoloy的記憶體之和(每個worker分配記憶體 * Num workers = Assigned Mem
)
單個 worker 的記憶體配置可由 Config.WORKER_HEAP_MEMORY_MB 和 Config.TOPOLOGY_WORKER_MAX_HEAP_SIZE_MB 指定,預設為 768M, 另外再加上預設 64M 的 logwritter 程序記憶體空間,則有 832M。
Supervisor Summary
Supervisor 概述
Host | Id | Uptime | slots | Used slots | Avail slots | Used Mem(MB) | Version |
---|
Host
: supervisor主機名
點選
s157
連結 檢視該supervisor資訊 點選log
連結 檢視該supervisor的日誌資訊(前提是該節點啟用了logviewer服務)
Id
:系統自動生成的supervisorId
點選連結效果
同點擊s157
, 檢視該supervisor資訊。
Nimbus Configuration
nimbus配置檔案資訊,略
Supervisor 頁面
Supervisor頁面較簡單,主要講述下Worker resources
Worker resources
Topology Name
: 拓撲名稱。 點選連結進入topology頁面Host
: supervisor 主機名, 點選連結進入supervisor頁面Port
: 佔用slot埠號, 點選進入該埠對應的worker所部署的topology的日誌頁面
Components
: 在這個worker上面執行的元件數,以及每個元件的任務數。 點選連結,跳轉至元件詳情頁面.
Topology頁面
Topology summary
id
: 每次部署topology,會給設定一個唯一的id,
Topology actions
Topology 執行狀態,可以手動更改.
Topology stats
Window
: 過去10m、3h、1d和all time的執行狀況
點選連線,可檢視各個window時期的 topology執行狀況
Emitted
: OutputCollector的emit方法的次數.。如果有多個元件,則每個元件都會emit tuple,並不是最開始的“任務”數
Transferred
: transferred tuple數。如果一個bolt A使用all group的方式(每一個bolt都要接收到)向bolt B發射tuple, 此時bolt B啟動了n個task, 那麼trasferred顯示的數量將是emitted的n倍.
complete latency(ms)
: 一個tuple從發出到ack的平均時間。如果沒有設定ack,則返回0Acked
: 成功確認 tuple數Failed
: 失敗tuple數。
Kafka Spouts Lag
Latest Offset
: kafka 該分割槽最大偏移量。Spout Committed Offset1
: spout所在consumerGroup的當前偏移量Lag
: 落後偏移量
Spouts (All time)
點選上述的
window連結
,可以檢視各個時間段的spout資訊。
complete latency(ms)
: 一個tuple從spout發出
,到最終處理完畢接收到ack的時間。
Bolts (All time)
Capacity (last 10m)
:Execute latency(ms)
: execute方法處理tuple中花費的平均時間。 execute方法可以在不傳送元組的Ack
的情況下完成。Executed
: tuple 處理數- ` Process latency(ms)’ :該bolt收到一個tuple到收到bolt ack這個tuple的平均時間。
acked
:該bolt收到ack的元組數。
Worker Resources
參照上述 #Worker Resources#內容
Topology Visualization
Logs
日誌在storm中對於跟蹤狀態、操作、錯誤資訊和除錯資訊至關重要.
日誌的位置
所有supervisor的日誌都會配置在${storm.log.dir}
這個目錄下面,${storm.log.dir} 預設指向的是\${storm.home}/logs
目錄,所有的worker日誌的位置在worker-artifacts
目錄下面以分級的方式存在.
例如:${workers-artifacts}/${topolopgyId}/${port}/workder.log
storm UI 進行日誌搜尋 為了改善Storm的除錯,storm提供了log search功能,它支援在某些日誌檔案或者所有拓撲的日誌檔案中搜索.
啟用log search,各個節點(nimbus+ supervisor)需要使用命令:storm logviewer
開始日誌搜尋服務。
全域性搜尋
url格式
${storm_ui_addr}/deep_search_result.html?id=${topology_id}&search=${search}
topology內搜尋
url格式
${storm_ui_addr}/deep_search_result.html?id=${topology_id}&search=${search}
指定worker檔案搜尋
url格式
${supervisor_logview_addr}/logviewer_search.html?file=${file_name}&search=${search}
supervisor_logview_addr
: supervisor節點啟動的logviewer地址file_name
: 它的組成由{topology-id}/{port}/worker.log
supervisor.log
url格式
${supervisor_logview_addr}/daemonlog.html?file=supervisor.log
nimbus.log
url格式
${nimbus_logview_addr}/daemonlog?file=nimbus.log
nimbus_logview_addr
: nimbus節點啟動的logviewer地址