Сенсоры

Сенсоры – это скрипты, которые выполняют сбор данных при инвентаризации. Они могут быть:

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

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

Поддерживаемые типы скриптов:

  • Powershell скрипт
  • Shell скрипт
  • SQL скрипт
  • Внутренний скрипт - скрипт, исполняемый агентом (Файлы, IPMI, LDAP, PortCheck, RestApi, WMI)

Один сенсор может содержать несколько скриптов разных типов.

Код скрипта может быть задан отдельно в зависимости от платформы, на которой он будет работать.

Для начала работы перейдите в раздел Сбор данных / Сенсоры с помощью верхнего меню.

Далее:

  • Для создания сенсора нажмите кнопку Создать сенсор в правом верхнем углу.
  • Для редактирования сенсора нажмите на его название в таблице.
  • Для удаления сенсора нажмите на иконку в строке сенсора в таблице.

Для создания сенсора:

  • Перейдите в раздел Сбор данных / Сенсоры с помощью верхнего меню.
  • Нажмите кнопку Создать сенсор в правом верхнем углу.
  • Откроется страница создания сенсора.
  • В поле Наименование сенсора введите название сенсора, указав в нем любое удобное вам значение.

Платформа скрипта

Код скрипта может быть одинаковым для всех платформ, или задан по отдельности для каждой платформы, на которой он будет исполняться.

Если код скрипта одинаковый для всех платформ:

  • Включите чекбокс Для всех платформ в блоке Общие настройки.
  • Переходите к заполнению содержания скрипта в основной части экрана, как описано далее.
Код скрипта общий для всех платформ

Если код скрипта зависит от платформы, на которой он исполняется:

  • Чекбокс Для всех платформ должен быть выключен.
  • С помощью вкладок слева выберите платформу, для которой предназначен скрипт.
  • Заполните содержание скрипта в основной области страницы, как описано далее.
  • Переключитесь на вкладку другой платформы и повторите заполнение.
  • Нажмите кнопку Сохранить внизу страницы. 
Код скрипта зависит от платформыобщий для всех платформ
  • Заполните поля в основной части страницы:
    • Наименование скрипта - используется, если в одном сенсоре объединено несколько скриптов. Вы можете оставить в поле значение по умолчанию или указать любое удобное вам значение.
    • Тип скрипта - выберите значение в выпадающем списке в зависимости от того, кто является исполнителем скрипта:
      • Powershell скрипт
      • Shell скрипт
      • SQL скрипт
      • Внутренний скрипт - используется в случае, если скрипт полностью выполняется на уровне агента. Например, к этой группе относятся: Файлы, IPMI, LDAP, PortCheck, RestApi, WMI скрипты.
    • Напишите код скрипта в текстовом поле под первыми двумя полями.
    • Тип результата - выберите значение в выпадающем списке в зависимости от того, в каком формате скрипт должен возвращать данные. 
      Если вы используете несколько скриптов в одном сенсоре и хотите, чтобы два скрипта выполнялись последовательно, а полученные данные дополнялись, то используйте в первом скрипте тип результата "Список ...". В ином случае данные будут перезаписаны / не полностью сохранены. Например, если вы в первом  скрипте выберите тип результата "справочник формата ключ-значение", во втором - "список справочников формата ключ-значение", то после отработки второго скрипта сохранится только один справочник, как настроено в первом скрипте, а прочие данные не будут сохранены.
    • Предварительный просмотр - поле содержит пример результата для выбранного типа. Пример заполнится автоматически после того, как вы выберете тип результата. Не требуется редактировать.
    • Параметры - дополнительные параметры для обработки результата, заполняются, если требуется:
      • Параметр-ключ для данных в одной строке - наименование параметра, в который будут записаны данные сенсора с типом результата "Строка".
        Например, в настройках скрипта указано: тип результата = "Строка", параметр-ключ для данных в одной строке = "Domain".
        Сенсор собрал данные = "my domain".
        Итоговый результат сохранения данных:
        "Domain":"my domain 1"
      • Параметр-ключ для данных в виде списка строк - наименование параметров, в которые будут записаны данные сенсора с типом результата "Список строк".
        Например, в настройках скрипта указано: тип результата = "Список строк", параметр-ключ для данных в виде списка строк= "Domain".
        Сенсор собрал данные = "my domain 1", "my domain 2", "my domain 3".
        Итоговый результат сохранения данных:
        [
        "Domain":"my domain 1",
        "Domain":"my domain 2",
        "Domain":"my domain 3"
        ]
      • Разделитель между собранными данными - знак нестандартного разделителя, в случае, если данные приходят, но не разделяются по параметрам, так как система не опознает переданный разделитель. Например, если сенсор собрал данные "my domain 1;my domain 2", то в качестве разделителя нужно указать ;
      • Список аргументов - отображает список параметров командной строки, передаваемый выполняемому скрипту сенсора.
  • Добавьте дополнительные скрипты в сенсор, если требуется, узнайте больше об этой возможности далее.
  • Нажмите кнопку Сохранить внизу страницы.

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

