出于某些原因,我需要获取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.
答案 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支持正在开发中。