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 CMD1 systemd Tue Oct 2 21:12:06 2018 /usr/lib/systemd/systemd --switched-root --system --deserialize 202 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 -P1144 sshd Tue Oct 2 21:12:27 2018 /usr/sbin/sshd -D1148 agetty Tue Oct 2 21:12:27 2018 /sbin/agetty --keep-baud 115200 38400 9600 hvc0 vt2201154 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
Правило фильтрации | Пример |
|---|---|
Если 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 используется, имя компонента и имя приложения должны использоваться вместе. Имена определяются в соответствии со следующими приоритетами:
- Приоритеты определения имени приложения:
- Используйте значение Damp_application поле в команде запуска процесса.
- Если значение в 1 пусто, используйте значение Dapm_application поле в JAVA_TOOL_OPTIONS переменная.
- Если значение в 2 пусто, используйте значение PAAS_MONITORING_GROUP переменная.
- Если значение в 3 пусто, используйте значение DAOM.APPN поле в команде запуска процесса.
- Приоритеты определения имени компонента:
- Используйте значение DAOM.PROCN поле в команде запуска процесса. Если значение пусто, используйте значение Dapm_tier поле.
- Если значение в 1 пусто, используйте значение Dapm_tier поле в JAVA_TOOL_OPTIONS переменная.
- Если значение в 2 пусто, используйте значение PAAS_APP_NAME переменная.
В следующем примере имя компонента atps-demo и имя приложения atpd-test.
PAAS_MONITORING_GROUP=atpd-testPAAS_APP_NAME=atps-demoJAVA_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 как имя приложения.
Пользовательские правила обнаружения
- В панели навигации выберите Управление конфигурацией > Обнаружение приложений.
- Щелкните Добавить пользовательское правило обнаружения приложений и настройте правило обнаружения приложений.
- Выберите хост для предварительного обнаружения.
- Задайте имя правила, например, rule-test.
- Выберите типичный хост, например, host-test, чтобы проверить, действителен ли правило обнаружения приложений. Хосты, выполняющие правило, будут настроены в 6. Затем щелкните Далее.
- Установите правило обнаружения приложений.
- Щелкните Добавить элементы проверки. AOM может обнаруживать процессы, которые соответствуют условиям элементов проверки.
Например, AOM может обнаружить процессы, параметры команд которых содержат ovs-vswitchd unix: и переменные окружения содержат SUDO_USER=paas.
Note- Чтобы точно обнаруживать процессы, рекомендуется добавлять элементы проверки, описывающие уникальные особенности процессов.
- Вы должны добавить как минимум один элемент проверки и можете добавить до пяти элементов проверки. Если есть несколько элементов проверки, AOM обнаруживает только те процессы, которые соответствуют условиям всех элементов проверки.
- После добавления элементов проверки нажмите Обнаружить для поиска процессов, которые соответствуют условиям.
Если в течение 20s процесс не обнаружен, измените правило обнаружения и снова обнаружьте процессы. Только когда обнаружен хотя бы один процесс, вы можете перейти к следующему шагу.
- Щелкните Добавить элементы проверки. AOM может обнаруживать процессы, которые соответствуют условиям элементов проверки.
- Установите имя приложения и имя компонента.
Установите имя приложения.
- Установите имя приложения.
В Настройки имени приложения области, щёлкните Добавить правило именования для установки имени приложения для обнаруженного процесса.
Note- Если вы не задаете имя приложения, имя по умолчанию unknownapplicationname используется.
- Когда вы добавляете несколько правил именования, все правила объединяются в имя приложения процесса. Метрики одного и того же приложения агрегируются.
- Установите имя компонента.
В Настройки имени компонента область, укажите тип приложения и нажмите Добавить правило именования чтобы задать имя компонента для обнаруженного процесса. Например, добавьте текст app-test в качестве имени компонента.
Note- Типы приложений указываются для идентификации категорий приложений. Они используются только для более лучшей классификации правил и отображения в консоли. Вы можете ввести любое поле. Например, вы можете ввести Java или Python чтобы классифицировать приложения по технологическому стеку или ввести коллектор или база данных чтобы классифицировать приложения по функции.
- Если вы не задаете имя компонента, имя по умолчанию unknownapplicationname используется.
- Когда вы добавляете несколько правил именования, все правила именования объединяются в имя компонента процесса. Метрики одного и того же компонента агрегируются.
- Предпросмотр имени компонента.
Если имя не соответствует вашим требованиям, нажмите
в Предпросмотр имени компонента таблица для переименования компонента.
- Установите имя приложения.
- Установите приоритет и диапазон обнаружения.
- Установите приоритет: Когда существует несколько правил, задайте приоритеты. Введите от 1 до 9999. Меньшее значение указывает более высокий приоритет. Например, 1 указывает на высший приоритет и 9999 указывает на наименьший приоритет.
- Установите диапазон обнаружения: Выберите хост для обнаружения. То есть выберите хост, к которому применяется сконфигурированное правило. Если хост не выбран, это правило будет выполнено на всех хостах, включая добавленные позже.
- Нажмите Добавить to complete the configuration. AOM collects metrics of the process.
- 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.
Operation | Description |
|---|---|
Viewing rule details | In the Name column, click the name of an application discovery rule. |
Enabling or disabling a rule |
|
Удаление правила |
ПРИМЕЧАНИЕ: Встроенные правила обнаружения приложений нельзя удалить. |
Изменение правила | Щелкните Изменить в Операция столбце. NOTE: Встроенные правила обнаружения приложений нельзя изменять. |
- Правила фильтрации
- Встроенные правила обнаружения
- Пользовательские правила обнаружения
- Дополнительные операции