С помощью этой возможности вы можете:

  • Собирать данные сначала одним способом (например, через PowerShell), затем дополнять их данными, собранными другим способом (например, через WMI).
  • Собирать данные с помощью разных версий PowerShell, например, первый скрипт написан для одной версии PowerShell, а второй для другой.
  • Обрабатывать ошибки сбора данных (например, если первый скрипт не собрал данные одним способом, попробовать другой вариант сбора данных).

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

  • Кнопка Добавить новый скрипт - добавляет скрипт в сенсор, после этого появится дополнительная вкладка, на которой можно отредактировать содержание скрипта.
  • Вкладки с названиями - позволяют переключаться между скриптами в сенсоре.
  • Иконка рядом с названием вкладки - позволяет удалить соответствующий скрипт и его вкладку. 

Правила выполнения нескольких скриптов:

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

Конструктор условий выполнения позволяет вам настроить, в каких случаях нужно применять скрипт на текущей вкладке. Настройка условий доступна только для дополнительных скриптов в сенсоре. Скрипт, настроенный на первой вкладке, выполняется всегда без дополнительных условий.

Чтобы настроить условия выполнения скрипта:

  • Перейдите на вкладку скрипта, нажав на ее название.
  • Нажмите на поле Конструктор условий выполнения, чтобы открыть форму настройки.
  • Заполните поля формы.

Здесь вы можете:

  • Выбрать условие выполнения - для этого нажмите на поле с условием и выберите его в списке вариантов.
  • Добавить несколько условий при необходимости, для этого используйте элементы:
    • + Добавить условие - добавляет форму для выбора условия.
    • Кнопка с иконкой - удаляет ранее добавленное условие.
    • Переключатель И / ИЛИ над списком условий определяет логическое правило применение условий:
      • И - скрипт будет применен, только если все добавленные условия выполнены.
      • ИЛИ - скрипт будет применен, если хотя бы одно условие будет выполнено.

Варианты условий:

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

    • Алгоритм фильтрации - позволяет выбрать, какие собранные данные анализировать (любой из полученных объектов, все, первый из полученных).
    • Поле объекта - позволяет указать поле, по которому будет производиться проверка данных.
    • Условие - условие фильтрации, например, если выбрать "содержит" то скрипт отработает, только если в указанном поле выбранного объекта будут найдены данные из поля Значение.
    • Значение - значение, с которым сопоставляются полученные данные.

После того, как вы создали сенсор или изменили его, нужно его подключить (или проверить его настройки) в задаче инвентаризации.

Для этого:

  • Перейдите в раздел Сбор данных / Управление инвентаризацией с помощью верхнего меню.
  • Откройте существующую задачу Сетевой инвентаризации или создайте новую.
  • Перейдите на шаг Нормализация в задаче с помощью меню слева.
  • Найдите в списке область инвентаризации, для которой предназначен сенсор.
  • Чтобы подключить ваш сенсор - выберите нужный сенсор в выпадающем списке напротив названия области.
  • Нажмите на название области инвентаризации в списке, чтобы раскрыть список параметров сенсора.
  • Если вы подключаете новый сенсор или изменяли названия параметров в коде сенсора, то заполните названия параметров сенсора в открывшемся списке.
    Названия полей нормализации на текущий момент изменить нельзя. Поэтому вы также можете в своем скрипте оставлять стандартные названия.

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

Для этого:

  • Перейдите в раздел Сбор данных / Сенсоры с помощью верхнего меню.
  • Найдите сенсор в списке и нажмите на его название.
  • Откроется страница редактирования сенсора.
  • Нажмите кнопку Сбросить настройки системного сенсора.