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

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

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

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

  • Авто‑режим

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

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

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

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

ICAgent будет периодически выполнять обнаружение на целевом хосте, чтобы определить все его процессы. Эффект аналогичен запуску the 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‑контейнер.

Если 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 в качестве имени приложения.
  • Если КОМАНДА значение процесса равно python, получить имя первого скрипта .py/.pyc в команде в качестве имени компонента, и использовать значение по умолчанию unknownapplicationname в качестве имени приложения.
  • Если КОМАНДА значение процесса равно 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. После добавления элементов проверки нажмите Обнаружить для поиска процессов, которые соответствуют условиям.

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

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

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

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

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

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

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

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

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

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

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

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

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

Дополнительные операции

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

Таблица 2 Связанные операции

Операция

Описание

Просмотр сведений о правиле

В Имя столбце, нажмите имя правила обнаружения приложения.

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

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

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

  • Чтобы удалить правило обнаружения, щелкните Удалить в Операция столбце.
  • Чтобы удалить одно или несколько правил обнаружения приложений, выберите их и щелкните Удалить над списком правил.
NOTE:

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

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

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

NOTE:

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