Advanced
Тема интерфейса

Настройка правил обнаружения приложений

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

AOM может обнаруживать приложения и собирать их метрики на основе настроенных правил. Существует два режима настройки обнаружения приложений: auto mode и manual mode. Этот раздел в основном описывает manual mode.

  • Автоматический режим

    После установки ICAgent на хост согласно Установка ICAgent, ICAgent автоматически обнаруживает приложения на хосте на основе Встроенные правила обнаружения и отображает их в Мониторинг приложений странице.

  • Ручной режим

    Если вы настроите правило обнаружения приложения и примените его к хосту, где установлен ICAgent (подробности см. Установка ICAgent), ICAgent обнаруживает приложения на хосте на основе пользовательского правила и отображает их в Мониторинг приложений страница.

Правила фильтрации

ICAgent будет периодически выполнять обнаружение на целевом хосте, чтобы найти все его процессы. Эффект аналогичен выполнению команды ps -e -o pid,comm,lstart,cmd | grep -v defunct команда на целевом хосте. Затем ICAgent проверяет, соответствуют ли процессы правилам фильтрации в Таблица 1. Если процесс соответствует правилу фильтрации, процесс отфильтровывается и не обнаруживается AOM. Если процесс не соответствует ни одному правилу фильтрации, процесс не отфильтровывается и обнаруживается AOM.

Отображается информация, подобная следующей:

PID COMMAND STARTED CMD
1 systemd Tue Oct 2 21:12:06 2018 /usr/lib/systemd/systemd --switched-root --system --deserialize 20
2 kthreadd Tue Oct 2 21:12:06 2018 [kthreadd]
3 ksoftirqd/0 Tue Oct 2 21:12:06 2018 (ksoftirqd/0)
1140 tuned Tue Oct 2 21:12:27 2018 /usr/bin/python -Es /usr/sbin/tuned -l -P
1144 sshd Tue Oct 2 21:12:27 2018 /usr/sbin/sshd -D
1148 agetty Tue Oct 2 21:12:27 2018 /sbin/agetty --keep-baud 115200 38400 9600 hvc0 vt220
1154 docker-containe Tue Oct 2 21:12:29 2018 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc --metrics-interval=0
Таблица 1 Правила фильтрации

Правило фильтрации

Пример

Если COMMAND значение процесса docker-containe, vi, vim, pause, sshd, ps, sleep, grep, tailf, tail, или systemd-udevd, и процесс не запущен в контейнере, процесс отфильтровывается и не обнаруживается AOM.

В предшествующей информации процесс, чей PID является 1154 не обнаруживается AOM, потому что его КОМАНДА значение docker-containe.

Если CMD значение процесса начинается с [ и заканчивается ], процесс отфильтровывается и не обнаруживается AOM.

В приведённой ранее информации процесс, у которого PID равен 2 не обнаруживается AOM, потому что его CMD значение [kthreadd].

Если CMD значение процесса начинается с ( и заканчивается ), процесс отфильтровывается и не обнаруживается AOM.

В приведённой выше информации процесс, у которого PID является 3 не обнаруживается AOM, потому что его CMD значение (ksoftirqd/0).

Если CMD значение процесса начинается с /sbin/, процесс отфильтровывается и не обнаруживается AOM.

В предварительной информации процесс, чей PID является 1148 не обнаруживается AOM, потому что его CMD значение начинается с /sbin/.

Встроенные правила обнаружения

AOM предоставляет два встроенных правила обнаружения: Sys_Rule и Default_Rule. Эти правила выполняются на всех хостах, включая позже добавленные хосты. Приоритет Sys_Rule выше, чем Default_Rule. То есть, Sys_Rule выполняется на хосте первым. Если Sys_Rule выполнено, Default_Rule не выполняется. Иначе, Default_Rule выполняется. Подробные сведения о правиле следующие:

Sys_Rule (нельзя отключить)

Когда Sys_Rule используется, имя компонента и имя приложения должны использоваться вместе. Имена определяются в соответствии со следующими приоритетами:

  • Приоритеты определения имени приложения:
    1. Используйте значение Damp_application поле в команде запуска процесса.
    2. Если значение в 1 пусто, используйте значение Dapm_application поле в JAVA_TOOL_OPTIONS переменная.
    3. Если значение в 2 пусто, используйте значение PAAS_MONITORING_GROUP переменная.
    4. Если значение в 3 пусто, используйте значение DAOM.APPN поле в команде запуска процесса.
  • Приоритеты определения имени компонента:
    1. Используйте значение DAOM.PROCN поле в команде запуска процесса. Если значение пусто, используйте значение Dapm_tier поле.
    2. Если значение в 1 пусто, используйте значение Dapm_tier поле в JAVA_TOOL_OPTIONS переменная.
    3. Если значение в 2 пусто, используйте значение PAAS_APP_NAME переменная.

В следующем примере имя компонента atps-demo и имя приложения atpd-test.

