配置和部署监视资产

要使用 Oracle Database 19c 和 Apache Tomcat 引入 Linux ARM 主机,您需要完成以下任务:
  1. 在 Apache Tomcat 上部署 APM Java 代理。
  2. 配置综合监视以监视应用程序端点。
  3. 部署管理代理。
  4. 在堆栈监视上搜索基础设施。

配置 Application Performance Monitoring

首先,配置应用程序性能监视。

从 Web 浏览器登录到 OCI 租户。您将从 Cloud Shell 输入以下大多数命令。如果您不熟悉,请参阅相关文档。如果您没有用于 O&M 资源的区间(例如 APM 域),请立即创建:
  1. 依次选择身份和安全性区间页,然后单击创建区间
  2. 提供一个有意义的名称和描述,例如:
    • 名称 = om-demo
    • 说明 = Compartment for Observability & Management resources
    等待一分钟,以便预配区间。完成后,记下区间的 OCID。

现在,执行以下操作:

  1. 通过打开 Cloud Shell 并执行以下操作来创建新的 APM 免费层域:
    1. 通过输入以下内容为 O&M 资源选择区间:
      export COMPARTMENT_OCID=YOUR_COMPARTMENT_OCID
    2. 通过输入以下内容来选择 APM 域名:
      export APM_DISPLAY_NAME=demoapm01 
      
      oci apm-control-plane apm-domain create --compartment-id $COMPARTMENT_OCID --display-name $APM_DISPLAY_NAME --is-free-tier TRUE --wait-for-state SUCCEEDED --wait-interval-seconds 15 
  2. 依次选择 Observability & ManagementApplication Performance MonitoringAdministration 以显示创建状态(请确保选择正确的区间)。
    等待创建域,这大约需要五分钟。还可以使用 Cloud Shell 通过使用以下命令查看进度:
    export COMPARTMENT_OCID=YOUR_COMPARTMENT_OCID 
    
    oci apm-control-plane apm-domain list --compartment-id $COMPARTMENT_OCID --all --query "data[].{\"display-name\":\"display-name\",\"lifecycle-state\":\"lifecycle-state\",\"id\":\"id\"}" --output table 
    您应看到如下响应:
    +--------------+-----------------------------+-----------------+
    | display-name | id                          | lifecycle-state |
    +--------------+-----------------------------+-----------------+
    | demoapm01    | ocid1.apmdomain.oc1.***.*** | ACTIVE          |
    +--------------+-----------------------------+-----------------+
  3. 记下 APM 域 OCID,并输入以下命令以生成 data-upload-endpointdatakeys(稍后将用于安装 Java APM 代理):
    export APM_OCID=YOUR_APM_DOMAIN_OCID
    
    oci apm-control-plane apm-domain get --apm-domain-id $APM_OCID --query "data.{\"data-upload-endpoint\":\"data-upload-endpoint\"}" --output table
    
    oci apm-control-plane data-key list --apm-domain-id $APM_OCID --all --query "data[].{\"name\":\"name\",\"type\":\"type\",\"value\":\"value\"}" --output table
    
    您应看到如下响应:
    +-----------------------------------------------------------------------------+
    | data-upload-endpoint                                                        |
    +-----------------------------------------------------------------------------+
    | https://***.apm-agt.***.oci.oraclecloud.com                                 |
    +-----------------------------------------------------------------------------+ 
    
    +--------------------------------+---------+----------------------------------+
    | name                           | type    | value                            |
    +--------------------------------+---------+----------------------------------+
    | auto_generated_private_datakey | PRIVATE | ******************************** |
    | auto_generated_public_datakey  | PUBLIC  | ******************************** |
    +--------------------------------+---------+----------------------------------+
  4. 依次选择 Observability & ManagementApplication Performance Monitoring ,然后选择管理,从“下载 APM 代理”页下载 Java 代理。
  5. 将 JAR 文件复制到每个 Apache Tomcat 主机:
    [tomcat@stvociapp021 ~]$ pwd
    /home/tomcat
    [tomcat@stvociapp021 ~]$ ls -l apm-java-agent-installer-1.10.1.3.jar
    -rwxrwxr-x. 1 tomcat tomcat 11741769 Jul 26 07:39 apm-java-agent-installer-1.10.1.3.jar
    [tomcat@stvociapp021 ~]$
    
  6. 使用以下命令使用 Tomcat 用户安装 Java Agent(基于您自己的环境配置 VARIABLES):
    1. 设置 Apache Tomcat 安装主路径:
      export APM_INSTALL_DESTINATION=/opt/tomcat 
    2. 设置 APM 安装 JAR 全路径:
      export APM_INSTALLER=/home/tomcat/apm-java-agent-installer-1.10.1.3.jar 
    3. 选择要用于 APM 域导出的服务名称:
      APM_SERVICE_NAME=apex_tomcat_service
    4. 添加 APM 域信息:
      export APM_PRIVATE_KEY=YOUR_PRIVATE_KEY 
      export APM_ENDPOINT=YOUR_APM_ENDPOINT 
      export APM_PUBLIC_KEY=YOUR_PUBLIC_KEY
    5. 如果需要,添加其他 APM 选项;例如,线程快照或启用 APM 浏览器代理注入:
      export APM_ADDITIONAL_OPTIONS="-property=com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable=true" 
    6. 设置 JAVA_HOMEPATH 变量:
      export JAVA_HOME=PATH_TO_JAVA_HOME 
      export PATH=$JAVA_HOME/bin:$PATH
    7. 安装 APM Java 代理:
      java -jar ${APM_INSTALLER} provision-agent -service-name=${APM_SERVICE_NAME} -destination=${APM_INSTALL_DESTINATION} -private-data-key=${APM_PRIVATE_KEY} -data-upload-endpoint=${APM_ENDPOINT} ${APM_ADDITIONAL_OPTIONS} -public-data-key=${APM_PUBLIC_KEY}
  7. 通过添加 javaagent 属性修改 Apache Tomcat JAVA_OPTS;例如:
    export JAVA_OPTS="-Dconfig.url=${ORDS_CONFIG} -Xms1024M -Xmx4096M -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true -javaagent:${TOMCAT_HOME}/oracle-apm-agent/bootstrap/ApmAgent.jar "
  8. 重新启动 Apache Tomcat。
  9. 验证 Java 代理日志文件(将 TOMCAT_HOME 更改为 Tomcat 安装主目录路径):
    ls -l ${TOMCAT_HOME}/oracle-apm-agent/log/*/Agent* 
  10. 最后,依次选择 Observability & ManagementApplication Performance Monitoring ,然后选择 Trace Explorer 并验证是否正确收集了跟踪。

配置综合监视

在 Apache Tomcat 上配置 APM Java 代理后,您可以创建监视器来模拟应用程序中的用户活动。使用 OCI 控制台或 OCI Cloud Shell 以编程方式创建 OCI 资源。

导航到“综合监视”页(观察性和管理,然后导航到 Application Performance Monitoring ,然后导航到合成监视),以创建将持续测试应用程序端点的监视器。

打开 Cloud Shell 以为应用程序快速创建 BROWSER 监视器。然后执行以下操作:

  1. 获取可用观察点列表:
    export APM_OCID=YOUR_APM_DOMAIN_OCID 
    
    oci apm-synthetics public-vantage-point-collection list-public-vantage-points --apm-domain-id $APM_OCID 
  2. 测试应用程序端点(此示例使用阿什本区域测试这些端点):
    echo "[\"OraclePublic-us-ashburn-1\"]" > $HOME/vantage_points.json
  3. 为可用性配置创建 JSON 文件:
    echo {\"maxAllowedFailuresPerInterval\": 0, \"minAllowedRunsPerInterval\": 1} >  availability_configuration.json
  4. 为网络度量创建 JSON 文件:
    echo {\"probeMode\": \"SACK\",  \"probePerHop\": 3,  \"protocol\": \"TCP\" } > network_measurements.json
  5. 最后,创建监视器:
    1. 确定 APM 域:
      export APM_OCID=YOUR_APM_DOMAIN_OCID
    2. 提供监视器名称:
      export MONITOR_DISPLAY_NAME=demo-monitor-01 
    3. 提供应用程序端点 URL:
      export MONITOR_TARGET=http://LOAD_BALANCER_PUBLIC_IP/APPLICATION_TEST_URL
    4. 提供监视间隔(以秒为单位):
       export MONITOR_REPEAT_INTERVAL=360 oci apm-synthetics monitor create-browser-monitor --apm-domain-id $APM_OCID --display-name $MONITOR_DISPLAY_NAME --monitor-type BROWSER --repeat-interval-in-seconds $MONITOR_REPEAT_INTERVAL --vantage-points file://$HOME/vantage_points.json --is-certificate-validation-enabled FALSE --is-failure-retried true --target $MONITOR_TARGET --availability-configuration file://$HOME/availability_configuration.json --network-configuration file://$HOME/network_measurements.json
在“综合监视”页中,您可以查看刚刚创建的监视器的状态。在此示例中,每六分钟监视提供的 URL(要查看测试结果的详细信息,请单击监视器名称并从“资源”菜单中选择历史记录)。

部署管理代理

在配置堆栈监视之前,需要在要监视的每个主机中安装 Oracle Management Agent。此演示将 RPM 安装用于管理代理(如果您的 Linux ARM 主机在内部部署或其他云提供商上运行),则可以使用此方法。

注:

如果您不知道如何安装 Oracle Management Agent,请参阅 OCI 文档中的“安装管理代理”,可从本手册结尾的“浏览更多”主题中进行访问。
开始之前,请从“下载和密钥”页面下载管理代理软件:
  1. 依次选择 Management AgentDownloads and Keys
  2. 选择软件包类型为 RPM 的 Agent for LINUX (AARCH64)
  3. 在同一页中,创建一个新的安装密钥来配置代理。提供必需的参数:
    • 密钥名称 = demo-key-01
    • 区间 = om-demo
    • 最大安装数 = default

注:

如果您不知道如何创建安装密钥,请参阅 OCI 文档中的“创建安装密钥”,可从本手册结尾的“浏览更多”主题中进行访问。
现在,部署管理代理:
  1. 使用 SSH 连接到 Linux 实例,如果尚不存在,请安装 JDK8:
    # dnf install -y java-1.8.0-openjdk 
  2. 安装 Management Agent:
    # rpm -ivh oracle.mgmt_agent.230622.2155.Linux-Aarch64.rpm
  3. 配置管理代理,如下例所示:
    1. 打开 vi 编辑器:
      # vi /usr/share/mgmt_agent/input.rsp 
      
    2. 添加以下内容:
      ManagementAgentInstallKey = <COPY_YOUR_KEY_HERE>
      CredentialWalletPassword = <CHOOSE_YOUR_WALLET_PASSWORD>
    3. 更改管理代理的所有者:
      # chown mgmt_agent. /usr/share/mgmt_agent/input.rsp 
  4. 运行以下命令以最终确定管理代理配置:
    # sudo /opt/oracle/mgmt_agent/agent_inst/bin/setup.sh opts=/usr/share/mgmt_agent/input.rsp  
几分钟后,您将看到“Management Agent(管理代理)”和“Agents(代理)”页的代理。您不需要启用堆栈监视插件;堆栈监视会自动为您启用它。

启用完全主机监视

启用了堆栈监视服务后,您接下来希望对应用程序所依赖的主机启用完全监视。堆栈监视将自动准备任务来监视 OCI 计算实例。要启用完全监视,请选择提升为完全监视。从可用主机列表中标识 Tomcat 和 Oracle Database 主机,以进行提升并选择提升。这将调用滑出操作;在此滑出操作中,验证资源名称与主机的全限定域名称匹配。接下来,单击提升。堆栈监视将在几分钟内创建新主页并开始收集新度量。

配置堆栈监视

最后,您需要配置堆栈监视。

在实际配置服务之前,您需要满足以下先决条件:
  1. 启用堆栈监视服务。
  2. 启用 JMX 监视。
  3. 创建 Oracle Database 监视用户。
然后完成以下步骤以配置堆栈监视:
  1. 启用主机的完全监视。
  2. 搜索 Oracle Database。
  3. 了解 Apache Tomcat。
以下步骤介绍了这些过程。
  1. 启用堆栈监视服务:
    依次导航到可观察性和管理Application Performance MonitoringStack MonitoringEnable Stack Monitoring
  2. 在 Apache Tomcat 上启用 JMX:
    堆栈监视要求在搜索之前启用 JMX。要在 Apache Tomcat 上启用 JMX,请执行以下操作:
    1. setenv.bat 添加以下行:
      set CATALINA_OPTS=-Dcom.sun.management.jmxremote 
      -Dcom.sun.management.jmxremote.port=9012 
      -Dcom.sun.management.jmxremote.ssl=false 
      -Dcom.sun.management.jmxremote.authenticate=false
    2. 创建用于存储 jmxremote.accessjmxremote.password 文件的配置文件夹:
      mkdir -p /opt/tomcat/conf
    3. 以 Tomcat 用户身份创建 jmxremote.access
      cd /opt/tomcat/conf 
      echo "monitorRole readonly 
      controlRole readwrite" > jmxremote.access 
    4. 将以下内容添加到 jmxremote.password 文件中。请注意,密码文件应为只读文件,并且只能由操作系统用户 Tomcat 以原样运行。以 Tomcat 用户身份:
      cd /opt/tomcat/conf 
      echo "monitorRole tomcat 
      controlRole tomcat" > jmxremote.password 
    5. 重新启动 Apache Tomcat。
  3. 创建数据库监视用户:
    在堆栈监视中搜索数据库之前,请确保您有权访问监视用户。您可以使用内置有 Oracle Database 的 DBSNMP 用户,并具有监视数据库所需的权限,也可以创建仅具有必要权限的定制用户。创建数据库监视用户的步骤可在 MOS 注:2857604.1 中找到,您可以从本手册结尾的“浏览更多”中进行访问。
  4. 启用完全主机监视:
    启用堆栈监视服务后,第一步是启用对应用程序所依赖的主机的完全监视。堆栈监视将自动准备任务来监视 OCI 计算实例。要启用完全监视,请执行以下操作:
    1. 单击提升为完全监视
    2. 从可用主机列表中标识 Tomcat 和 Oracle Database 主机以进行提升,然后单击提升。这将调用滑出。
    3. 在此幻灯片中,验证资源名称是否与主机的全限定域名称匹配,然后单击“Promote(提升)”。

    堆栈监视将在几分钟内创建新主页并开始收集新度量。

  5. 了解应用程序依赖的 Oracle 数据库:
    使用 Stack Monitoring 简单易用的空白发现 UI,可轻松发现资源。要开始:
    1. 导航到“资源搜索”页,然后单击搜索新资源。选择后,将显示一个滑出窗口。
    2. 从下拉菜单中,选择 Oracle Database
    3. 填写资源名称DNS 主机名服务名称等字段,然后单击搜索新资源

    当作业完成时,堆栈监视将立即开始收集度量并创建主页。

  6. 了解 Apache Tomcat 服务器
    了解 Apache Tomcat:
    1. 导航到“资源搜索”,然后单击搜索新资源
    2. 从下拉列表中,选择 Apache Tomcat
    3. 填写空白字段(如 JMX 端口)以及监视用户名和密码,然后单击搜索新资源

    作业完成后,导航到堆栈监视的“Enterprise Summary(企业概要)”。该仪表盘将显示 Oracle Database、Apache Tomcat 以及 Tomcat 所依赖的主机的性能和状态。

    接下来,关联资源,以便轻松地在应用堆栈上下导航。有关相关资源的更多信息,请参见“更新应用程序拓扑”(可以从本手册结尾的“浏览更多”主题进行访问)。

    最后,为资源配置预警。预警的示例:
    • 主机
      • 文件系统使用率
      • CPU 和内存使用率
      • 监视状态
    • Oracle Database
      • 监视状态
      • CPU 和内存
      • 等待时间
      • 存储使用率(按表空间)
    • Apache Tomcat
      • 监视状态
      • JVM 内存使用率(堆和非堆)
      • CPU 占用率