Как запустить Внешний коллектор от Scollector?
Я пытаюсь запустить внешний скрипт sample.py в папке /path-to-scollector/collectors/0 из scollector.
scollector.toml:
Host = "localhost:0"
ColDir="//path-to-scollector//collectors//"
BatchSize=500
DisableSelf=true
Команда для запуска scollector:
scollector-windows-amd64.exe -conf scollector.toml -p
Но я не получаю метрики sample.py в выводе. Ожидается, что он будет работать непрерывно и печатать вывод в cnosole. Также, когда я бегу:
scollector-windows-amd64.exe -conf scollector.toml -l
моего внешнего коллектора нет в списке.
2 ответа
В вашем scollector.toml, вы должны одну строку, как показано ниже,Filter=["sample.py "]
,
в вашем sample.py вам нужна эта строка#!/usr/bin/python
Для работы Scollector на Linux-машине вышеупомянутое решение работает хорошо. Но с окнами это немного сложно. Так как Scollector работает на окнах, можно идентифицировать только пакетные файлы. Так что нам нужно сделать немного больше работы для окон.
создать внешний коллектор:- Он может быть написан на любом языке Python, Java и т. д. Он содержит основной код для получения данных и печати на консоль.
Пример my_external_collector.py
создайте пакетный скрипт обертки:-wrapper_external_collector.bat.
Запустите my_external_collector.py внутри wrapper_external_collector.bat.
python path_to_external/my_external_collector.py
Вы также можете передавать аргументы скрипту. Единственным недостатком является необходимость поддержки двух скриптов.