如何监控苍鹭群集的吞吐量

时间:2018-07-31 13:35:45

标签: heron

出于某些原因,我需要获取Heron Cluster的吞吐量,但是Heron UI中没有度量标准。那么,您对如何监视Heron Cluster的吞吐量有任何想法吗?谢谢。

运行heron-explorer的结果如下:

yitian@heron01:~$ heron-explorer metrics aurora/yitian/devel SentenceWordCountTopology
[2018-08-03 21:02:09 +0000] [INFO]: Using tracker URL: http://127.0.0.1:8888
'spout' metrics:
container id           jvm-uptime-secs    jvm-process-cpu-load    jvm-memory-used-mb    emit-count    ack-count    fail-count
-------------------  -----------------  ----------------------  --------------------  ------------  -----------  ------------
container_3_spout_6               2053                0.253257                 146     1.13288e+07  1.13278e+07             0
container_4_spout_7               2091                0.150625                 137.5   1.1624e+07   1.16228e+07           231

'count' metrics:
container id            jvm-uptime-secs    jvm-process-cpu-load    jvm-memory-used-mb    emit-count    execute-count    ack-count    fail-count
--------------------  -----------------  ----------------------  --------------------  ------------  ---------------  -----------  ------------
container_6_count_12               2092                0.184742               155.167             0      4.6026e+07   4.6026e+07              0
container_5_count_9                2091                0.387867               146                 0      4.60069e+07  4.60069e+07             0
container_6_count_11               2092                0.184488               157.833             0      4.58158e+07  4.58158e+07             0
container_4_count_8                2091                0.443688               129.833             0      4.58722e+07  4.58722e+07             0
container_5_count_10               2091                0.382577               118.5               0      4.60091e+07  4.60091e+07             0

'split' metrics:
container id           jvm-uptime-secs    jvm-process-cpu-load    jvm-memory-used-mb    emit-count    execute-count    ack-count    fail-count
-------------------  -----------------  ----------------------  --------------------  ------------  ---------------  -----------  ------------
container_1_split_2               2091                0.143034               75.3333   4.59453e+07      4.59453e+06  4.59453e+06             0
container_3_split_5               2042                1.12248                79.1667   4.64862e+07      4.64862e+06  4.64862e+06             0
container_2_split_3               2150                0.139837               83.6667   4.59443e+07      4.59443e+06  4.59443e+06             0
container_1_split_1               2091                0.145702              104.167    4.59454e+07      4.59454e+06  4.59454e+06             0
container_2_split_4               2150                0.138453              106.333    4.59443e+07      4.59443e+06  4.59443e+06             0
[2018-08-03 21:02:09 +0000] [INFO]: Elapsed time: 0.031s.

1 个答案:

答案 0 :(得分:2)

您可以使用接收器组件的execute-count来测量拓扑的输出。如果每个组件的输入与输出之比为1:1,那么这就是您的吞吐量。

但是,如果将元组分成窗口或将元组拆分(例如将句子分成单个单词),则事情会变得有些复杂。您可以通过查看喷口组件的emit-count将输入输入到拓扑中。然后,您可以将其与螺栓execute-counts进行比较,以创建自己的吞吐量指标。

通过Heron Tracker REST API是获得这些指标的编程访问权限的一种简便方法。您可以使用所选语言的HTTP库(例如Python请求)来查询最近3个小时的数据,以了解正在运行的拓扑。如果您需要3个小时以上的数据(拓扑TMaster存储的最大值),则需要使用另一个metrics sinks来将指标发送到外部数据库。 Heron当前提供接收器以保存到本地文件Graphite或Prometheus。 InfluxDB支持正在开发中。