主机设置编辑

一些驱动程序需要额外的配置才能工作。在这里找到这些驱动程序的说明。

Oracle 数据库连接先决条件编辑

要连接到 Oracle 数据库,需要设置 ORACLE_SIDORACLE_BASEORACLE_HOME 环境变量。

例如:假设我们按照 链接使用 RPM 手动安装 Oracle 数据库 21c,则应如下设置环境变量

export ORACLE_BASE=/opt/oracle/oradata
export ORACLE_HOME=/opt/oracle/product/21c/dbhome_1

此外,将 ORACLE_HOME/bin 添加到 PATH 环境变量中。

Oracle Instant Client 安装编辑

Oracle Instant Client 允许开发和部署连接到 Oracle 数据库的应用程序。Instant Client 库提供必要的网络连接和高级数据功能,以充分利用 Oracle 数据库。如果您有一个预装了这些库的 OCI Oracle 服务器,则无需单独的客户端安装。

OCI 库安装了一些客户端共享库,这些库必须在安装 Metricbeat 的机器上引用。请按照 链接设置 OCI Instant Client。OCI Instant Client 可通过 Oracle 通用安装程序、RPM 文件或 ZIP 文件获得。下载链接可在 此处 找到。

启用 Oracle 监听器编辑

Oracle 监听器是在数据库主机上运行的服务,它接收来自 Oracle 客户端的请求。请确保 监听器 正在运行。要检查监听器是否正在运行,请运行

lsnrctl STATUS

如果监听器未运行,请使用以下命令启动

lsnrctl START

然后,可以启动 Metricbeat。

Oracle 的主机配置编辑

支持以下类型的主机配置

  1. 为了向后兼容,使用旧式 Oracle 连接字符串

    1. hosts: ["user/[email protected]:1521/ORCLPDB1.localdomain"]
    2. hosts: ["user/[email protected]:1521/ORCLPDB1.localdomain as sysdba"]
  2. DSN 配置作为 URL

    1. hosts: ["oracle://user:[email protected]:1521/ORCLPDB1.localdomain?sysdba=1"]
  3. DSN 配置作为 logfmt 编码的参数列表

    1. hosts: ['user="user" password="pass" connectString="0.0.0.0:1521/ORCLPDB1.localdomain"']
    2. hosts: ['user="user" password="password" connectString="host:port/service_name" sysdba=true']

DSN 主机配置是推荐的配置类型,因为它支持在密码中使用特殊字符。

在 URL 中,任何特殊字符都应进行 URL 编码。

在 logfmt 编码的 DSN 格式中,如果密码包含反斜杠字符 (\),则必须使用另一个反斜杠对其进行转义。例如,如果密码是 my\_password,则必须将其写为 my\\_password

连接到数据库的用户名和密码可以作为 sql.ymlusernamepassword 键的值提供。

- module: sql
  metricsets:
    - query
  period: 10s
  driver: "oracle"
  enabled: true
  hosts: ['user="" password="" connectString="0.0.0.0:1521/ORCLCDB.localdomain" sysdba=true']
  username: sys
  password: password
  sql_queries:
  - query: SELECT METRIC_NAME, VALUE FROM V$SYSMETRIC WHERE GROUP_ID = 2 and METRIC_NAME LIKE '%'
    response_format: variables

示例配置

SQL 模块支持在 模块 中描述的标准配置选项。以下是一个示例配置

metricbeat.modules:
- module: sql
  metricsets:
    - query
  period: 10s
  hosts: ["user=myuser password=mypassword dbname=mydb sslmode=disable"]

  driver: "postgres"
  sql_query: "select now()"
  sql_response_format: table

指标集

提供以下指标集