На странице

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

Обзор

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

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

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

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

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

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

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