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 агента.