Zabbix Documentation 4.0

3.04.04.4 (current)| In development:5.0 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools


ru:manual:discovery:low_level_discovery

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ru:manual:discovery:low_level_discovery [2017/09/13 18:46]
dotneft
ru:manual:discovery:low_level_discovery [2020/01/06 05:54] (current)
dotneft
Line 11: Line 11:
  
 Элемент данных,​ который осуществляет обнаружение необходимых объектов,​ подобен обычным элементам данных,​ которые видны в других местах:​ Zabbix сервер запрашивает у Zabbix агента (или любой другой указанный тип элемента данных) значение этого элемента данных,​ и агент отвечает текстовым значением. Разница в том, что значение,​ которое возвращает агент, должно содержать список обнаруженных объектов в специальном JSON формате. Хотя детали этого формата важны только для создателей собственных проверок обнаружения,​ всё же всем необходимо знать, что возвращаемое значение содержит список из пар: макрос -> значение. Например,​ элемент данных "​net.if.discovery"​ может вернуть две пары: "​{#​IFNAME}"​ -> "​lo"​ и "​{#​IFNAME}"​ -> "​eth0"​. Элемент данных,​ который осуществляет обнаружение необходимых объектов,​ подобен обычным элементам данных,​ которые видны в других местах:​ Zabbix сервер запрашивает у Zabbix агента (или любой другой указанный тип элемента данных) значение этого элемента данных,​ и агент отвечает текстовым значением. Разница в том, что значение,​ которое возвращает агент, должно содержать список обнаруженных объектов в специальном JSON формате. Хотя детали этого формата важны только для создателей собственных проверок обнаружения,​ всё же всем необходимо знать, что возвращаемое значение содержит список из пар: макрос -> значение. Например,​ элемент данных "​net.if.discovery"​ может вернуть две пары: "​{#​IFNAME}"​ -> "​lo"​ и "​{#​IFNAME}"​ -> "​eth0"​.
- 
-<​note>​Zabbix прокси на IBM DB2 базе данных имеет ограничение в 2048 байт на возвращаемое значение правил низкоуровневого обнаружения. Это ограничение не распространяется на Zabbix сервер,​ так как возвращаемые значения обрабатываются без предварительной записи в базу данных.</​note>​ 
  
 Эти макросы затем используются в именах,​ ключах и в других полях прототипов,​ которые являются основой для создания реальных элементов данных,​ триггеров и графиков каждому обнаруженному объекту. Смотрите полный список [[:​ru/​manual/​config/​macros/​lld_macros|опций]] по использованию макросов в низкоуровневом обнаружении. Эти макросы затем используются в именах,​ ключах и в других полях прототипов,​ которые являются основой для создания реальных элементов данных,​ триггеров и графиков каждому обнаруженному объекту. Смотрите полный список [[:​ru/​manual/​config/​macros/​lld_macros|опций]] по использованию макросов в низкоуровневом обнаружении.
Line 18: Line 16:
 Когда сервер получает значение элемента данных обнаружения,​ он смотрит на пару макрос -> значение и для каждой пары создает реальные элементы данных,​ триггеров и графиков,​ основанных на их прототипах. В приведенном выше примере с "​net.if.discovery",​ сервер будет создавать один набор элементов данных,​ триггеров и графиков для локального интерфейса "​lo"​ и другой набор для интерфейса "​eth0"​. Когда сервер получает значение элемента данных обнаружения,​ он смотрит на пару макрос -> значение и для каждой пары создает реальные элементы данных,​ триггеров и графиков,​ основанных на их прототипах. В приведенном выше примере с "​net.if.discovery",​ сервер будет создавать один набор элементов данных,​ триггеров и графиков для локального интерфейса "​lo"​ и другой набор для интерфейса "​eth0"​.
  
