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

Обзор

Чтобы создать элемент данных в веб-интерфейсе 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».
Заполняет поле инвентаризации узла сети Можно выбрать поле инвентаризации узла сети, которое будет заполняться значением элемента данных. Это работает, если для узла сети включено автоматическое заполнение инвентаризации, а также для элементов данных типов Числовой (без знака), Числовой (с плавающей точкой), Символ и Текст.
Описание Введите описание элемента данных. Поддерживаются пользовательские макросы.
Включен Установите флажок, чтобы включить элемент данных и разрешить его обработку.
При отключении элемента данных он немедленно удаляется из кэша истории (за исключением последнего значения, которое сохраняется для журналов).
Последние данные Нажмите ссылку, чтобы просмотреть последние данные элемента данных.
Ссылка доступна только при редактировании уже существующего элемента данных.

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

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

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

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

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

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

Для выполнения тестирования элемента данных убедитесь, что системное время на сервере и прокси синхронизировано. Если время на сервере отстает, тестирование элемента данных может вернуть сообщение об ошибке: «Срок действия задачи истек». Установка разных часовых поясов на сервере и прокси не влияет на результат тестирования.

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

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

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

  • Zabbix agent
  • SNMP agent (v1, v2, v3)
  • IPMI agent (только на уровне узла сети)
  • Проверки SSH
  • Проверки Telnet
  • JMX agent
  • Простые проверки (за исключением элементов данных icmpping*, vmware.*)
  • Внутренние элементы данных Zabbix
  • Вычисляемые элементы данных
  • Внешние проверки
  • Монитор базы данных
  • HTTP agent
  • Скрипт
  • Браузер
  • Запрос телеметрии

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

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

  • Значения предварительно заполняются, если это возможно, например для элементов данных, которым требуется агент, путем получения информации из выбранного интерфейса агента узла сети.
  • Значения для элементов данных шаблона необходимо вводить вручную.
  • Значения макросов в виде обычного текста раскрываются.
  • Поля, в которых значение (или его часть) является секретом или макросом Vault, остаются пустыми, и их необходимо заполнить вручную. Если какой-либо параметр элемента данных содержит значение секретного макроса, отображается следующее предупреждение: «Элемент данных содержит пользовательские макросы с секретными значениями. Значения этих макросов необходимо ввести вручную».
  • Поля отключены, если они не нужны в контексте типа элемента данных (например, поля адреса узла сети и прокси отключены для вычисляемых элементов данных).

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

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

Значения, полученные от узла сети, и результаты тестирования при отправке в веб-интерфейс усекаются до максимального размера 512 КБ. Если результат тестирования усечен, отображается значок предупреждения; наведите на него указатель мыши, чтобы просмотреть подробности. Если значение усечено, оно может не пройти проверку типа данных в последующих тестах, сравнивающих большие значения (например, JSON); в таких случаях отображается сообщение об ошибке. Обратите внимание, что данные размером более 512 КБ по-прежнему полностью обрабатываются сервером 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 должен ожидать завершения проверки, прежде чем прервать ее как неуспешную.

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

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

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

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

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

  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 секунд (подробности см. в разделе время вычисления триггеров).