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

Все обязательные поля ввода отмечены красной звездочкой.
| Parameter | Description |
|---|---|
| Name | Имя элемента данных. Поддерживаются пользовательские макросы. |
| Type | Тип элемента данных. См. отдельные разделы по типам элементов данных. |
| Key | Ключ элемента данных (до 2048 символов). Поддерживаемые ключи элементов данных можно найти в отдельных разделах по типам элементов данных. Ключ должен быть уникальным в пределах одного узла сети. Если тип ключа — 'Zabbix agent', 'Zabbix agent (active)' или 'Simple check', значение ключа должно поддерживаться Zabbix agent или Zabbix server. См. также: правильный формат ключа. |
| 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: Year (1970-2038). M: Month (01-12). d: Day (01-31). h: Hour (00-23). m: Minute (00-59). s: Second (00-59). Если оставить поле пустым, временная метка будет установлена в 0 по Unix time, что соответствует 1 января 1970 года. Например, рассмотрим следующую строку из файла журнала Zabbix agent: " 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 позволяет определить теги на уровне элемента данных.

Предобработка значений элементов данных
Вкладка Предобработка (Preprocessing) позволяет задать правила преобразования полученных значений.
Тестирование элемента данных
Чтобы выполнить тестирование элемента данных, убедитесь, что системное время на сервере и прокси синхронизировано. Если время на сервере отстает, при тестировании элемента данных может быть возвращено сообщение об ошибке "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-проверке).
Для многих типов элементов данных можно задать гибкие таймауты элемента данных:
- для одного элемента данных
- для типа элемента данных (на уровне прокси)
- для типа элемента данных (на глобальном уровне)
Пользовательский таймаут для одного элемента данных полезен, если нужно указать более длительный таймаут для конкретного элемента данных, сохранив при этом низкие таймауты для остальных элементов данных.
Приоритет таймаутов
- Таймаут одного элемента данных имеет приоритет над любыми другими таймаутами.
- Таймауты на уровне прокси имеют приоритет над глобальными таймаутами.
Таймаут из конфигурации 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 из конфигурации сервер или прокси.
Неподдерживаемые элементы данных
Неподдерживаемые элементы данных отображаются со статусом Не поддерживается и по-прежнему повторно проверяются с их стандартным Интервалом обновления.
Элемент данных становится неподдерживаемым, если его значение по какой-либо причине не удается получить (например, ошибка соединения, не настроены pollers для обработки элемента данных). Кроме того, элементы данных, которые не получают исторические данные, остаются в статусе Не поддерживается. Это ожидаемое поведение — элемент данных переходит в статус Нормальный только тогда, когда получает новые корректные исторические данные.
Как и проблемы, неподдерживаемые элементы данных переоцениваются только при получении новых данных — даже если для этого элемента данных больше нет исторических данных. Иными словами, элементы данных и триггеры изменяют свое состояние исключительно при получении новых данных. Однако если выражение триггера включает функцию date and time и/или nodata(), триггер будет пересчитываться каждые 30 секунд (подробности см. в разделе время вычисления триггеров).
. Если навести на него указатель мыши, отображается предупреждение, например Overridden by global housekeeper settings (1d).
(Добавить)
(Обновить)
(Клонировать)
(Выполнить сейчас)
(Тест)
(Очистить историю и динамику изменений)
(Удалить)
(Отмена)