16 Удаленный мониторинг статистики Zabbix

Обзор

Имеется возможность сделать некоторые внутренние метрики Zabbix сервера и прокси доступными удаленно другому Zabbix экземпляру или каким-либо сторонним утилитам. Такая возможность может быть полезна поставщикам поддержки / сервисов, они смогут мониторить удаленно Zabbix сервера/прокси своих клиентов или в организациях, где Zabbix не основным инструментом мониторинга, внутренние метрики Zabbix можно мониторить сторонней системой при использовании зонтичного мониторинга.

Внутренняя статистика Zabbix предоставляется настраиваемому списку адресов, которые указываются в новом параметре 'StatsAllowedIP' сервера / прокси. Запросы будут приниматься только с этих адресов.

Элементы данных

Для настройки запроса внутренней статистики с другого экземпляра Zabbix вы можете использовать два элемента данных:

  • Внутренний элемент данных zabbix[stats,<ip>,<порт>] - для прямых удаленных запросов Zabbix сервера / прокси. <ip> и <порт> используются для идентификации необходимого экземпляра.
  • Элемент данных агента zabbix.stats[<ip>,<порт>] - для удаленных запросов Zabbix сервера / прокси через агента. <ip> и <порт> используются для идентификации необходимого экземпляра.

Смотрите также: Внутренние элементы данных, Элементы данных Zabbix агента

Следующая диаграмма иллюстрирует использование обоих элементов данных в зависимости от контекста.

  • - Сервер → внешний экземпляр Zabbix (zabbix[stats,<ip>,<порт>])
  • - Сервер → прокси → внешний экземпляр Zabbix (zabbix[stats,<ip>,<порт>])
  • - Сервер → агент → внешний экземпляр Zabbix (zabbix.stats[<ip>,<порт>])
  • - Сервер → прокси → агент → внешний экземпляр Zabbix (zabbix.stats[<ip>,<порт>])

Чтобы быть уверенными, что целевой экземпляр разрешает запросы к себе внешним экземпляром, укажите адрес внешнего экземпляра в 'StatsAllowedIP' параметре на целевом экземпляре.

Предоставляемые метрики

Элементы данных собирают статистику одним запросом и возвращают JSON, который является основой для зависимых элементов данных, с которого они получают данные. Любым из двух элементов данных возвращаются следующие внутренние метрики:

  • zabbix[boottime]
  • zabbix[hosts]
  • zabbix[items]
  • zabbix[items_unsupported]
  • zabbix[preprocessing_queue] (только сервер)
  • zabbix[process,<тип>,<режим>,<состояние>] (статистика только на основе типов процессов)
  • zabbix[rcache,<кэш>,<режим>]
  • zabbix[requiredperformance]
  • zabbix[triggers] (только сервер)
  • zabbix[uptime]
  • zabbix[vcache,buffer,<режим>] (только сервер)
  • zabbix[vcache,cache,<параметр>]
  • zabbix[vmware,buffer,<режим>]
  • zabbix[wcache,<кэш>,<режим>] (тип кэша 'trends' только сервер)

Шаблоны

Доступные шаблоны для удаленного мониторинга внутренних метрик Zabbix сервера или прокси с внешнего экземпляра:

  • Template App Remote Zabbix server
  • Template App Remote Zabbix proxy

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

Процесс траппер

Получение запросов внутренних метрик с внешнего экземпляра Zabbix обрабатывается процессом траппер, который проверяет запрос, собирает метрики, создает буфер данных JSON и отправляет назад подготовленный JSON, например, с сервера:

{
         "response": "success",
         "data": {
           "boottime": N,
           "hosts": N,
           "items": N,
           "items_unsupported": N,
           "preprocessing_queue": N,
           "process": {
             "alert manager": {
               "busy": {
                 "avg": N,
                 "max": N,
                 "min": N
               },
               "idle": {
                 "avg": N,
                 "max": N,
                 "min": N
               },
               "count": N
             },
       ...
           },
           "queue": N,
           "rcache": {
             "total": N,
             "free": N,
             "pfree": N,
             "used": N,
             "pused": N
           },
           "requiredperformance": N,
           "triggers": N,
           "uptime": N,
           "vcache": {
             "buffer": {
               "total": N,
               "free": N,
               "pfree": N,
               "used": N,
               "pused": N
             },
             "cache": {
               "requests": N,
               "hits": N,
               "misses": N,
               "mode": N
             }
           },
           "vmware": {
             "total": N,
             "free": N,
             "pfree": N,
             "used": N,
             "pused": N
           },
           "wcache": {
             "values": {
               "all": N,
               "float": N,
               "uint": N,
               "str": N,
               "log": N,
               "text": N,
               "not supported": N
             },
             "history": {
               "pfree": N,
               "free": N,
               "total": N,
               "used": N,
               "pused": N
             },
             "index": {
               "pfree": N,
               "free": N,
               "total": N,
               "used": N,
               "pused": N
             },
             "trend": {
               "pfree": N,
               "free": N,
               "total": N,
               "used": N,
               "pused": N
             }
           }
         }
       }

Внутренние элементы данных очереди

Также имеются два других элемента данных, которые позволяют получить внутреннюю статистику очереди удаленным запросом с другого экземпляра Zabbix:

  • Внутренний элемент данных zabbix[stats,<ip>,<порт>,queue,<от>,<до>] - для прямых запросом внутренней очереди с удаленных Zabbix сервера / прокси
  • Элемент данных агента zabbix.stats[<ip>,<порт>,queue,<от>,<до>] - для удаленных запросов Zabbix сервера / прокси внутренней очереди через агента

Смотрите также: Внутренние элементы данных, Элементы данных Zabbix агента