Создание элемента данных

Обзор

Чтобы создать элемент данных в веб-интерфейсе Zabbix, выполните следующие действия:

  1. Перейдите в раздел Сбор данных > Узлы сети.
  2. Нажмите Элементы данных в строке узла сети.
  3. Нажмите Создать элемент данных в правом верхнем углу экрана.
  4. Укажите параметры элемента данных в форме.

Также можно создать элемент данных, открыв существующий элемент данных, нажав кнопку Клонировать и сохранив его под другим именем.

Настройка

Вкладка Элемент данных содержит общие атрибуты элемента данных.

Все обязательные поля отмечены красной звездочкой.

Параметр Описание
Имя Имя элемента данных.
Поддерживаются пользовательские макросы.
Тип Тип элемента данных. См. отдельные разделы о типах элементов данных.
Ключ Ключ элемента данных (до 2048 символов).
Поддерживаемые ключи элементов данных приведены в отдельных разделах о типах элементов данных.
Ключ должен быть уникальным в пределах одного узла сети.
Если тип ключа — «Zabbix agent», «Zabbix agent (active)» или «Simple check», значение ключа должно поддерживаться агентом Zabbix или сервером Zabbix.
См. также правильный формат ключа.
Тип информации Тип данных, используемый для проверки значения элемента данных и его хранения в базе данных, в том числе после выполнения любых преобразований:
Числовой (без знака) — 64-разрядное целое число без знака;
Числовой (с плавающей точкой) — 64-разрядное число с плавающей точкой;
Символ — короткий текст;
Журнал — длинный текст с параметрами журнала или без них (временная метка, источник, важность, идентификатор события журнала);
Текст — длинный текст;
Двоичный — двоичное число (поддерживается только для зависимых элементов данных);
JSON — структурированные данные JSON, хранящиеся в базе данных в исходном формате (не поддерживается для вычисляемых элементов данных).
Элементы данных, возвращающие значения с двоичным типом данных или типом JSON, не поддерживаются в формулах вычисляемых элементов данных или выражениях триггеров.
Ограничения хранения для каждого типа данных и серверной части базы данных см. в разделе Ограничения данных элементов данных.
Для элементов данных, возвращающих данные в одном определенном формате, соответствующий тип данных выбирается автоматически — например, system.cpu.load и system.cpu.util возвращают 64-разрядное число с плавающей точкой, поэтому автоматически выбирается тип Числовой (с плавающей точкой).
Интерфейс узла сети Выберите интерфейс узла сети. Это поле доступно при редактировании элемента данных на уровне узла сети.
Единицы измерения Если задан символ единицы измерения, Zabbix выполняет постобработку полученного значения элемента данных и отображает его с указанным суффиксом единицы измерения.
Поддерживаемые символы единиц измерения со специальным форматированием (и примеры: полученное значение элемента данных → отображаемое значение):
B — байты (1024 → 1 KB)
Bps — байты в секунду (1024 → 1 KBps)
s — секунды, отображаемые с использованием до трех крупнейших ненулевых единиц времени (881764 → 10d 4h 56m)
uptime — прошедшее время в формате чч:мм:сс или N дней, чч:мм:сс (881764 → 10 days, 04:56:04)
unixtime — временная метка Unix в формате гггг.мм.дд чч:мм:сс (881764 → 1970-01-11 04:56:04 AM); для правильного форматирования полученное значение элемента данных должно иметь тип Числовой (без знака).
Для других единиц измерения (например, Гц, Вт и т. д.), если полученное значение превышает 1000, оно делится на 1000 и отображается с соответствующим префиксом (5000 → 5 KHz, 881764 → 881.76 KW).
Если перед символом единицы измерения указан !, преобразование единиц измерения и добавление префикса отключаются (1024 !B → 1024 B, 61 !s → 61 s).
Дополнительные примеры и сведения о символах единиц измерения и преобразовании единиц см. в разделе Суффиксы значений элементов данных.
Интервал обновления Получать новое значение для этого элемента данных каждые N секунд. Максимально допустимый интервал обновления — 86400 секунд (1 день).
Поддерживаются суффиксы времени, например 30s, 1m, 2h, 1d.
Поддерживаются пользовательские макросы.
Один макрос должен занимать всё поле целиком. Несколько макросов в одном поле или макросы, смешанные с текстом, не поддерживаются.
Примечание: Интервал обновления можно установить равным «0» только при наличии пользовательских интервалов с ненулевым значением. Если задано значение «0» и существует пользовательский интервал (гибкий или запланированный) с ненулевым значением, опрос элемента данных будет выполняться в течение пользовательского интервала.
Обратите внимание, что первый опрос элемента данных после его активации или изменения интервала обновления может произойти раньше заданного значения.
Новые элементы данных будут проверены в течение 60 секунд после создания, если для них не задан интервал обновления «Расписание» или «Гибкий» и параметр Интервал обновления не установлен в значение 0.
Существующий пассивный элемент данных можно немедленно опросить, нажав кнопку Выполнить сейчас button.
Пользовательские интервалы Можно создать пользовательские правила проверки элемента данных:
Гибкий — создать исключение для Интервала обновления (интервал с другой частотой).
Расписание — создать пользовательское расписание опроса.
Подробную информацию см. в разделе Пользовательские интервалы.
В поле Интервал поддерживаются суффиксы времени, например 30s, 1m, 2h, 1d.
Поддерживаются пользовательские макросы.
Один макрос должен занимать всё поле целиком. Несколько макросов в одном поле или макросы, смешанные с текстом, не поддерживаются.
Тайм-аут Задайте тайм-аут проверки элемента данных (доступно для поддерживаемых типов элементов данных). Выберите вариант тайм-аута:
Глобальный — используется тайм-аут прокси/глобальный тайм-аут (отображается в неактивном поле Тайм-аут).
Переопределить — используется пользовательский тайм-аут (задается в поле Тайм-аут; допустимый диапазон: 1–600 с). Поддерживаются суффиксы времени, например 30s, 1m, и пользовательские макросы.
Нажатие ссылки Тайм-ауты позволяет настроить тайм-ауты прокси или глобальные тайм-ауты (если прокси не используется). Обратите внимание, что ссылка Тайм-ауты видна только пользователям типа Суперадминистратор, имеющим разрешения на разделы веб-интерфейса Администрирование > Общие или Администрирование > Прокси.
История Выберите один из вариантов:
Не хранить — история элемента данных не хранится. Полезно для основных элементов данных, если историю необходимо сохранять только для зависимых элементов данных.
Этот параметр нельзя переопределить глобальными настройками очистки.
Хранить до — укажите срок хранения подробной истории в базе данных (от 1 часа до 25 лет). Более старые данные будут удалены очисткой. Хранится в секундах.
Поддерживаются суффиксы времени, например 2h, 1d. Поддерживаются пользовательские макросы.
Значение Хранить до можно глобально переопределить в разделе Администрирование > Очистка.
Если задана глобальная настройка переопределения, отображается оранжевый информационный значок . При наведении указателя мыши отображается предупреждение, например: Переопределено глобальными настройками очистки (1d).
Рекомендуется хранить записанные значения минимально возможное время, чтобы уменьшить размер истории значений в базе данных. Вместо длительного хранения истории значений можно дольше хранить данные трендов.
См. также раздел История и тренды.
Тренды Выберите один из вариантов:
Не хранить — тренды не хранятся.
Этот параметр нельзя переопределить глобальными настройками очистки.
Хранить до — укажите срок хранения агрегированной истории (минимальное, максимальное и среднее значение за час, количество) в базе данных (от 1 дня до 25 лет). Более старые данные будут удалены очисткой. Хранится в секундах.
Поддерживаются суффиксы времени, например 24h, 1d. Поддерживаются пользовательские макросы.
Значение Хранить до можно глобально переопределить в разделе Администрирование > Очистка.
Если задана глобальная настройка переопределения, отображается оранжевый информационный значок . При наведении указателя мыши отображается предупреждение, например: Переопределено глобальными настройками очистки (7d).
Примечание: Хранение трендов недоступно для нечисловых данных — символов, журналов и текста.
См. также раздел История и тренды.
Сопоставление значений Примените сопоставление значений к этому элементу данных. Сопоставление значений не изменяет полученные значения, а используется только для отображения данных.
Работает с элементами данных типов Числовой (без знака), Числовой (с плавающей точкой) и Символ.
Например, «Состояния служб Windows».
Формат времени журнала Доступно только для элементов данных типа Журнал. Поддерживаемые заполнители:
y: Год (1970–2038).
M: Месяц (01–12).
d: День (01–31).
h: Час (00–23).
m: Минута (00–59).
s: Секунда (00–59).
Если поле оставить пустым, временная метка будет установлена в значение 0 времени Unix, соответствующее 1 января 1970 года.
Например, рассмотрим следующую строку из файла журнала агента Zabbix:
" 23480:20100328:154718.045 Zabbix agent started. Zabbix 1.8.2 (revision 11211)."
Она начинается с шести позиций символов для PID, за которыми следуют дата, время и остальная часть сообщения.
Формат времени журнала для этой строки будет иметь вид "pppppp:yyyyMMdd:hhmmss".
Обратите внимание, что символы «p» и «:» являются заполнителями и могут быть любыми символами, кроме «yMdhms».
Заполняет поле инвентаризации узла сети Можно выбрать поле инвентаризации узла сети, которое будет заполняться значением элемента данных. Это работает, если для узла сети включено автоматическое заполнение инвентаризации, а также для элементов данных типов Числовой (без знака), Числовой (с плавающей точкой), Символ и Текст.
Описание Введите описание элемента данных. Поддерживаются пользовательские макросы.
Включен Установите флажок, чтобы включить элемент данных и разрешить его обработку.
При отключении элемента данных он немедленно удаляется из кэша истории (за исключением последнего значения, которое сохраняется для журналов).
Последние данные Нажмите ссылку, чтобы просмотреть последние данные элемента данных.
Ссылка доступна только при редактировании уже существующего элемента данных.

