Облачная платформаAdvanced

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

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

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

  • Auto mode

    После установки ICAgent на хост в соответствии с Installing an ICAgent, ICAgent автоматически обнаруживает приложения на хосте на основе Built-in Discovery Rules и отображает их на странице Application Monitoring.

  • Manual mode

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

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

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

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

Пример

If the COMMAND value of a process is docker-containe, vi, vim, pause, sshd, ps, sleep, grep, tailf, tail, or systemd-udevd, and the process is not running in the container, the process is filtered out and is not discovered by AOM.

In the preceding information, the process whose PID is 1154 is not discovered by AOM because its COMMAND value is docker-containe.

If the CMD value of a process starts with [ and ends with ], the process is filtered out and is not discovered by 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. В панели навигации выберите Configuration Management > Application Discovery.
  2. Нажмите Add Custom Application Discovery Rule и настройте правило обнаружения приложения.
  3. Выберите хост для предварительного обнаружения.

    1. Настройте имя правила, например, rule-test.
    2. Select a typical host, for example, host-test, to check whether the application discovery rule is valid. The hosts that execute the rule will be configured in 6. Then, click Next.

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

    1. Нажмите Add Check Items. AOM может обнаруживать процессы, соответствующие условиям элементов проверки.

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

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

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

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

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

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

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

      В области Application Name Settings нажмите Add Naming Rule, чтобы задать имя приложения для обнаруженного процесса.

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

      В области Component Name Settings укажите тип приложения и нажмите Add Naming Rule, чтобы задать имя компонента для обнаруженного процесса. Например, добавьте текст app-test в качестве имени компонента.

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

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

      Если имя не соответствует вашим требованиям, нажмите в таблице Preview Component Name, чтобы переименовать компонент.

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

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

  7. Нажмите Add, чтобы завершить настройку. AOM собирает метрики процесса.
  8. Через примерно две минуты выберите Monitoring > Component Monitoring в панели навигации, выберите целевой хост из выпадающего списка кластера и найдите мониторируемый компонент.

More Operations

После создания правила обнаружения приложения выполните операции, перечисленные в Table 2, при необходимости.

Table 2 Связанные операции

Operation

Description

Viewing rule details

В колонке Name нажмите имя правила обнаружения приложений.

Включение или отключение правила

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

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

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

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

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

Нажмите Modify в колонке Operation.

ПРИМЕЧАНИЕ:

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