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

Обзор

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

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

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

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

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

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

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-битное число с плавающей точкой.
Этот тип обеспечивает точность примерно до 15 цифр и диапазон примерно от -1.79E+308 до 1.79E+308 (за исключением PostgreSQL 11 и более ранних версий).
Также поддерживается получение значений в научной нотации, например 1.23E+7, 1e308, 1.1E-4.
Character - короткие текстовые данные.
Log - длинные текстовые данные с необязательными свойствами, связанными с журналом (timestamp, source, severity, logeventid).
Text - длинные текстовые данные. См. также ограничения на текстовые данные.
Binary - двоичное число (поддерживается только для зависимых элементов данных).
Элементы данных, возвращающие значения с типом данных binary, не поддерживаются в формулах вычисляемых элементов данных или выражениях триггеров.
Для ключей элементов данных, которые возвращают данные только в одном определенном формате, соответствующий тип информации выбирается автоматически.
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 Вы можете выбрать поле инвентаризации узла сети, которое будет заполнено значением элемента данных. Это будет работать, если для узла сети включено автоматическое заполнение инвентаризации.
Это поле недоступно, если для Type of information установлено значение 'Log'.
Description Введите описание элемента данных. Поддерживаются пользовательские макросы.
Enabled Установите флажок, чтобы включить элемент данных и начать его обработку.
Когда вы отключаете элемент данных, он немедленно удаляется из кэша истории (за исключением его последнего значения, которое сохраняется для журналов).
Latest data Нажмите ссылку, чтобы просмотреть последние данные по элементу данных.
Эта ссылка доступна только при редактировании уже существующего элемента данных.

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

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

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

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

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

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

Чтобы выполнить тестирование элемента данных, убедитесь, что системное время на сервере и прокси синхронизировано. В случае, если время на сервере отстаёт, в результате тестирования элемента данных может быть получено сообщение об ошибке: «The task has been expired». Однако, наличие различных часовых поясов (временных зон) на сервере и прокси на результаты тестирования не влияет.

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

Доступно тестирование для элементов данных узлов сети и шаблонов, прототипов элементов данных и правил низкоуровневого обнаружения. Тестирование недоступно для элементов данных с типом «Zabbix агент (активный)».

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

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

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

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

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

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

Нажмите на Получить значение и протестировать (Get value and test) для тестирования предобработки.

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

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

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

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

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

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

Ограничения на текстовые данные

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

Database Type of information
Character Log Text
MySQL 255 символов 65536 байт 65536 байт
PostgreSQL 255 символов 65536 символов 65536 символов
SQLite (only Zabbix proxy) 255 символов 65536 символов 65536 символов

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

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

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

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

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

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

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

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

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