Поля, специфичные для типа элемента данных, описаны на соответствующих страницах.

При редактировании существующего элемента данных уровня шаблона на уровне узла сети ряд полей доступен только для чтения. Можно воспользоваться ссылкой в заголовке формы, перейти на уровень шаблона и отредактировать их там, учитывая, что изменения на уровне шаблона изменят элемент данных для всех узлов сети, с которыми связан шаблон.

Вкладка Теги позволяет определить теги уровня элемента данных.

Предобработка значений элемента данных

Вкладка Предобработка позволяет определить правила преобразования для полученных значений.

Тестирование элемента данных

Чтобы выполнить тестирование элемента данных, убедитесь, что системное время на сервере и прокси синхронизировано. Если время на сервере отстает, при тестировании элемента данных может быть возвращено сообщение об ошибке "The task has been expired." Однако разные часовые пояса на сервере и прокси не повлияют на результат тестирования.

Можно протестировать элемент данных и, если он настроен правильно, получить в ответ реальное значение. Тестирование может выполняться даже до сохранения элемента данных.

Тестирование доступно для элементов данных узла сети и шаблона, прототипов элементов данных и правил обнаружения низкого уровня. Тестирование недоступно для активных элементов данных.

Тестирование элемента данных доступно для следующих пассивных типов элементов данных:

  • Zabbix agent
  • SNMP agent (v1, v2, v3)
  • IPMI agent
  • SSH checks
  • Telnet checks
  • JMX agent
  • Simple checks (except icmpping*, vmware.* items)
  • Zabbix internal
  • Calculated items
  • External checks
  • Database monitor
  • HTTP agent
  • Script
  • Browser

