(Смотрите дно для обновлений ...)
Я написал сценарий метода ввода данных для Cacti (в Ruby, для сбора статистики из beanstalkd), и он работает из командной строки (возвращая одно простое целое число, как описано здесь ), когда запускается как учетная запись пользователя cacti, но как инструмент Cacti. Сам по себе не собирает никаких данных, и в журналах ничего нет.
Вот настройка методов ввода данных: Метод ввода данных Cacti http://img.skitch.com/20091009-gh7g1kukn9yradj6y2iqrd5qm1.jpg
И вот итоговый график (после того, как он был добавлен в шаблон диаграммы хоста и оставлен для работы достаточно долго, чтобы собрать данные): Cacti Graph http://img.skitch.com/20091009-xq1kn3qxkteb5hb11wtx6tbs8m.jpg
Обновление № 1 : похоже, что Cacti может лишить окружающую среду:
sudo su - cacti -c 'env -i / script / beanstat --host 10.11.12.13 --port 11300 --stat current-wait' / script / beanstat: 4: в `require ': такой файл не загружается - rubygems (LoadError) из / script / beanstat: 4
Если это так, как я могу обойти это?
Обновление № 2 : Этот ответ на stackoverflow.com, кажется, решил проблему среды, но все еще нет данных в диаграмме.
Обновление № 3 : Благодаря предложению @ Heath я поднял уровень ведения журнала опросов и обнаружил следующее:
ВНИМАНИЕ: результат CMD недействителен. Частичный результат: U
Не повезло, гуглил, что означает «Частичный результат: U». Скрипт просто печатает одно целочисленное значение.
Обновление № 4 : я наконец получил это работает. Основной проблемой было отсутствие среды при запуске сценария оболочки. Мне пришлось решить эту проблему, добавив префикс моего сценария Ruby со следующими строками:
#! / Bin / ш PATH = / USR / местные / бен: $ PATH exec ruby -x "/ full / path / to / script / directory" $ 0 "$ @" #! / usr / bin / env ruby
И вторичной проблемой была правильная конфигурация методов ввода данных (по одному на каждую отдельную метрику, которую я хотел собрать, даже если они все использовали один и тот же сценарий), которая питает источники данных, которые подают шаблоны данных (или наоборот, я ' Я до сих пор не понимаю, что) передает шаблоны графиков, которые необходимо назначить устройствам, а затем добавить к деревьям графиков. Таким образом, это большой провал с дерьмом для документации, и я надеюсь, что никогда не придется делать это снова.
Обновление № 5 : я поделился своим сценарием на GitHub http://github.com/trak3r/cacti-beanstalkd-script