如何运行 Scollector的外部收集器?

How to run External collector from Scollector?

我正在尝试从 scollector 运行 /path-to-scollector/collectors/0 文件夹中 运行 外部 sample.py 脚本.

scollector.toml:

Host = "localhost:0"
ColDir="//path-to-scollector//collectors//"
BatchSize=500
DisableSelf=true

向 运行 收集器发出命令:

scollector-windows-amd64.exe -conf scollector.toml -p

但我没有在输出中获得 sample.py 指标。预计 运行 连续并将输出打印到 cnosole。还有当我 运行ning:

 scollector-windows-amd64.exe -conf scollector.toml -l

我的外部收集器未列出。

在你的scollector.toml中,你应该如下一行,
Filter=["sample.py "]

在您的sample.py中,您需要这一行
#!/usr/bin/python

对于 linux 机器上的 运行 scollector,上述解决方案效果很好。但是 windows 有点棘手。由于 windows 上的 scollector 运行 只能识别批处理文件。所以我们需要为 windows.

做一些额外的工作

创建外部收集器:- 它可以用任何语言编写 python,java 等。它包含获取数据并打印到控制台的主要代码。

示例my_external_collector.py

创建包装批处理脚本:- wrapper_external_collector.bat

wrapper_external_collector.bat 内触发 my_external_collector.py

python path_to_external/my_external_collector.py

您可以将参数传递给脚本also.Only缺点是我们需要维护两个脚本。