PAAS_MONITORING_GROUP=atpd-test
PAAS_APP_NAME=atps-demo
JAVA_TOOL_OPTIONS=-javaagent:/opt/oss/servicemgr/ICAgent/pinpoint/pinpoint-bootstrap.jar -Dapm_application=atpd-test -Dapm_tier=atps-demo

Default_Rule (может быть отключено)

  • Если COMMAND значение процесса java, получить имя JAR‑пакета в команде, имя главного класса в команде и первое ключевое слово, которое не начинается с дефиса (-) в команде, на основе приоритетов по убыванию, в качестве имени компонента и использовать значение по умолчанию unknownapplicationname в качестве имени приложения.
  • Если COMMAND значение процесса равно python, получить имя первого скрипта .py/.pyc в команде в качестве имени компонента и использовать значение по умолчанию unknownapplicationname в качестве имени приложения.
  • Если COMMAND значение процесса равно node, получить имя первого скрипта .js в команде в качестве имени компонента и использовать значение по умолчанию unknownapplicationname как имя приложения.

Пользовательские правила обнаружения

  1. В панели навигации выберите Управление конфигурацией > Обнаружение приложений.
  2. Щелкните Добавить пользовательское правило обнаружения приложений и настройте правило обнаружения приложений.
  3. Выберите хост для предварительного обнаружения.

    1. Задайте имя правила, например, rule-test.
    2. Выберите типичный хост, например, host-test, чтобы проверить, действителен ли правило обнаружения приложений. Хосты, выполняющие правило, будут настроены в 6. Затем щелкните Далее.

  4. Установите правило обнаружения приложений.

    1. Щелкните Добавить элементы проверки. AOM может обнаруживать процессы, которые соответствуют условиям элементов проверки.

      Например, AOM может обнаружить процессы, параметры команд которых содержат ovs-vswitchd unix: и переменные окружения содержат SUDO_USER=paas.

      Note
      • Чтобы точно обнаруживать процессы, рекомендуется добавлять элементы проверки, описывающие уникальные особенности процессов.
      • Вы должны добавить как минимум один элемент проверки и можете добавить до пяти элементов проверки. Если есть несколько элементов проверки, AOM обнаруживает только те процессы, которые соответствуют условиям всех элементов проверки.

    2. После добавления элементов проверки нажмите Обнаружить для поиска процессов, которые соответствуют условиям.

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

  5. Установите имя приложения и имя компонента.

    Установите имя приложения.

    1. Установите имя приложения.

      В Настройки имени приложения области, щёлкните Добавить правило именования для установки имени приложения для обнаруженного процесса.

      Note
      • Если вы не задаете имя приложения, имя по умолчанию unknownapplicationname используется.
      • Когда вы добавляете несколько правил именования, все правила объединяются в имя приложения процесса. Метрики одного и того же приложения агрегируются.
    2. Установите имя компонента.

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

      Note
      • Типы приложений указываются для идентификации категорий приложений. Они используются только для более лучшей классификации правил и отображения в консоли. Вы можете ввести любое поле. Например, вы можете ввести Java или Python чтобы классифицировать приложения по технологическому стеку или ввести коллектор или база данных чтобы классифицировать приложения по функции.
      • Если вы не задаете имя компонента, имя по умолчанию unknownapplicationname используется.
      • Когда вы добавляете несколько правил именования, все правила именования объединяются в имя компонента процесса. Метрики одного и того же компонента агрегируются.

    3. Предпросмотр имени компонента.

      Если имя не соответствует вашим требованиям, нажмите в Предпросмотр имени компонента таблица для переименования компонента.

  6. Установите приоритет и диапазон обнаружения.

    1. Установите приоритет: Когда существует несколько правил, задайте приоритеты. Введите от 1 до 9999. Меньшее значение указывает более высокий приоритет. Например, 1 указывает на высший приоритет и 9999 указывает на наименьший приоритет.
    2. Установите диапазон обнаружения: Выберите хост для обнаружения. То есть выберите хост, к которому применяется сконфигурированное правило. Если хост не выбран, это правило будет выполнено на всех хостах, включая добавленные позже.

  7. Нажмите Добавить to complete the configuration. AOM collects metrics of the process.
  8. After about two minutes, choose Monitoring > Component Monitoring in the navigation pane, select the target host from the cluster drop-down list, and find out the monitored component.

More Operations

After creating an application discovery rule, perform the operations listed in Table 2 if needed.

Table 2 Related operations

Operation

Description

Viewing rule details

In the Name column, click the name of an application discovery rule.

Enabling or disabling a rule

  • Нажмите Включить в Операция столбце.
  • Нажмите Отключить в Операция столбце. После отключения правила AOM не собирает соответствующие метрики процессов.

Удаление правила

  • Чтобы удалить правило обнаружения, нажмите Удалить в Операция столбце.
  • Чтобы удалить одно или несколько правил обнаружения приложений, выберите их и нажмите Удалить над списком правил.
ПРИМЕЧАНИЕ:

Встроенные правила обнаружения приложений нельзя удалить.

Изменение правила

Щелкните Изменить в Операция столбце.

NOTE:

Встроенные правила обнаружения приложений нельзя изменять.