AOM может обнаруживать приложения и собирать их метрики на основе настроенных правил. Существует два режима настройки обнаружения приложений: auto mode и manual mode. В этом разделе в основном описывается manual mode.
После установки ICAgent на хост в соответствии с Installing an ICAgent, ICAgent автоматически обнаруживает приложения на хосте на основе Built-in Discovery Rules и отображает их на странице Application Monitoring.
Если вы настраиваете правило обнаружения приложений и применяете его к хосту, на котором установлен 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 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
Правило фильтрации | Пример |
|---|---|
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 имя компонента и имя приложения должны указываться совместно. Имена определяются согласно следующим приоритетам:
В следующем примере имя компонента — atps-demo, а имя приложения — atpd-test.
Default_Rule (может быть отключено)
Например, AOM может обнаружить процессы, у которых параметры команд содержат ovs-vswitchd unix: и переменные среды содержат SUDO_USER=paas.
Если процесс не обнаружен в течение 20 с, измените правило обнаружения и повторно выполните обнаружение процессов. Только после обнаружения хотя бы одного процесса можно перейти к следующему шагу.
Установите имя приложения. В области Application Name Settings нажмите Add Naming Rule, чтобы задать имя приложения для обнаруженного процесса. В области Component Name Settings укажите тип приложения и нажмите Add Naming Rule, чтобы задать имя компонента для обнаруженного процесса. Например, добавьте текст app-test в качестве имени компонента. Если имя не соответствует вашим требованиям, нажмите
в таблице Preview Component Name, чтобы переименовать компонент.
После создания правила обнаружения приложения выполните операции, перечисленные в Table 2, при необходимости.
Operation | Description |
|---|---|
Viewing rule details | В колонке Name нажмите имя правила обнаружения приложений. |
Включение или отключение правила |
|
Удаление правила |
ПРИМЕЧАНИЕ: Встроенные правила обнаружения приложений нельзя удалить. |
Изменение правила | Нажмите Modify в колонке Operation. ПРИМЕЧАНИЕ: Встроенные правила обнаружения приложений нельзя изменить. |