13. Удалённый мониторинг статистики 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[version]
  • zabbix[vmware,buffer,<режим>]
  • zabbix[wcache,<кэш>,<режим>] (тип кэша 'trends' только сервер)

Шаблоны

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

  • Remote Zabbix server health
  • Remote Zabbix proxy health

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

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

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

{
         "response": "success",
         "data": {
           "boottime": N,
           "uptime": 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
           },
           "version": "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 агента.