开始之前

此教程用时 20 分钟,介绍了如何在日志分析中设置环境,以从 Oracle Autonomous Database 的表或视图收集数据。日志分析通过连接到数据库并运行您提供的 SQL 查询来从表或视图收集数据。

背景信息

执行本教程中介绍的步骤,以便从自治数据库实体中的表或视图收集数据,例如创建日志源、创建自治数据库实体、下载 wallet 文件、注册身份证明、注册 wallet 信息,以及最终将日志源与自治数据库实体关联以开始收集日志。

需要做哪些准备?

  • 为 Oracle Cloud Logging Analytics 设置服务策略。请参阅 Oracle Cloud Infrastructure 文档中的启用对日志分析及其资源的访问先决条件 IAM 策略
  • 创建用于设置连续日志收集的 IAM 策略。请参阅 Oracle Cloud Infrastructure 文档中的允许使用管理代理进行连续日志收集
  • 使用现有日志组或至少创建一个日志组来存储您从自治数据库收集的日志。请参阅 Oracle Cloud Infrastructure 文档中的创建日志组以存储日志
  • 熟悉用于编写 SQL 查询以提取日志数据的 SQL 查询的 SQL 查询准则。请参阅 Oracle Cloud Infrastructure 文档中的 SQL 查询准则
  • 确保您可以访问自治数据库位于 Oracle Cloud Infrastructure 中的区间。
  • (可选)您可以将管理仪表盘配置为创建和使用仪表盘,这些仪表盘是数据可视化工具,可以快速洞察 IT 基础设施和应用程序的运行状况和性能,并帮助识别异常并采取更正措施。请参阅 Oracle Cloud Infrastructure 文档中的配置管理仪表盘
  • 要使管理代理从自治数据库实体收集日志,您必须提供用于访问自治数据库的身份证明。要了解有关必须向管理代理注册的身份证明的更多信息,请参阅 Oracle Cloud Infrastructure 文档中的管理代理源身份证明:DBTCPSCreds
  • 创建自治数据库实体时需要提供服务名称。有关自治数据库的预定义服务名的信息,请参阅 Oracle Database 文档中的Autonomous Database 的预定义数据库服务名
  • 在可以与 ATP-S 或 ADW-W 建立 JDBC 连接的任何主机上安装管理代理。有关使用 ATP 和 ADW 建立 JDBC 连接的步骤,请参见使用 19c 和 18.3 JDBC 的 Java Connectivity with Autonomous Database(ATP 或 ADW)

    安装代理时部署日志分析插件。同时确保执行部署管理代理的先决条件。请参阅 Oracle Cloud Infrastructure 文档中的管理代理:简介

    在安装过程中,您需要创建一个响应文件,在其中必须包含有关启用日志分析插件的以下行:

    Service.plugin.logan.download=true

    如果要在 Oracle Cloud Agent 中启用管理代理插件,请确保 JVM 堆大小至少为 512 MB。

下载 Wallet 文件

管理代理需要 Java 密钥库 (Key Store,JKS) 或 Oracle 钱包才能连接到 ATP 或 ADW。与 Oracle Autonomous Database 的管理代理连接需要使用 Oracle Wallet。确保代理用户对 wallet 文件具有读取访问权限。

在基于 Unix 的主机上,对于手动安装的独立管理代理,安装管理代理的代理用户为 mgmt_agent;对于使用 Oracle Cloud Agent 启用的管理代理的插件,则为 oracle-cloud-agent

  1. 使用您的云身份证明登录 Oracle Cloud > 导航到自治数据库的主页。

  2. 单击数据库连接选项卡 > 下载 wallet zip 文件 wallet_<dbname>.zip

  3. 安全地将 zip 解压缩到目录,以便只有授权的用户才能访问它们。zip 文件的内容如下所述:

    • tnsnames.orasqlnet.ora:存储连接描述符和 SQL*Net 客户端配置的网络配置文件。
    • cwallet.oraewallet.p12:自动打开 SSO wallet 和 PKCS12 文件。PKCS12 文件受 UI 中提供的 wallet 密码保护。
    • keystore.jkstruststore.jks:JKS Truststore 和 Keystore,由下载 wallet 时提供的 wallet 护照保护。
    • ojdbc.properties:包含 JDBC 连接所需的 wallet 相关连接属性。此路径应与 tnsnames.ora 位于同一路径中。

