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 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‑контейнер. |
Если 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 используется, имя компонента и имя приложения должны использоваться вместе. Имена определяются согласно следующим приоритетам:
В следующем примере имя компонента 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 (может быть отключено)
Например, AOM может обнаруживать процессы, параметры команд которых содержат ovs-vswitchd unix: и переменные среды содержат SUDO_USER=paas.
Если процесс не обнаружен в течение 20 с, измените правило обнаружения и снова обнаружьте процессы. Только когда обнаружен хотя бы один процесс, вы можете перейти к следующему шагу.
Установите имя приложения.
В Настройки имени приложения область, кликните Добавить правило именования чтобы установить имя приложения для обнаруженного процесса.
В Настройки имени компонента область, укажите тип приложения и кликните Добавить правило именования чтобы задать имя компонента для обнаруженного процесса. Например, добавьте текст app-test в качестве имени компонента.
Если имя не соответствует вашим требованиям, нажмите
в Предпросмотр имени компонента таблица для переименования компонента.
После создания правила обнаружения приложений выполните операции, перечисленные в Таблица 2 при необходимости.
Операция | Описание |
|---|---|
Просмотр сведений о правиле | В Имя столбце, нажмите имя правила обнаружения приложения. |
Включение или отключение правила |
|
Удаление правила |
NOTE: Встроенные правила обнаружения приложений нельзя удалить. |
Изменение правила | Щелкните Изменить в Операция столбце. NOTE: Встроенные правила обнаружения приложений не могут быть изменены. |