应用运维管理 AOM-应用发现:内置发现规则

时间:2024-08-21 11:25:05

内置发现规则

AOM 提供了Sys_Rule和Default_Rule两个内置的发现规则,内置的发现规则会在所有主机上执行,包括后续新增的主机。其中Sys_Rule优先级大于Default_Rule,即优先在主机上执行Sys_Rule,如果满足Sys_Rule,则不执行Default_Rule,如果不满足Sys_Rule,则执行Default_Rule。规则内容如下:

Sys_Rule(不能停用)

使用Sys_Rule规则的场景下,组件名和应用名配对使用,必须同时设置组件名和应用名信息,取值优先级如下:

  • 应用名称取值优先级:
    1. 取进程的启动命令中“Dapm_application”字段的值。
    2. 如果1为空,则取环境变量“JAVA_TOOL_OPTIONS”中“Dapm_application”字段的值。
    3. 如果2为空,则取环境变量“PAAS_MONITORING_GROUP”的值。
    4. 如果3为空,则取进程的启动命令中“DAOM.APPN”字段的值。
  • 组件名称取值优先级:
    1. 取进程的启动命令中“DAOM.PROCN”字段的值,如果为空则取“Dapm_tier”字段的值。
    2. 如果1为空,则取环境变量“JAVA_TOOL_OPTIONS”中“Dapm_tier”字段的值。
    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。
support.huaweicloud.com/usermanual-aom2/mon_01_0087.html