Чтобы протестировать элемент данных, нажмите кнопку Test в нижней части формы настройки элемента данных. Обратите внимание, что кнопка Test будет недоступна для элементов данных, которые нельзя протестировать (например, активные проверки, исключенные простые проверки).

Форма тестирования элемента данных содержит поля для обязательных параметров узла сети (адрес узла сети, порт, тестирование с сервером/прокси (имя прокси)) и специфичные для элемента данные (например, SNMPv2 community или учетные данные безопасности SNMPv3). Эти поля учитывают контекст:

  • Значения предварительно заполняются, когда это возможно, то есть для элементов данных, требующих агента, информация берется из выбранного интерфейса агента узла сети.
  • Для элементов данных шаблона значения нужно вводить вручную.
  • Значения макросов в виде обычного текста разрешаются.
  • Поля, где значение (или часть значения) является секретом или макросом Vault, остаются пустыми и должны быть введены вручную. Если какой-либо параметр элемента данных содержит значение секретного макроса, отображается следующее предупреждение: "Item contains user-defined macros with secret values. Values of these macros should be entered manually."
  • Поля отключаются, если они не нужны в контексте типа элемента данных (например, поле адреса узла сети и поле прокси отключены для вычисляемых элементов данных)

Чтобы протестировать элемент данных, нажмите Get value. Если значение успешно получено, оно заполнит поле Value, переместив текущее значение (если оно есть) в поле Previous value, а также вычислит поле Prev. time, то есть разницу во времени между двумя значениями (нажатиями), и попытается определить последовательность EOL и переключиться на CRLF, если в полученном значении обнаружено "\n\r".