预定义的服务名称在您下载的 tnsnames.ora 文件中可用。属性值的格式为 dbName_predefinedServiceName

创建 Autonomous Database 实体

创建自治数据库实体以引用数据库实例并从中启用日志收集。

  1. 打开导航菜单并单击 Observability & Management 。在 Logging Analytics 下,单击 Administration(管理)。此时将打开“管理概览”页。

    管理资源列在资源下的左侧导航窗格中。单击实体

    此时将打开“实体”页。确保左侧的区间选择器指示您在此新实体的所需区间中。单击创建

  2. 实体类型菜单下,选择自治事务处理Autonomous Data Warehouse
    创建自治数据库实体
    插图的说明 Create_Entity.png

    为实体提供名称,并记录该名称以供将来参考。您需要它向管理代理注册数据库详细信息。

  3. 选择安装代理的管理代理区间
  4. 管理代理菜单中,选择与 ATP-S 或 ADW-W 具有 JDBC 连接的主机上安装的管理代理。
  5. (可选)在云资源 ID 部分中提供自治数据库实例的 OCID。
  6. 属性下,指定属性 service_name 的值。

    在上一步中下载的 tnsnames.ora 文件中提供了预定义的服务名称。属性值的格式为 dbName_predefinedServiceName

  7. 单击创建

向管理代理注册数据库身份证明和 Wallet 详细信息

要使管理代理从自治数据库实体收集日志,您必须提供用于访问自治数据库的身份证明。使用以下步骤添加身份证明或更新现有身份证明。同时向代理注册 wallet 详细信息。

  1. 收集以下有关数据库的信息:
    • Database_Entity_Name:在创建 ATP/ADW 实体时之前指定的实体名称
    • Database_User_Name:数据库用户名
    • Database_Password:数据库密码
    • 数据库用户的角色(可选)
  2. 收集有关 wallet 文件的以下信息:
    • SSL_Truststore_Location:SSL 信任存储位置
    • SSL_Truststore_Password:SSL Truststore 口令
    • SSL_Keystore_Location:SSL 密钥库位置
    • SSL_Keystore_Password:SSL 密钥库口令
  3. 使用数据库信息创建 JSON 文件:
     { "source": "lacollector.la_database_sql", "name": "LCAgentDBCreds.<Database_Entity_Name>", "type": "DBTCPSCreds", "usage": "LOGANALYTICS", "disabled": "false", "properties":[ {"name":"DBUserName","value":"<Database_User_Name>"}, {"name":"DBPassword","value":"<Database_Password>"}, {"name":"ssl_trustStoreType","value":"JKS"}, {"name":"ssl_trustStoreLocation","value":"<SSL_Truststore_Location>"}, {"name":"ssl_trustStorePassword","value":"<SSL_Truststore_Password>"}, {"name":"ssl_keyStoreType","value":"JKS"}, {"name":"ssl_keyStoreLocation","value":"<SSL_Keystore_Location>"}, {"name":"ssl_keyStorePassword","value":"<SSL_Keystore_Password>"}, {"name":"ssl_server_cert_dn","value":"yes"}] }

    使用插入文件名的绝对文件路径更新字段 ssl_trustStoreLocationssl_keyStoreLocation。例如:

    {"name": "ssl_trustStoreLocation", "value": "/usr/local/wallet/truststore.jks"}, {"name": "ssl_keyStoreLocation", "value": "/usr/local/wallet/keystore.jks"}

    对于 Windows 路径,使用反斜杠 \,对于类似 UNIX 的路径,在 JSON 中使用正斜杠 /

  4. 要向管理代理注册数据库身份证明和 wallet 详细信息,请登录到管理代理主机,然后通过指定在上一步中创建的 JSON 文件的路径来运行以下命令:
    • 在类似于 UNIX 的主机上:

      cat <path_to_JSON_file> | sh /opt/oracle/mgmt_agent/agent_inst/bin/credential_mgmt.sh -o upsertCredentials -s logan

      例如:

      cat /net/example.com/scratch/imp/my_atp/Wallet_ATP/my_logan_creds.json | sh /opt/oracle/mgmt_agent/agent_inst/bin/credential_mgmt.sh -o upsertCredentials -s logan

      注意:

      对于使用 Oracle Cloud Agent 插件在计算实例上运行的管理代理,credential_mgmt.sh 脚本位置位于 /var/lib/oracle-cloud-agent/plugins/oci-managementagent/polaris/agent_inst/bin 下。
    • 在 Windows 主机上:

      type <path_to_JSON_file> | <path_to_credential_mgmt.bat> -o upsertCredentials -s logan

      例如:

      type C:\Oracle\my_logan_creds.json | C:\Oracle\mgmt_agent\agent_inst\bin\credential_mgmt.bat -o upsertCredentials -s logan

