1. 程式人生 > >Storm UI & Logs

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支援了HA
  • Port : nimbus佔用埠數。

點選連結可以檢視nimbus.log(前提是nimbus節點啟用了> storm logviewer服務).

Topology Summary

在這裡插入圖片描述

  • Name : 部署topology設定的id

點選連結可以檢視 拓撲資訊。

  • Status : 狀態有ACTIVIE,KILLED,INACTIVE,REBALANCING
  • Replication 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,則返回0
  • Acked : 成功確認 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地址

在這裡插入圖片描述