【发布时间】:2017-11-30 22:46:50
【问题描述】:
我有一个在不同机器(代理、平衡器、注册器...)上运行的软件,并希望使用collectd 将统计信息发送到graphite。
为此,我创建了一个 python 脚本,在该脚本中,我对一个命令的返回值进行了一些正则表达式搜索,该命令列出了属于该软件的所有统计信息。由于我想在所有不同的机器上使用相同的脚本,我需要通过设置文件以某种方式对其进行配置。这样根据设置文件,每台机器都会向石墨发送不同的参数。
我的部分脚本:
stats = softwareX.get_all_statistics()
call_mem = stats.findall(...mem_regex...).group(1)
call_time = stats.findall(...time_regex...).group(1)
考虑到我从stats 中提取了许多参数,并且希望根据脚本运行的机器只发送其中的特定组。例如,call_mem 是平衡机发送给graphite 的参数之一(但不会发送call_time),而代理机器则相反(将发送call_time ,但不是call_mem)。
如何在一个可配置的 Python 脚本中为所有机器完成这项工作?
【问题讨论】: