Удаленный мониторинг статистики
Некоторые внутренние метрики Сервера и Прокси можно сделать доступными удаленно для другого экземпляра Подсистемы или сторонних утилит. Может быть полезно, чтобы поставщики поддержки/сервисов имели возможность удаленно мониторить Сервер/Прокси своих клиентов, или в организациях, где Подсистема не является основным инструментом мониторинга, чтобы внутренние метрики Подсистемы могли контролироваться сторонней системой при использовании зонтичного мониторинга.
Внутренняя статистика Подсистемы открыта для настраиваемого списка адресов, перечисленных в новом параметре StatsAllowedIP Сервера/Прокси. Запросы будут приниматься только с этих адресов.
Для настройки запроса внутренней статистики с другого экземпляра Подсистемы можно использовать два элемента данных:
- Внутренний элемент данных
zabbix[stats,<ip>,<порт>]– для прямых удаленных запросов к Серверу/Прокси.и <порт> используются для идентификации необходимого целевого экземпляра. - Элемент данных Агента
zabbix.stats[<ip>,<порт>]для удаленных запросов к Серверу/Прокси через Агента.и <порт> используются для идентификации необходимого целевого экземпляра.
Рисунок 2 иллюстрирует использование обоих элементов данных в зависимости от контекста.

Рисунок 2 — Использование элементов данных
- Сервер → внешний экземпляр
zabbix[stats,<ip>,<порт>]-
; - Сервер → Прокси → внешний экземпляр
zabbix[stats,<ip>,<порт>]-
; - Сервер → Агент → внешний экземпляр
zabbix.stats[<ip>,<порт>]-
; - Сервер → Прокси → Агент → внешний экземпляр
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только Сервер).
Доступные шаблоны для удаленного мониторинга внутренних метрик Сервера или Прокси с внешнего экземпляра:
- Remote Zabbix server;
- Remote Zabbix proxy.
Следует обратить внимание, что при использовании шаблонов удаленного мониторинга нескольких внешних экземпляров для мониторинга каждого внешнего экземпляра потребуется отдельный узел сети.
Получение запросов внутренних метрик с внешнего экземпляра Подсистемы обрабатывается процессом траппер, который проверяет запрос, собирает метрики, создает буфер данных 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[stats,<ip>,<порт>,queue,<от>,<до>]– для прямых запросов внутренней очереди с удаленного Сервера/Прокси; - Элемент данных Агента
zabbix.stats[<ip>,<порт>,queue,<от>,<до>]– для запросов внутренней очереди удаленного Сервера/Прокси через Агента.