向管理代理用户提供读取 Wallet 文件的权限

确保管理代理用户具有读取 wallet 文件的正确权限。提供对 wallet 目录的 READ 和 EXECUTE 访问以及对 wallet 文件的 READ 访问。例如,您可以使用命令,请参见 Logging Analytics Documentation 中的 Grant READ Access of the Logs to the Agent User on Your Host

为 Autonomous Database 实体类型创建源

  1. 打开导航菜单并单击 Observability & Management 。在 Logging Analytics 下,单击 Administration(管理)。此时将打开“管理概览”页。

    管理资源列在资源下的左侧导航窗格中。单击

    此时将打开“源”页。单击创建源

  2. 名称字段中,输入源的名称。

    (可选) 添加说明。

  3. 源类型列表中,选择数据库
  4. 实体类型菜单下,选择自治事务处理Autonomous Data Warehouse
    创建自治数据库源
    插图的说明 Create_Source.png
  5. 单击数据库查询选项卡,并指定 Oracle Cloud Logging Analytics 根据其收集自治数据库日志的 SQL 语句:
    • SQL 查询字段中输入 SQL 语句。

      您可能需要在日志分析外部运行 SQL 查询,以首先验证结果。

    • 单击配置并将 SQL 表列映射到将在实际日志记录中显示的字段名。
    • 指定序列列。此字段的值必须确定插入到表中的记录的顺序。它必须具有唯一的增量值。

    注意:

    • 数据类型为 Timestamp 的第一个映射字段用作日志记录的时间戳。如果不存在此类字段,则收集时间将用作日志记录的时间。
    • 创建日志源(历史日志收集)后首次收集日志时:

      如果 SQL 查询中的任何字段映射到 Time 字段,则该字段的值将用作引用来上载前 30 天的日志记录。

      如果 SQL 查询中的任何字段都未映射到 Time 字段,则最多上载 10,000,000 条记录。

    单击完成

    要添加多个 SQL 查询,请单击添加并重复此步骤。

  6. 为每个 SQL 查询选择已启用,然后单击保存

此时将打开源列表页并显示所有 Oracle 定义的源和定制的源,包括您刚刚创建的源。

将日志源与 Autonomous Database 实体关联

  1. 在源列表页面中,确定您在上一步中创建的源。单击源名称。此时将打开源详细信息页。
  2. 在“源详细信息”页左侧的资源范围下,选择区间。这将根据您选择的区间限制对您可见的实体。
  3. 资源下,单击未关联的实体以查看有资格与此源关联的实体。选择要与此源关联的以前创建的实体,然后单击添加关联
    关联自治数据库实体和源
    图 Associate_Source_Entity.png 的说明

    此时将打开“添加关联”对话框。

  4. 选择包含日志数据在收集并编制索引后应位于其中的日志组的区间。
  5. 选择您在设置期间之前创建的日志组。
  6. 单击提交

所选实体现在移至关联实体部分,其中显示关联状态。如果源实体关联任务失败,则单击重试关联

收集说明将发送到之前定义的正在监视此实体的代理,并且日志收集将启动。转至代理收集警告部分以查看日志收集的警告。请注意,警告列表与此源的所有关联实体相对应。

如果您对收集数据的管理代理有任何问题,请确保在身份证明存储中提供的用户名对要查询的表或视图具有 READ 访问权限。等待几分钟以查看日志浏览器中的日志。代理收集历史日志后,您将开始看到只收集较新的日志。

了解更多

Oracle Cloud Infrastructure 文档中的以下部分: