1. Создание элемента данных
Обзор
Чтобы создать элемент данных в веб-интерфейсе Zabbix, выполните следующие действия:
- Перейдите в: Сбор данных > Узлы сети
- Нажмите Элементы данных в строке узла сети
- Нажмите Создать элемент данных в правом верхнем углу экрана
- Укажите параметры элемента данных в форме
Также можно создать элемент данных, открыв существующий, нажав кнопку Клонировать и затем сохранив его под другим именем.
Конфигурация
Вкладка Item содержит общие атрибуты элемента данных.

Все обязательные поля ввода отмечены красной звездочкой.
| Parameter | Description |
|---|---|
| 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 timestamp, форматируется как 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 - история элемента данных не хранится. Полезно для master-элементов, если историю нужно хранить только для зависимых элементов данных. Эту настройку нельзя переопределить глобальными настройками 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 time, что соответствует 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 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.
Если конфигурация неверна, отображается сообщение об ошибке с описанием возможной причины.

Успешно полученное значение с узла сети также можно использовать для тестирования шагов предварительной обработки.
Кнопки диалога
Кнопки в нижней части диалога позволяют выполнить несколько видов операций.
(Добавить) |
Добавление элемента данных. Эта кнопка доступна только для новых элементов данных. |
(Обновить) |
Обновление свойств элемента данных. |
(Клонировать) |
Создание другого элемента данных на основе свойств текущего элемента данных. |
(Выполнить сейчас) |
Выполнение немедленной проверки нового значения элемента данных. Поддерживается только для пассивных проверок (смотрите более детальную информацию). Обратите внимание, что когда выполняется немедленная проверка значения, кэш конфигурации не обновляется, поэтому значение не будет отражать совсем недавние изменения настроек элемента данных. |
(Тест) |
Проверка корректности настройки элемента данных методом попытки получения значения. |
(Очистить историю и динамику изменений) |
Удаление истории и динамики изменений элемента данных. |
(Удалить) |
Удаление элемента данных. |
(Отмена) |
Отмена изменения свойств элемента данных. |
Ограничения данных элемента данных
Ограничения данных элемента данных зависят от типа данных элемента данных и серверной СУБД.
Значения типа Numeric (unsigned) сохраняются без изменений. Если получено значение с плавающей точкой, сохраняется только целая часть (например, 1.23 → 1).
Значения типа Numeric (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 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 должен ждать, прежде чем прервать проверку как неудачную.
Когда достигается значение таймаута, проверка прерывается, даже если получение данных еще не завершено. Если данные получены частично, элемент данных становится неподдерживаемым, и в журнале записывается сообщение об ошибке (например, если данные успешно собраны только для одного из нескольких OID в SNMP-проверке).
Для многих типов элементов данных можно задать гибкие таймауты элемента данных:
- для одного элемента данных
- для типа элемента данных (на уровне прокси)
- для типа элемента данных (на глобальном уровне)
Пользовательский таймаут для одного элемента данных полезен, если нужно указать более длительный таймаут для конкретного элемента данных, сохранив при этом низкие таймауты для остальных элементов данных.
Приоритет таймаутов
- Таймаут одного элемента данных имеет приоритет над любыми другими таймаутами.
- Таймауты на уровне прокси имеют приоритет над глобальными таймаутами.
Таймаут из конфигурации Zabbix сервера или прокси не влияет на проверки, для которых заданы гибкие таймауты.
Поддержка гибких тайм-аутов
Гибкие тайм-ауты элементов данных поддерживаются для следующих типов элементов данных:
- агент Zabbix (как пассивные, так и активные проверки)
- SNMP agent (кроме устаревших SNMP-проверок1)
- Simple check (кроме
icmpping*и элементов данных VMware2) - SSH agent
- Telnet agent
- External check
- Database monitor
- Script
- HTTP agent
-
1 Для устаревших SNMP-проверок (опрос одного OID) применяются настройки тайм-аута из конфигурации сервер или прокси.
2 Для элементов данныхicmpping*значение тайм-аута указывается непосредственно в ключе элемента данных; также действует жестко заданный максимальный возможный тайм-аут 600 секунд. Элементы мониторинга VMware используют собственный параметр VMwareTimeout из конфигурации сервер или прокси.
Неподдерживаемые элементы данных
О неподдерживаемых элементах данных сообщается со статусом Не поддерживается, и они по-прежнему повторно проверяются с их стандартным Интервалом обновления.
Элемент данных становится неподдерживаемым, если по какой-либо причине не удается получить его значение (например, ошибка соединения, не настроены poller-процессы для обработки элемента данных). Кроме того, элементы данных, которые не получают исторические данные, остаются в статусе Не поддерживается. Это ожидаемое поведение — элемент данных переходит в статус Нормальный только при получении новых корректных исторических данных.
Как и проблемы, неподдерживаемые элементы данных переоцениваются только при получении новых данных — даже если для этого элемента данных исторические данные больше недоступны. Другими словами, элементы данных и триггеры изменяют свое состояние исключительно при получении новых данных. Однако, если выражение триггера включает функцию date and time и/или nodata(), триггер будет пересчитываться каждые 30 секунд (подробности см. в разделе время вычисления триггеров).
. Если навести на него указатель мыши, отображается предупреждение, например Overridden by global housekeeper settings (1d).
(Добавить)
(Обновить)
(Клонировать)
(Выполнить сейчас)
(Тест)
(Очистить историю и динамику изменений)
(Удалить)
(Отмена)