У меня проблема с настраиваемым скриптом, использующим плагин exec. Из оболочки скрипт работает нормально и ничего полезного в /var/log/collectd.log.
LoadPlugin logfile
<Plugin logfile>
LogLevel info
File "/var/log/collectd.log"
Timestamp true
PrintSeverity true
</Plugin>
Как я могу отладить / устранить неполадки? В документ Я нашел пример
-> | PUTVAL "testhost/interface/if_octets-test0" interval=10 1179574444:123:456
<- | 0 Success
Но как его запустить, как передать свой PUTVAL в collectd? Collectd не прослушивает ни один порт (все остальные плагины работают нормально и отправляют данные на graphite).
Для ясности: проблема не в том, чтобы увидеть сгенерированную строку, а в том, чтобы убедиться, что конкретная строка будет принята.
Спасибо.
p.s. конкретная проблема: скрипт возвращает десятки значений, но одно из них попадает только в графит.
Остановка службы и запуск вручную check_capability -f
отображает ошибки, которые не выводятся в файл журнала.
Ваш собственный сценарий должен использовать текстовый протокол, который вы упоминаете, записывая команды в стандартный вывод. Вы можете найти очень простой пример в документации: https://collectd.org/wiki/index.php/Plugin:Exec
echo "PUTVAL \"$HOSTNAME/exec-magic/gauge-magic_level\" interval=$INTERVAL N:$VALUE"
По сути, ваш скрипт должен только записывать команды PUTVAL в стандартный вывод (и ничего больше) для отправки значений.