Нажмите Get value and test, чтобы протестировать предварительную обработку.

Значения, полученные с узла сети, и результаты тестирования обрезаются до максимального размера 512KB при отправке на веб-интерфейс. Если результат тестирования обрезан, отображается значок предупреждения; наведите на него указатель, чтобы увидеть подробности. Если значение обрезано, при последующих тестах, сравнивающих большие значения (например, JSON), может не пройти проверка типа данных; в таких случаях отображается сообщение об ошибке. Обратите внимание, что данные объемом более 512KB по-прежнему полностью обрабатываются сервером Zabbix.

Если конфигурация неверна, отображается сообщение об ошибке с описанием возможной причины.

Успешно полученное значение с узла сети также можно использовать для тестирования шагов предварительной обработки.

Кнопки формы

Кнопки в нижней части формы позволяют выполнять несколько операций.

Добавить элемент данных. Эта кнопка доступна только для новых элементов данных.
Обновить свойства элемента данных.
Создать другой элемент данных на основе свойств текущего элемента данных.
Немедленно выполнить проверку нового значения элемента данных. Поддерживается только для пассивных проверок (см. подробнее).
Примечание: при немедленной проверке значения кэш конфигурации не обновляется, поэтому значение не будет отражать самые последние изменения конфигурации элемента данных.
Проверить корректность конфигурации элемента данных, получив значение.
Удалить историю и тренды элемента данных.
Удалить элемент данных.
Отменить редактирование свойств элемента данных.

Ограничения на данные элемента данных

Ограничения на данные элемента данных зависят от типа данных элемента данных и используемой СУБД.

Числовые значения (без знака) сохраняются без изменений. Если получено значение с плавающей точкой, сохраняется только целая часть (например, 1.23 → 1).

Числовые значения (float) сохраняются без изменений и поддерживают точность примерно от 15 до 17 цифр, с диапазоном примерно от -1.79E+308 до 1.79E+308. Также поддерживаются значения в научной нотации (например, 1.23E+7, 1e308, 1.1E-4).

Текстовые значения усекаются перед сохранением, чтобы соответствовать ограничению типа значения в базе данных:

База данных Тип информации
Character Log Text
MySQL 255 символов 65536 байт 65536 байт
PostgreSQL 255 символов 65536 символов 65536 символов
SQLite (только Zabbix proxy) 255 символов 65536 символов 65536 символов

Двоичные значения ограничены 16 МиБ (16777216 байт). Значения, превышающие этот предел, отбрасываются, и соответствующая ошибка отображается в веб-интерфейсе.

