Python 如何从SCOCollector运行外部收集器?
我正在尝试从ScoCollector运行指向ScoCollector/collectors/0文件夹的/path中的external sample.py脚本 scocollector.toml:Python 如何从SCOCollector运行外部收集器?,python,opentsdb,scollector,Python,Opentsdb,Scollector,我正在尝试从ScoCollector运行指向ScoCollector/collectors/0文件夹的/path中的external sample.py脚本 scocollector.toml: Host = "localhost:0" ColDir="//path-to-scollector//collectors//" BatchSize=500 DisableSelf=true 运行SCOCollector的命令: scollector-windows-amd64.exe -conf s
Host = "localhost:0"
ColDir="//path-to-scollector//collectors//"
BatchSize=500
DisableSelf=true
运行SCOCollector的命令:
scollector-windows-amd64.exe -conf scollector.toml -p
但我没有在输出中获得sample.py指标。预计它将连续运行并将输出打印到cnosole。当我跑步时:
scollector-windows-amd64.exe -conf scollector.toml -l
我的外部收集器未列出。在您的scocollector.toml中,您应该有一行,如下所示,
Filter=[“sample.py”]
在sample.py中,您需要这一行#/usr/bin/python
对于在linux机器上运行SCOCollector,上述解决方案运行良好。但对于windows来说,这有点棘手。因为在windows上运行的SCOCollector只能识别批处理文件。所以我们需要为windows做一些额外的工作
创建外部收集器:-
它可以用python、java等任何语言编写。它包含获取数据并打印到控制台的主代码
示例my_external_collector.py
创建包装器批处理脚本:-
包装器\外部\收集器.bat
触发my_external_collector.py in wrapper_external_collector.bat
您也可以将参数传递给脚本。唯一的缺点是我们需要维护两个脚本
python path_to_external/my_external_collector.py