针对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 |
|---|---|---|---|---|---|---|---|
| s158(log) | e3ab8f3f-128b-4e5e-aee3-854fcfaac831 | 18d 17h 36m 24s | 4 | 3 | 1 | 832 | 1.1.3 |
-
Host: supervisor主机名
点击
s157链接跳转至supervisor详情页面
点击log链接查看supervisor.log(前提是该节点启用了logviewer服务)
-
Id:系统自动生成的supervisorId
点击链接效果
同点击s157, 查看该supervisor信息。
Nimbus Configuration
nimbus配置文件信息,略
Supervisor 页面
Supervisor页面较简单,主要讲述下Worker resources
Worker resources
-
Topology Name: 拓扑名称。跳转至topology详情页面 -
Host: supervisor 主机名,跳转至supervisor详情页面 -
Port: 占用slot端口号,查看 topology-id/port/worker.log,
如:http://s158:8000/log?file=scada-55-1540810065/6700/worker.log。
用来查看$supervisor_home/logs/workers-artifacts/$file 对应的日志文件。
-
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): 计算公式为:Capacity = executed *Execute latency /时间区间 `。如果这个值越接近1,bolt或executor一直在调用execute,说明并行度不够。 -
Execute latency(ms): execute方法处理tuple中花费的平均时间。 execute方法可以在不发送元组的Ack的情况下完成。 -
Executed: tuple 处理数 -
Process latency(ms):tuple从收到到被ack花费的平均时间。 -
acked:该bolt收到ack的元组数。
Execute latency(ms)和Process latency(ms)表示处理消息的时效性Capacity表示处理能力是否已经饱和
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地址