LINUX.ORG.RU
ФорумAdmin

Интеграция Bacula с Zabbix


3

1

Не удовлетворившись тем, что нарыл в интернетах, запилил свой собственный велосипед: https://github.com/selivan/bacula_zabbix_integration

Умеет:

  • Отдельные метрики для каждой Job. Нужно, если на один хост приходится более одной Job.
  • Автообнаружение новых Jobs, ручная настройка не требуется. Нужно, потому что если требуется ручная настройка, рано или поздно кто-нибудь добавит Job и забудет прописать в Zabbix.

Написано на питоне. Программировать я не умею, смотрится ужасно. Критика/комментарии/предложения приветствуются

★★★

передача команд пайпами в bconsole? изврат имхо.
куда проще работать с БД каталога напрямую, вытаскивая нужное SQL-ником.

Komintern ★★★★★
()
Ответ на: комментарий от harm

Передаёт сообщения об ошибках/проблемах от Bacula(централизованная система бекапа) в Zabbix(централизованная система мониторинга). Ну и если нужно, можно статистику мониторить, типа «за пол-года средний размер инкрементального бекапа увеличился вдвое» :)

selivan ★★★
() автор топика
Ответ на: комментарий от Komintern

передача команд пайпами в bconsole

Позвольте не согласиться. Если есть бизнес-логика, то лучше ее использовать. Структура базы от версии к версии не должна быть постоянной. впрочем как и bconsole, но тут дело в вероятности того и другого.

petav ★★★★★
()
Ответ на: комментарий от Komintern

Я так сначала и думал сделать, но:
1. Придётся писать отдельные скрипты под MySQL, PostgreSQL и sqlite. Да ещё и тестировать подо всё это.
2. Bacula не хранит информацию о Job-ах в БД, она хранит её в конфиге. То есть можно вытащить её оттуда косвенным образом(select distinct ...), но если Job не запускалась, или если информация о её прошлом запуске удалена как устаревшая, или ещё что-нибудь - его не будет.

selivan ★★★
() автор топика
Ответ на: комментарий от selivan

если Job не запускалась

то мониторить нечего

или если информация о её прошлом запуске удалена как устаревшая

то bconsole тоже ничего не покажет.

Komintern ★★★★★
()
Ответ на: комментарий от petav

bconsole с большим трудом можно назвать бизнес-логикой. это строго интерактивная штука.

Komintern ★★★★★
()
Ответ на: комментарий от Komintern

или если информация о её прошлом запуске удалена как устаревшая

то bconsole тоже ничего не покажет.

show jobs - покажет всё, что есть в конфиге

Если совсем по-уму, то надо писать патч к bacula:
* добавить %<x> подстановочные параметры в mailcommand/operatorcommand для всех относящихся к Job результатов(fd files written,...), чтобы не парсить stdin
* добавить экспорт результатов команд bconsole в JSON/YAML/...

Тогда интеграция с внешними программами станет сильно легче. Но это я пока не осилю :(

selivan ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.