-For more detail on the process described above see the following sections with how-tos for performing all types of out-of-the-box discovery:+Смотрите также[[#​обнаруженные_объекты|Обнаруженные объекты]]
  
-  * discovery of [[:​manual/​discovery/​low_level_discovery/​filesystems|file systems]];​ +=== Настройка низкоуровневого обнаружения ===
-  * discovery of [[:​manual/​discovery/​low_level_discovery/​network_interfaces|network interfaces]];​ +
-  * discovery of [[:​manual/​discovery/​low_level_discovery/​cpu|CPUs and CPU cores]]; +
-  * discovery of [[:​manual/​discovery/​low_level_discovery/​snmp_oids|SNMP OIDs]]; +
-  * discovery of [[:​manual/​discovery/​low_level_discovery/​jmx|JMX objects]];​ +
-  * discovery using [[:​manual/​discovery/​low_level_discovery/​sql_queries|ODBC SQL queries]];​ +
-  * discovery of [[:​manual/​discovery/​low_level_discovery/​windows_services|Windows services]];​ +
-  * discovery of [[:​manual/​discovery/​low_level_discovery/​host_interfaces|host interfaces]] in Zabbix.+
  
-For more detail on the JSON format for discovery items and an example of how to implement your own file system discoverer as a Perl script, see [[#​creating_custom_lld_rules|creating custom LLD rules]].+Мы проиллюстрируем низкоуровневое обнаружение на примере обнаружения файловых систем.
  
-=== Multiple LLD rules for same item ===+Для настройки обнаружения,​ выполните следующее:​
  
-Since Zabbix agent version 3.2 it is possible to define several low-level discovery rules with the same discovery item. +  * Перейдите в: //​Настройка// ​-> //​Шаблоны//​  
 +  * Нажмите на //​Обнаружение//​ в строке с соответствующим шаблоном
  
-To do that you need to define the Alias agent [[manual/​appendix/​config/​zabbix_agentd|parameter]], allowing to use altered discovery ​item keys in different ​discovery ​rules, for example ​''​vfs.fs.discovery[foo]'',​ ''​vfs.fs.discovery[bar]''​, etc.+{{manual:​discovery:​low_level_discovery:​fs_templates.png|}} 
 + 
 +  * Нажмите на //​Создать правило обнаружения//​ в верхнем правом углу экрана 
 +  * Заполните диалог правила обнаружение необходимыми деталями 
 + 
 +=== Правило обнаружения === 
 + 
 +Вкладка **Правило обнаружения** содержит общие атрибуты правила обнаружения:​ 
 + 
 +{{manual:​discovery:​low_level_discovery:​lld_rule_fs.png?​600|}} 
 + 
 +Все обязательные поля ввода отмечены красной звёздочкой. 
 + 
 +^Параметр^Описание^  
 +|//​Имя// ​ |Имя правила обнаружения. ​ |  
 +|//​Тип// ​ |Тип проверки выполняемого обнаружения;​ должен быть //Zabbix агент//​ или //Zabbix агент (активный)//​ при обнаружении файловых систем. ​ |  
 +|//​Ключ// ​ |Элемент данных "​vfs.fs.discovery"​ уже встроен в Zabbix агент начиная с версии 2.0 для многих платформах (для получения более детальных сведений смотрите ​[[ru:​manual:​appendix:​items:​supported_by_platform|список поддерживаемых ключей элементов данных]]),​ который возвращает список файловых систем,​ присутствующих в компьютере,​ и их типы в формате JSON.  |  
 +|//​Интервал обновления// ​ |Это поле задает как часто Zabbix выполняет обнаружение. В начале,​ когда вы только настраиваете обнаружение файловых систем,​ вы можете указать маленький интервал,​ но как только вы удостоверитесь что всё работает,​ вы можете установить его в 30 минут или более, потому что обычно файловые системы не меняются очень часто.\\ Поддерживаются [[:ru/manual/​appendix/​suffixes|суффиксы времени]],​ например 30s, 1m, 2h, 1d, начиная с Zabbix 3.4.0.\\ [[:​ru/​manual/config/macros/​usermacros|Пользовательские макросы]] поддерживаются начиная с Zabbix 3.4.0.\\ //​Обратите внимание//:​ Если укажите значение равное '​0'​элемент данных не будет обрабатываться. Однако,​ если также существует переменный интервал с ненулевым значением,​ элемент данных будет обрабатываться в течении действия переменного интервала.\\ ​ //​Обратите внимание//,​ что уже созданное правило обнаружение можно выполнить незамедлительно нажатием [[#​кнопки_диалога|кнопки]] //​Проверить сейчас//​ .  |  
 +|//​Пользовательские интервалы// ​ |Вы можете создавать пользовательские правила проверки элемента данных:​\\ **Гибкий** - создание исключений из Интервала обновления (интервал с другой частотой обновления)\\ **По расписанию** - создание пользовательского расписания проверки.\\ Для получения более подробной информации смотрите [[ru:​manual:​config:​items:​item:​custom_intervals|Пользовательские интервалы]]. Проверка по расписанию поддерживается начиная с Zabix 3.0.0. ​ |  
 +|//​Период сохранения потерянных ресурсов// ​ |Это поле позволяет вам указать как много дней обнаруженный объект будет храниться (не будет удален),​ как только его состояние обнаружения станет %%"​%%Более не обнаруживается%%"​%% (от 1 часа до 25 лет; или %%"​%%0%%"​%%).\\ Поддерживаются [[:​ru/​manual/​appendix/​suffixes|суффиксы времени]],​ например 30s, 1m, 2h, 1d, начиная с Zabbix 3.4.0.\\ [[:​ru/​manual/​config/​macros/​usermacros|Пользовательские макросы]] поддерживаются начиная с Zabbix 3.4.0.\\ //​Обратите внимание://​ Если значение равно %%"​%%0%%"​%%,​ объекты будут удалены сразу. Использование значения %%"​%%0%%"​%% не рекомендуется,​ так как простое ошибочное изменение фильтра может закончится тем, что объект будет удален вместе со всеми данными истории. ​  |  
 +|//​Описание// ​ |Введите описание. ​ |  
 +|//​Состояние// ​ |Если отмечено,​ правило будет обрабатываться. | 
 +=== Фильтр правила обнаружения === 
 + 
 +Вкладка **Фильтры** содержит определения фильтрации правила обнаружения:​ 
 + 
 +{{manual:discovery:​low_level_discovery:​lld_rule_fs2.png?​600|}} 
 + 
 +^Параметр^Описание^ 
 +|//Тип вычисления// ​ |Доступны следующие опции расчета фильтров:​\\ **И** - должны выполниться все фильтры;​\\ **Или** - достаточно выполнения одного фильтра;​\\ **И/​Или** - используется //И// для разных имен макросов и //Или// с одинаковым именем макроса;​\\ **Пользовательское выражение** - появляется возможность указать пользовательское вычисление фильтров. Формула должна включать в себя все фильтры из списка.\\ Ограничено 255 символами. ​ | 
 +|//​Фильтры// ​ | Фильтр можно использовать только для генерирования реальных элементов данныхтриггеров и графиков конкретных файловых систем. Ожидается использование [[https://​ru.wikipedia.org/​wiki/​PCRE|Perl Compatible Regular Expression]] (PCRE). Например,​ если вы заинтересованы только в файловых системах C:, D: и E:, вы можете поместить {#FSNAME} в поле "​Макрос"​ и регулярное выражение <​nowiki>"​^C|^D|^E"</​nowiki>​ в текстовые поля "​Регулярное выражение"​. Фильтрация также возможна по типам файловых систем,​ при использовании макроса {#FSTYPE} (например,​ <​nowiki>"​^ext|^reiserfs"</​nowiki>​) и по типу диска (поддерживается только Windows агентов),​ используя макрос {#​FSDRIVETYPE} ​ (например,​ <​nowiki>"​fixed"</​nowiki>​).\\ Вы можете ввести в поле "​Регулярное выражение"​ регулярное выражение или ссылку на глобальное [[ru:​manual:​regular_expressions|регулярное выражение]].\\ Для проверки регулярного выражения вы можете использовать "grep -E", например:​ <code bash>for f in ext2 nfs reiserfs smbfs; do echo $f | grep -E '​^ext|^reiserfs'​ || echo "SKIP: $f"; done</​code>​Макрос {#​FSDRIVETYPE} на Windows поддерживается начиная с Zabbix **3.0.0**.\\ Определение нескольких фильтров поддерживается начиная с **2.4.0**.\\ Обратите внимание,​ что если какой-то макрос из фильтра пропущен в ответе,​ найденный объект будет игнорироваться.\\ Выпадающее меню в фильтре представлены два значения задать,​ которые можно использовать для соответствия регулярному выражению или наоборот,​ отсутствию соответствия. ​ | 
 + 
 +<note important>​Чтобы обнаружение сработало корректно,​ база данных Zabbix в MySQL должна быть создана чувствительной к регистру,​ если имена файловых систем различаются только по регистру.</​note>​ 
 + 
 +<note important>​Ошибка или опечатка в регулярном выражении,​ которое используется в LLD правиле,​ может привести к удалению тысяч элементов конфигурации,​ данных истории и событий на большом количестве узлов сети. Например,​ некорректное регулярное выражение "File systems for discovery"​ может привести к удалению тысяч элементов данных,​ триггеров,​ данных истории и событий.</​note>​ 
 +  
 +<​note>​История правил обнаружения не сохраняется.</​note>​ 
 + 
 +== Кнопки диалога == 
 + 
 +Кнопки в нижней части диалога позволяют выполнить несколько видов операций. 
 + 
 +|{{manual:​config:​button_add.png|}} ​ |Добавление правила обнаружения. Эта кнопка доступна только для новых правил обнаружения. ​ | 
 +|{{manual:​config:​button_update.png|}} ​ |Обновление свойств правила обнаружения. Эта кнопка доступна только для уже существующих правил обнаружения. ​ | 
 +|{{manual:​config:​button_clone.png|}} ​ |Создание другого правила обнаружения на основе свойств текущего правила обнанужения. ​ | 
 +|{{manual:​config:​button_check_now.png|}} ​ |Выполнение немедленного обнаружения на основе правила обнаружения. Правило обнаружения должно существовать. Смотрите [[:​ru/​manual/​config/​items/​check_now|более подробную]] информацию.\\ //​Обратите внимание//,​ что когда обнаружение выполняется немедленно,​ кэш конфигурации не обновляется,​ поэтому на результат не повлияют совсем недавние изменения настроек правила обнаружения. | 
 +|{{manual:​config:​button_delete.png|}} ​ |Удаление правила обнаружения. ​ | 
 +|{{manual:​config:​button_cancel.png|}} ​ |Отмена изменения свойств правила обнаружения. ​ | 
 + 
 +=== Прототипы элементов данных === 
 + 
 +Как только правило будет создано,​ перейдем к элементам данных этого правила и нажмем "​Создать прототип",​ чтобы создать прототип элементов данных. Обратите внимание на то, как используется макрос {#FSNAME}, где требуется указать имя файловой системы. Когда правило будет обрабатываться,​ этот макрос будет заменен обнаруженной файловой системой. 
 + 
 + 
 +{{manual:​discovery:​low_level_discovery:​item_prototype_fs1.png|}} 
 + 
 +Можно использовать [[:​ru/​manual/​config/​macros/​lld_macros|макросы]] низкоуровневого обнаружения и пользовательские [[:​ru/​manual/​appendix/​macros/​supported_by_location_user|макросы]] в настройках прототипа элементов данных и в [[:​ru/​manual/​config/​items/​item#​предобработка_значений_элемента_данных|параметрах]] предварительной обработки значений элемента данных. Обратите внимание,​ что при использовании в интервалах обновления,​ один макрос должен заполнять значение целиком. Запись нескольких макросов в значении или смешение макросов с текстом не поддерживается. 
 + 
 +<​note>​Контекстное экранирование макросов низкоуровневого обнаружения для безопасного их использования в регулярных выражениях и параметрах предварительной обработки XPath.</​note>​ 
 + 
 +Специфичные для прототипов элементов данных атрибуты:​ 
 + 
 +^Параметр^Описание^ 
 +|//​Новый прототип группы элементов данных// ​ |Вы можете задать новый прототип группы элементов данных.\\ В свойствах группы элементов данных вы можете использовать макросы низкоуровневого обнаружения,​ которые,​ после выполнения обнаружения,​ будут заменены реальными значениями при создании групп элементов данных,​ которые специфичны для обнаруженного объекта. Смотрите также [[ru:​manual:​discovery:​low_level_discovery:​notes|заметки по обнаружению групп элементов данных]] для получения более подробной информации. ​ | 
 +|//​Прототипы групп элементов данных// ​ |Выберите из существующих прототипов групп элементов данных. ​ | 
 +|//​Создать активированным// ​ |Если выбрано,​ элемент данных будет создан в активированном состоянии.\\ Если не выбрано,​ элемент данных будет добавлен как обнаруженный объект,​ но в деактивированном состоянии. ​ | 
 + 
 +Мы можем создать несколько прототипов элементов данных для каждой интересующей нас характеристики файловой системы:​ 
 + 
 +{{manual:​discovery:​low_level_discovery:​item_prototypes_fs.png|}} 
 + 
 +=== Прототипы триггеров === 
 + 
 +Мы создадим прототипы триггеров похожим способом как и прототипы элементов данных:​ 
 + 
 +{{manual:​discovery:​low_level_discovery:​trigger_prototype_fs.png|}} 
 + 
 +Специфичные для прототипов триггеров атрибуты:​ 
 + 
 +^Параметр^Описание^ 
 +|//​Создать активированным// ​ |Если выбрано,​ триггер будет создан в активированном состоянии.\\ Если не выбрано,​ триггер будет добавлен как обнаруженный объект,​ но в деактивированном состоянии. ​ | 
 + 
 +Когда будут созданы реальные триггера из их прототипов,​ возможно потребуется большая гибкость чем использованная константа ('​20'​ в нашем примере) для сравнения в выражении. Смотрите каким образом [[:​ru/​manual/​discovery/​low_level_discovery#​использование_макросов_lld_в_контекстах_пользовательских_макросов|пользовательские макросы с контекстом]] могут быть полезны для получения подобной гибкости. 
 + 
 +Также вы можете задать [[:​ru/​manual/​config/​triggers/​dependencies|зависимости]] между прототипами триггеров (поддерживается начиная с Zabbix 3.0). Чтобы это сделать,​ перейдите на вкладку //​Зависимости//​. Прототип триггеров может зависеть от другого прототипа триггеров из этого же правила низкоуровневого обнаружения (LLD) или от обычного триггера. Прототип триггеров не может зависеть от прототипа триггеров из другого правила LLD и от триггера созданного другим прототипом триггеров. Прототип триггеров узла сети не может зависеть от триггера из шаблона. 
 + 
 +{{manual:​discovery:​low_level_discovery:​trigger_prototypes_fs.png|}} 
 + 
 +=== Прототипы графиков === 
 + 
 +Мы также можем создать прототипы графиков:​ 
 + 
 +{{manual:​discovery:​low_level_discovery:​graph_prototype_fs.png|}} 
 + 
 +{{manual:​discovery:​low_level_discovery:​graph_prototypes_fs.png|}} 
 + 
 +В конце концов,​ мы создали правило обнаружения,​ которое выглядит как видно ниже. Оно имеет пять прототипов элементов данных,​ два прототипа триггеров и один прототип графиков. 
 + 
 +{{manual:​discovery:​low_level_discovery:​lld_rules_fs.png|}} 
 + 
 +//​Обратите внимание//:​ Для получения информации по настройке прототипов узлов сети, смотрите в разделе мониторинга виртуальных машин о настройке [[:​ru/​manual/​vm_monitoring#​прототипы_узлов_сети|прототипов узлов сети]]. 
 + 
 +=== Обнаруженные объекты === 
 + 
 +Представленные снимки экрана ниже иллюстрируют как выглядят уже обнаруженные элементы данных,​ триггера и графики в настройке узла сети. Обнаруженные объекты имеют префикс ссылку золотистого цвета, которая ведет к правилу обнаружения,​ создавшего эти объекты. 
 + 
 +{{manual:​discovery:​low_level_discovery:​discovered_items1.png|}} 
 + 
 +Обратите внимание,​ что обнаруженные объекты не будут созданы в случае,​ если объекты с такими же условиями уникальности уже существуют,​ например,​ элемент данных с таким же ключом или график с таким же именем. В этом случае в веб-интерфейсе отобразится сообщений об ошибке,​ о том что правило обнаружения не смогло создать конкретные объекты. Однако,​ само правило обнаружение не станет неподдерживаемым поскольку не удалось создать некоторый объект и его пришлось пропустить. Правило обнаружения продолжит создавать/​обновлять другие объекты. 
 + 
 +Элементы данных (а также, триггеры и графики) созданые с помощью низкоуровневого правила обнаружения невозможно удалить вручную. Тем не менее, они будут удалены автоматически,​ если обнаруженный объект (файловая система,​ интерфейс и т.д.) более не обнаруживается (или более не попадает под фильтр). В этом случае они будут удалены спустя некоторое количество дней указанное в поле //​Период сохранения потерянных ресурсов//​. 
 + 
 +Когда обнаруженный объект становится '​Более не обнаруживается',​ в списке элементов данных будет отображаться оранжевый индикатор времени жизни. Переместите курсор мыши на этот индикатор и вы увидите сообщение с количеством дней до момента удаления элемента данных. 
 + 
 +{{:​manual:​discovery:​low_level_discovery:​not_discovered_message.png|}} 
 + 
 +Если объекты помечены на удаление,​ но не были удалены в назначенное время (деактивировано правило обнаружения или элемент данных узла сети), они удалятся при следующем выполнении правила обнаружения. 
 + 
 +Объекты,​ которые содержат другие объекты,​ которые помечены на удаление,​ не будут обновлены,​ если будут изменены на уровне правила обнаружения. Например,​ триггеры на основе LLD не будут обновлены,​ если они содержат элементы данных,​ которые помечены на удаление. 
 + 
 +{{manual:​discovery:​low_level_discovery:​discovered_triggers1.png|}} 
 + 
 +{{manual:​discovery:​low_level_discovery:​discovered_graphs1.png|}} 
 + 
 +=== Другие типы обнаружения === 
 + 
 +Для получения более детальных сведений и инструкций по остальным типам доступных обнаружений сморите следующие разделы:​ 
 + 
 +  * обнаружение [[:​ru/​manual/​discovery/​low_level_discovery/​network_interfaces|сетевых интерфейсов]];​ 
 +  * обнаружение [[:​ru/​manual/​discovery/​low_level_discovery/​cpu|CPU и ядер CPU]]; 
 +  * обнаружение [[:​ru/​manual/​discovery/​low_level_discovery/​snmp_oids|SNMP OID'​ов]];​ 
 +  * обнаружение [[:​ru/​manual/​discovery/​low_level_discovery/​jmx|JMX объектов]];​ 
 +  * обнаружение с использованием [[:​ru/​manual/​discovery/​low_level_discovery/​sql_queries|ODBC SQL запросов]];​ 
 +  * обнаружение [[:​ru/​manual/​discovery/​low_level_discovery/​windows_services|Windows служб]];​ 
 +  * обнаружение [[:​ru/​manual/​discovery/​low_level_discovery/​host_interfaces|интерфейсов хостов]] в Zabbix. 
 + 
 +Для получения более подробных сведений касательно JSON формата по обнаружению элементов данных и примера каким образом реализовать своё собственное обнаружение файловых систем при помощи Perl скрипта,​ смотрите [[#​создание_пользовательских_lld_правил|создание пользовательских LLD правил]]. 
 + 
 +== Ограничения данных для возвращаемых значений == 
 + 
 +Ограничения для JSON данных низкоуровневого правила обнаружения отсутствуют,​ если эти данные получены напрямую Zabbix сервером,​ так как полученные значения обрабатываются без сохранения в базу данных. Также ограничения отсутствуют и для пользовательских правил низкоуровневого обнаружения,​ однако,​ если предполагается получение пользовательских LLD данных при помощи пользовательского параметра,​ тогда накладывается ограничение по размеру значения (512 КБ) на сам пользовательский параметр. 
 + 
 +Если данные поступают от Zabbix прокси,​ этот прокси вынужден сначала записать их в базу данных. В таком случае накладываются ​ [[:​ru/​manual/​config/​items/​item#​ограничения_текстовых_данных|ограничения к базе данных]],​ например,​ 2048 байт для Zabbix прокси,​ который работает с IBM DB2 базой данных. 
 + 
 +=== Несколько LLD правил по одному и тому же элементу данных === 
 + 
 +Начиная с Zabbix агента версии 3.2, имеется возможность задать несколько правил низкоуровневого обнаружения по одному и тому же элементу данных обнаружения.  
 + 
 +Чтобы это сделать,​ вам необходио указать [[ru/​manual/​appendix/​config/​zabbix_agentd|параметр]] агента Alias, разрешив использование измененных ключей элемента данных обнаружения в разных правилах обнаружения,​ например ​''​vfs.fs.discovery[foo]'',​ ''​vfs.fs.discovery[bar]'' ​и так далее.
  
 === - Создание пользовательских LLD правил === === - Создание пользовательских LLD правил ===
Line 92: Line 232:
     ]     ]
   }   }
-  +
- +
 Тогда, в правилах обнаружения в поле "​Фильтр"​ мы можем указать "​{#​FSTYPE}",​ как макрос,​ и "​rootfs|ext3",​ как регулярное выражение. Тогда, в правилах обнаружения в поле "​Фильтр"​ мы можем указать "​{#​FSTYPE}",​ как макрос,​ и "​rootfs|ext3",​ как регулярное выражение.
  
 <​note>​Вы не обязаны использовать имена макросов FSNAME/​FSTYPE в пользовательских правилах низкоуровневого обнаружения,​ вы можете использовать любые другие имена, которые вам нравятся.</​note>​ <​note>​Вы не обязаны использовать имена макросов FSNAME/​FSTYPE в пользовательских правилах низкоуровневого обнаружения,​ вы можете использовать любые другие имена, которые вам нравятся.</​note>​
 +
 +Обратите внимание на то, что при использовании пользовательского параметра,​ возвращаемые данные ограничены 512 КБ. Для получения более подробных сведений смотрите [[:​ru/​manual/​discovery/​low_level_discovery#​ограничения_данных_для_возвращаемых_значений|ограничения данных для возвращаемых значений LLD]].
  
 === - Использование макросов LLD в контекстах пользовательских макросов === === - Использование макросов LLD в контекстах пользовательских макросов ===
  
-User macros ​[[:​manual/​config/​macros/​usermacros#​user_macro_context|with context]] can be used to accomplish more flexible thresholds in trigger expressionsDifferent thresholds may be defined on user macro level and then used in trigger constants depending on the discovered contextDiscovered context appears when the [[:​manual/​config/​macros/​lld_macros|low-level discovery macros]] used in the macros are resolved to real values.+Пользовательские макросы ​[[:ru/manual/​config/​macros/​usermacros#​контекст_пользовательских_макросов|с контекстом]] можно использовать для получения более гибких порогов в выражениях триггеровРазные пороги можно задать на уровне пользовательского макроса и затем их можно использовать в константах триггеров,​ в зависимости от обнаруженного контекстаОбнаруженный контекст появляется,​ когда используемые ​[[:ru/manual/​config/​macros/​lld_macros|макросы низкоуровневого обнаружения]] в макросах раскрываются в реальные значения.
  
-To illustrate we can use data from the example above and assume that the following file systems will be discovered: ''/'',​ ''/​home'',​ ''/​tmp'',​ ''/​usr'', ​ ''/​var''​.+Для иллюстрации мы можем использовать данные из приведенного примера выше, предположим,​ что будут обнаружены следующие файловые системы: ''/'',​ ''/​home'',​ ''/​tmp'',​ ''/​usr'', ​ ''/​var''​.
  
-We may define a free-disk-space trigger prototype for a hostwhere the threshold is expressed by a user macro with context:+Мы можем задать узлу сети прототип триггера на свободное место на дискегде порог выражается при помощи пользовательского макроса с контекстом:
  
 ''​{host:​vfs.fs.size[{#​FSNAME},​pfree].last()}<​**{$LOW_SPACE_LIMIT:<​nowiki>"</​nowiki>​{#​FSNAME}<​nowiki>"</​nowiki>​}**''​ ''​{host:​vfs.fs.size[{#​FSNAME},​pfree].last()}<​**{$LOW_SPACE_LIMIT:<​nowiki>"</​nowiki>​{#​FSNAME}<​nowiki>"</​nowiki>​}**''​
  
-Then add user macros:+Затем добавим пользовательские макросы:
   * ''​{$LOW_SPACE_LIMIT}''​ **10**   * ''​{$LOW_SPACE_LIMIT}''​ **10**
   * ''​{$LOW_SPACE_LIMIT:/​home}''​ **20**   * ''​{$LOW_SPACE_LIMIT:/​home}''​ **20**
Line 114: Line 255:
  
 Тогда события сгенерируются,​ когда на файловых системах ''/'',​ ''/​usr''​ и ''/​var''​ станет свободного места на диске меньше чем **10**%, файловой системе ''/​tmp''​ станет свободного места на диске менее чем **50**% или на файловой системе ''/​home''​ станет свободного места на диске менее чем **20**%. Тогда события сгенерируются,​ когда на файловых системах ''/'',​ ''/​usr''​ и ''/​var''​ станет свободного места на диске меньше чем **10**%, файловой системе ''/​tmp''​ станет свободного места на диске менее чем **50**% или на файловой системе ''/​home''​ станет свободного места на диске менее чем **20**%.
- 
-<note important>​LLD macros are not supported inside of user macro contexts in [[manual:​config:​triggers:​expression#​function_parameters|trigger function parameters]].</​note>​