Назад | Перейти на главную страницу

Передача данных мониторинга из Nagios / Zenoss в другую систему

Я создал систему, которая выполняет различные типы анализа временных рядов, и теперь я хотел бы передать ей данные из инструмента мониторинга. Поскольку у меня уже установлен Nagios в моей тестовой среде, я предпочитаю получать его оттуда. Но в качестве второго варианта я мог бы получить доступ к тестовой версии Zenoss, а также был бы признателен за ответы для Zenoss.

Что я хочу

Мне нужны временные ряды для нескольких KPI на нескольких устройствах.

В идеале я мог бы указать формат данных, но если он содержит нужную мне информацию, я буду рад преобразовать ее по получении. Информация, которая мне нужна, просто

Наконец, я хотел бы отправить данные по HTTP (сейчас, позже по HTTPS).

Я уже могу сделать это в случае предупреждения - например, когда порог нарушен, я знаю, как настроить Nagios для вызова моего простого скрипта с IP-адресом устройства и т. Д. В качестве параметров - и мой скрипт выполняет HTTP-запрос. Но я не видел, как это можно настроить, чтобы поджечь каждый голосование.

Что я не хочу

Мне не нужны данные предупреждений, мне нужны необработанные временные ряды.

Я не хочу опрашивать Nagios, чтобы получить эти данные - интервалы опроса могут быть разными, и я хотел бы избежать ненужного сетевого трафика.

Я проверил этот вопрос но это, похоже, отправляло данные с подчиненных узлов Nagios на главный Nagios узел.

В nagios.cfg мы добавили

  • obsess_over_services=1
  • ocsp_command=OUR_COMMAND_NAME

Затем мы определили новую команду в commands.cfg:

  • command_name OUR_COMMAND_NAME
  • command_line /path/to/our/script

Скрипт получает следующие параметры:

  1. Имя хоста
  2. Описание услуг
  3. Состояние службы
  4. Сообщение от соответствующего плагина

Что касается моего вопроса: устройство, которое я хотел, - это имя хоста, а компонент и KPI могут быть извлечены из описания службы и сообщения плагина.

Однако мне нужно проделать небольшую работу по синтаксическому анализу, чтобы получить эти значения, поскольку сообщение плагина написано больше для людей, чем для машин, например.

OK - 1.05 GB used (1.05 GB RAM + 0.00 GB SWAP, this is 32.4% of 3.24 GB RAM)

но, по крайней мере, формат согласован, поэтому я не жалуюсь.

Вы можете сделать это с помощью частей, предназначенных для распределенного мониторинга.

Например, используйте команда ocsp отправить все результаты проверки в другое место. Команда def может указывать на скрипт, который отправляет perfdata через curl или подобное.