主机设置
编辑主机设置
编辑某些驱动程序需要额外的配置才能正常工作。此处提供这些驱动程序的说明。
Oracle 数据库连接先决条件
编辑要连接到 Oracle 数据库,需要设置 ORACLE_SID
、ORACLE_BASE
和 ORACLE_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 的主机配置
编辑支持以下类型的主机配置
-
旧式 Oracle 连接字符串,用于向后兼容
-
hosts: ["user/[email protected]:1521/ORCLPDB1.localdomain"]
-
hosts: ["user/[email protected]:1521/ORCLPDB1.localdomain as sysdba"]
-
-
作为 URL 的 DSN 配置
-
hosts: ["oracle://user:[email protected]:1521/ORCLPDB1.localdomain?sysdba=1"]
-
-
作为 logfmt 编码的参数列表的 DSN 配置
-
hosts: ['user="user" password="pass" connectString="0.0.0.0:1521/ORCLPDB1.localdomain"']
-
hosts: ['user="user" password="password" connectString="host:port/service_name" sysdba=true']
-
DSN 主机配置是推荐的配置类型,因为它支持在密码中使用特殊字符。
在 URL 中,任何特殊字符都应进行 URL 编码。
在 logfmt 编码的 DSN 格式中,如果密码包含反斜杠字符 (\
),则必须使用另一个反斜杠对其进行转义。例如,如果密码为 my\_password
,则必须将其写为 my\\_password
。
连接到数据库的用户名和密码可以作为 sql.yml
中 username
和 password
密钥的值提供。
- 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
提供以下指标集