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

Обзор

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

  • Перейдите в: Сбор данных > Узлы сети
  • Нажмите Элементы данных в строке нужного узла сети
  • Нажмите Создать элемент данных в правом верхнем углу экрана
  • Введите параметры элемента данных в форме

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

Конфигурация

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

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

Параметр Описание
Name Имя элемента данных.
Поддерживаются пользовательские макросы.
Type Тип элемента данных. См. отдельные разделы типов элементов данных.
Key Ключ элемента данных (до 2048 символов).
Поддерживаемые ключи элементов данных можно найти в отдельных разделах по типам элементов данных.
Ключ должен быть уникальным в пределах одного узла сети.
Если тип ключа — 'Zabbix agent', 'Zabbix agent (active)' или 'Simple check', значение ключа должно поддерживаться Zabbix агентом или Zabbix сервером.
См. также: правильный формат ключа.
Type of information Тип данных, используемый для проверки значения элемента данных и его хранения в базе данных, в том числе после любых преобразований:
Numeric (unsigned) — 64-битное целое число без знака;
Numeric (float) — 64-битное число с плавающей точкой;
Character — короткий текст;
Log — длинный текст с атрибутами журнала или без них (метка времени, источник, важность, ID события журнала);
Text — длинный текст;
Binary — двоичное число (поддерживается только для зависимых элементов данных);
JSON — структурированные данные JSON, хранящиеся в базе данных в исходном виде (не поддерживается для вычисляемых элементов данных).
Элементы данных, возвращающие значения с типом данных binary или JSON, не поддерживаются в формулах вычисляемых элементов данных или выражениях триггеров.
См. ограничения данных элемента данных для ограничений хранения по каждому типу данных и используемой СУБД.
Для элементов данных, возвращающих данные только в одном определённом формате, соответствующий тип данных выбирается автоматически — например, system.cpu.load и system.cpu.util оба возвращают 64-битное число с плавающей точкой, поэтому Numeric (float) выбирается автоматически.
Host interface Выберите интерфейс узла сети. Это поле доступно при редактировании элемента данных на уровне узла сети.
Units Если задан символ единицы измерения, Zabbix применяет постобработку к полученному значению элемента данных и отображает его с указанным суффиксом единицы измерения.
Поддерживаемые символы единиц измерения со специальным форматированием (и примеры: полученное значение элемента данных → отображаемое значение):
B — байты (1024 → 1 KB)
Bps — байты в секунду (1024 → 1 KBps)
s — секунды, отображаются с использованием до трёх старших ненулевых единиц времени (881764 → 10d 4h 56m)
uptime — прошедшее время в формате hh:mm:ss или N days, hh:mm:ss (881764 → 10 days, 04:56:04)
unixtime — временная метка Unix, форматируется как yyyy.mm.dd hh:mm:ss (881764 → 1970-01-11 04:56:04 AM); для корректного форматирования полученное значение элемента данных должно иметь тип Numeric (unsigned).
Для других единиц измерения (например, Hz, W и т. д.), если полученное значение превышает 1000, оно делится на 1000 и отображается с соответствующим префиксом (5000 → 5 KHz, 881764 → 881.76 KW).
Если перед символом единицы измерения указан префикс !, преобразование единиц и добавление префиксов отключаются (1024 !B → 1024 B, 61 !s → 61 s).
Дополнительные примеры и подробности о символах единиц измерения и преобразовании единиц см. в разделе Суффиксы значений элементов данных.
Update interval Получать новое значение для этого элемента данных каждые N секунд. Максимально допустимый интервал обновления — 86400 секунд (1 день).
Поддерживаются суффиксы времени, например 30s, 1m, 2h, 1d.
Поддерживаются пользовательские макросы.
Одно макро-выражение должно заполнять всё поле целиком. Несколько макросов в одном поле или макросы, смешанные с текстом, не поддерживаются.
Примечание: интервал обновления может быть установлен в '0' только если существуют пользовательские интервалы с ненулевым значением. Если установлено '0' и существует пользовательский интервал (гибкий или по расписанию) с ненулевым значением, элемент данных будет опрашиваться в течение действия пользовательского интервала.
Обратите внимание, что первый опрос элемента данных после того, как он стал активным, или после изменения интервала обновления может произойти раньше заданного значения.
Новые элементы данных будут проверены в течение 60 секунд после их создания, если только для них не задано расписание или гибкий интервал обновления, а Update interval не установлен в 0.
Для существующего пассивного элемента данных можно немедленно запросить значение, нажав кнопку Execute now button.
Custom intervals Вы можете создать пользовательские правила для проверки элемента данных:
Flexible — создать исключение для Update interval (интервал с другой частотой).
Scheduling — создать пользовательское расписание опроса.
Подробную информацию см. в разделе Пользовательские интервалы.
В поле Interval поддерживаются суффиксы времени, например 30s, 1m, 2h, 1d.
Поддерживаются пользовательские макросы.
Одно макро-выражение должно заполнять всё поле целиком. Несколько макросов в одном поле или макросы, смешанные с текстом, не поддерживаются.
Timeout Задайте тайм-аут проверки элемента данных (доступно для поддерживаемых типов элементов данных). Выберите вариант тайм-аута:
Global — используется тайм-аут прокси/глобальный тайм-аут (отображается в неактивном поле Timeout).
Override — используется пользовательский тайм-аут (задаётся в поле Timeout; допустимый диапазон: 1 - 600s). Поддерживаются суффиксы времени, например 30s, 1m, и пользовательские макросы.
Нажатие на ссылку Timeouts позволяет настроить тайм-ауты прокси или глобальные тайм-ауты (если прокси не используется). Обратите внимание, что ссылка Timeouts видна только пользователям типа Super admin с правами на разделы веб-интерфейса Administration > General или Administration > Proxies.
History Выберите одно из значений:
Do not store — история элемента данных не сохраняется. Полезно для мастер-элементов данных, если историю должны хранить только зависимые элементы данных.
Этот параметр не может быть переопределён глобальными настройками housekeeper.
Store up to — укажите срок хранения подробной истории в базе данных (от 1 часа до 25 лет). Более старые данные будут удалены housekeeper. Хранится в секундах.
Поддерживаются суффиксы времени, например 2h, 1d. Поддерживаются пользовательские макросы.
Значение Store up to может быть глобально переопределено в Administration > Housekeeping.
Если существует глобальная настройка переопределения, отображается оранжевый значок информации . Если навести на него указатель мыши, будет показано предупреждающее сообщение, например: Overridden by global housekeeper settings (1d).
Рекомендуется хранить записанные значения как можно меньшее время, чтобы уменьшить размер истории значений в базе данных. Вместо хранения длительной истории значений можно дольше хранить данные трендов.
См. также История и тренды.
Trends Выберите одно из значений:
Do not store — тренды не сохраняются.
Этот параметр не может быть переопределён глобальными настройками housekeeper.
Store up to — укажите срок хранения агрегированной истории (почасовые min, max, avg, count) в базе данных (от 1 дня до 25 лет). Более старые данные будут удалены housekeeper. Хранится в секундах.
Поддерживаются суффиксы времени, например 24h, 1d. Поддерживаются пользовательские макросы.
Значение Store up to может быть глобально переопределено в Administration > Housekeeping.
Если существует глобальная настройка переопределения, отображается оранжевый значок информации . Если навести на него указатель мыши, будет показано предупреждающее сообщение, например: Overridden by global housekeeper settings (7d).
Примечание: хранение трендов недоступно для нечисловых данных — character, log и text.
См. также История и тренды.
Value mapping Применить сопоставление значений к этому элементу данных. Сопоставление значений не изменяет полученные значения, оно используется только для отображения данных.
Работает с элементами данных типов Numeric(unsigned), Numeric(float) и Character.
Например, "Windows service states".
Log time format Доступно только для элементов данных типа Log. Поддерживаемые заполнители:
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".
Populates host inventory field Вы можете выбрать поле инвентаризации узла сети, которое будет заполняться значением элемента данных. Это будет работать, если для узла сети включено автоматическое заполнение инвентаризации, а также для элементов данных типов Numeric(unsigned), Numeric(float), Character и Text.
Description Введите описание элемента данных. Поддерживаются пользовательские макросы.
Enabled Установите флажок, чтобы включить элемент данных и он начал обрабатываться.
При отключении элемента данных он немедленно удаляется из кэша истории (кроме его последнего значения, которое сохраняется для журналов).
Latest data Нажмите на ссылку, чтобы просмотреть последние данные для элемента данных.
Эта ссылка доступна только при редактировании уже существующего элемента данных.

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

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

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

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

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

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

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

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

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

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

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

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

Форма тестирования элемента данных содержит поля для обязательных параметров узла сети (адрес узла сети, порт, тестирование через сервер/прокси (имя прокси)) и специфичных для элемента данных сведений (например, community для SNMPv2 или учетные данные безопасности 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, чтобы протестировать предобработку.

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

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

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

Кнопки диалога

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

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

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

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

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

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

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

СУБД Тип информации
Символьный Журнал Текст
MySQL 255 символов 65536 байт 65536 байт
PostgreSQL 255 символов 65536 символов 65536 символов
SQLite (только Zabbix прокси) 255 символов 65536 символов 65536 символов

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

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

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

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

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

База данных Ограничение в символах Ограничение в байтах
MySQL 65535 65535
PostgreSQL 65535 не ограничено
SQLite (только Zabbix прокси) 65535 не ограничено

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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