10. Кэш значений
Обзор
Чтобы делать вычисления выражений триггеров, вычисляемых элементов данных и некоторых макросов намного быстрее, в Zabbix сервере поддерживается опция кэша значений.
Этот находящийся в оперативной памяти кэш используется для доступа к данным истории, вместо выполнения прямых SQL-запросов к базе данных. Если данные истории не присутствуют в кэше, недостающие значения запрашиваются из базы данных, а кэш обновляется соответственно.
Значения элементов данных остаются в кэше значений до тех пор, пока не произойдёт одно из следующих событий:
- элемент данных будет удалён (кэшированные значения удаляются после следующей синхронизации конфигурации);
- значение элемента данных выйдет за пределы диапазона времени или количества, указанного в выражении триггера/вычисляемого элемента данных (кэшированное значение удаляется при получении нового значения);
- диапазон времени или количества, указанный в выражении триггера/вычисляемого элемента данных, изменён таким образом, что для расчёта требуется меньше данных (ненужные кэшированные значения удаляются через 24 часа).
Состояние кэша значений можно наблюдать с помощью опции управления работой сервера diaginfo (или diaginfo=valuecache) и проверкой раздела кэша значений на предмет диагностической информации.
Это может быть полезно для определения неправильно настроенных триггеров или вычисляемых элементов данных.
Для включения функциональности кэша значений в файле конфигурации сервера Zabbix поддерживается необязательный параметр ValueCacheSize.
Для мониторинга кэша значений поддерживаются два внутренних элемента данных: zabbix[vcache,buffer,<mode>] и zabbix[vcache,cache,<parameter>]. Подробнее см. в разделе внутренние элементы данных.