Доброго времени суток.
Основной вопрос: "куда копать?", копать же буду я сам
Основная причина вопросов в том, что я не понимаю, как устроен внутри zabbix.
Решаемая задача: на удалённом объекте установлено УСПД (Устройство Сбора и Передачи Данных) -- железяка, на которой запущен HTTP-сервер. К УСПД по RS-232 подключены точки учёта. Установка агента на УСПД невозможна.
Необходимо мониторить не только доступность самого УСПД, но и собранные на нём данные по точкам учёта.
У каждой точки учёта есть своё имя и свои номера каналов. Данные доступны по номеру канала (он есть в http-запросе), пользователю нужно имя. Имена точек учёта уникальны в пределах одного УСПД, их количество различное.
Как это должно быть реализовано? Нужна адекватная обвязка, пользователь должен лишь задать каналы, но он не должен знать ничего об аргументах и про скрипт. Как это сделать? Есть ли пример подобного решения?
Самый-самый простой пример проверки данных следующий:

Здесь и далее лишь ИМХО. Если я ошибаюсь, пожалуйста, поправьте.
Я предполагаю, что это должен быть плагин. К сожалению, документация zabbix описывает внешний интерфейс, а не то, как он организован изнутри. Поэтому я изучаю исходники плагина для мониторинга MongoDB, чтобы хотя бы понять, как нужно писать плагины и как zabbix с ними взаимодействует. Я не представляю, правильный это путь или нет.
Основной вопрос: "куда копать?", копать же буду я сам

Основная причина вопросов в том, что я не понимаю, как устроен внутри zabbix.
Решаемая задача: на удалённом объекте установлено УСПД (Устройство Сбора и Передачи Данных) -- железяка, на которой запущен HTTP-сервер. К УСПД по RS-232 подключены точки учёта. Установка агента на УСПД невозможна.
Необходимо мониторить не только доступность самого УСПД, но и собранные на нём данные по точкам учёта.
У каждой точки учёта есть своё имя и свои номера каналов. Данные доступны по номеру канала (он есть в http-запросе), пользователю нужно имя. Имена точек учёта уникальны в пределах одного УСПД, их количество различное.
Как это должно быть реализовано? Нужна адекватная обвязка, пользователь должен лишь задать каналы, но он не должен знать ничего об аргументах и про скрипт. Как это сделать? Есть ли пример подобного решения?
Самый-самый простой пример проверки данных следующий:
Code:
curl "http://$1/crq?req=archive&t1=$(date +%Y%m%d%H%M%S {минус час})&t2=$(date +%Y%m%d%H%M%S)&g1=b$2" | wc -l

Здесь и далее лишь ИМХО. Если я ошибаюсь, пожалуйста, поправьте.
Я предполагаю, что это должен быть плагин. К сожалению, документация zabbix описывает внешний интерфейс, а не то, как он организован изнутри. Поэтому я изучаю исходники плагина для мониторинга MongoDB, чтобы хотя бы понять, как нужно писать плагины и как zabbix с ними взаимодействует. Я не представляю, правильный это путь или нет.
Comment