由于某些原因,我需要获得Heron Cluster的吞吐量,但Heron UI中没有度量。那么,您对如何监控鹭群的吞吐量有什么想法吗?谢谢
运行苍鹭浏览器的结果如下:
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.
您可以使用接收器组件的execute-count
来测量拓扑的输出。如果每个组件的输入输出比为1:1,那么这就是您的吞吐量。
然而,如果你将元组窗口化为批,或者将元组拆分(比如将句子拆分为单个单词(,那么事情就会变得稍微复杂一些。通过查看喷口组件的emit-count
,可以将输入输入到拓扑中。然后,您可以将其与螺栓execute-counts
进行比较,以创建自己的吞吐量度量。
通过Heron Tracker REST API可以轻松地对这些指标进行编程访问。您可以使用所选语言的HTTP库(如RequestsforPython(来查询运行拓扑的最后3个小时的数据。如果您需要超过3小时的数据(拓扑TMaster存储的最大值(,则需要使用其他度量接收器之一将度量发送到外部数据库。Heron目前提供水槽以保存到本地文件,Graphite或Prometheus。InfluxDB支持正在进行中。