Значения с типом данных JSON ограничены 128 МиБ (134217728 байт). Значения, превышающие этот предел, отбрасываются, и соответствующая ошибка отображается в веб-интерфейсе. Для MySQL/MariaDB рекомендуется настроить ежедневные разделы для таблицы history_json (используется для хранения значений JSON), так как она может быстро увеличиваться и надолго блокировать housekeeper. Если в вашем сценарии используются большие значения JSON (1 МиБ или больше), см. как настроить систему для поддержки больших значений JSON.

Когда Zabbix записывает любые данные элемента данных в базу данных, он использует запросы INSERT и ведет их журнал (если для DebugLevel установлено значение 4 или 5). Большие записи журнала усекаются до 64 КБ.

Ограничение пользовательского скрипта

Доступная длина пользовательского скрипта зависит от используемой базы данных:

Database Limit in characters Limit in bytes
MySQL 65535 65535
PostgreSQL 65535 not limited
SQLite (only Zabbix proxy) 65535 not limited

Тайм-аут элемента данных

Тайм-аут элемента данных определяет, как долго Zabbix должен ждать, прежде чем прервать проверку как неудачную.

Когда достигается тайм-аут, проверка прерывается, даже если получение данных еще не завершено. Если данные получены частично, элемент данных становится неподдерживаемым, и в журнале записывается сообщение об ошибке (например, если данные успешно собраны только для одного из нескольких OID в SNMP-проверке).

Для многих типов элементов данных можно задать гибкие тайм-ауты элементов данных:

  • для одного элемента данных
  • для типа элемента данных (на уровне прокси)
  • для типа элемента данных (на глобальном уровне)

Пользовательский тайм-аут для одного элемента данных полезен, если нужно указать более длительный тайм-аут для конкретного элемента данных, сохранив при этом низкие тайм-ауты для остальных элементов данных.

Приоритет тайм-аутов

  1. Тайм-аут одного элемента данных имеет приоритет над любыми другими тайм-аутами.
  2. Тайм-ауты на уровне прокси имеют приоритет над глобальными тайм-аутами.

Тайм-аут из конфигурации Zabbix сервера или прокси не влияет на проверки, для которых заданы гибкие тайм-ауты.

Поддержка гибких тайм-аутов

Гибкие тайм-ауты элементов данных поддерживаются для следующих типов элементов данных:

  • агент Zabbix (как пассивные, так и активные проверки)
  • SNMP agent (кроме устаревших SNMP-проверок1)
  • Simple check (кроме icmpping* и элементов данных VMware2)
  • SSH agent
  • Telnet agent
  • External check
  • Database monitor
  • Script
  • HTTP agent
  • Browser

    1 Для устаревших SNMP-проверок (опрос одного OID) применяются настройки тайм-аута из конфигурации сервер или прокси.
    2 Для элементов данных icmpping* значение тайм-аута указывается непосредственно в ключе элемента данных; также действует жестко заданный максимальный возможный тайм-аут 600 секунд. Элементы мониторинга VMware используют собственный параметр VMwareTimeout из конфигурации сервер или прокси.

Неподдерживаемые элементы данных

Неподдерживаемые элементы данных отображаются со статусом Не поддерживается и по-прежнему повторно проверяются с их стандартным Интервалом обновления.

Элемент данных становится неподдерживаемым, если его значение по какой-либо причине не удается получить (например, ошибка соединения, не настроены pollers для обработки элемента данных). Кроме того, элементы данных, которые не получают исторические данные, остаются в статусе Не поддерживается. Это ожидаемое поведение — элемент данных переходит в статус Нормальный только тогда, когда получает новые корректные исторические данные.

Как и проблемы, неподдерживаемые элементы данных переоцениваются только при получении новых данных — даже если для этого элемента данных больше нет исторических данных. Иными словами, элементы данных и триггеры изменяют свое состояние исключительно при получении новых данных. Однако если выражение триггера включает функцию date and time и/или nodata(), триггер будет пересчитываться каждые 30 секунд (подробности см. в разделе время вычисления триггеров).