10. Кэш значений

Обзор

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

Этот находящийся в оперативной памяти кэш используется для доступа к данным истории, вместо выполнения прямых SQL-запросов к базе данных. Если данные истории не присутствуют в кэше, недостающие значения запрашиваются из базы данных, а кэш обновляется соответственно.

Значения элементов данных остаются в кэше значений до тех пор, пока не произойдёт одно из следующих событий:

  • элемент данных будет удалён (кэшированные значения удаляются после следующей синхронизации конфигурации);
  • значение элемента данных выйдет за пределы диапазона времени или количества, указанного в выражении триггера/вычисляемого элемента данных (кэшированное значение удаляется при получении нового значения);
  • диапазон времени или количества, указанный в выражении триггера/вычисляемого элемента данных, изменён таким образом, что для расчёта требуется меньше данных (ненужные кэшированные значения удаляются через 24 часа).

Состояние кэша значений можно наблюдать с помощью опции управления работой сервера diaginfo (или diaginfo=valuecache) и проверкой раздела кэша значений на предмет диагностической информации. Это может быть полезно для определения неправильно настроенных триггеров или вычисляемых элементов данных.

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

Для наблюдения за кэшем значений поддерживаются два внутренних элемента данных: zabbix[vcache,buffer,<режим>] и zabbix[vcache,cache,<параметр>]. Для получения более подробных сведений смотрите внутренние элементы данных.