Oracle 模块
编辑Oracle 模块
编辑这是 Metricbeat 的 Oracle 模块。它正在积极开发中,并得到社区的反馈。添加了一个用于表空间监控的单个指标集,以便社区可以开始从其节点收集指标并为模块做出贡献。
兼容性
编辑Oracle Metricbeat 模块正在使用从 Oracle Docker Hub 仓库 直接下载的 store/oracle/database-enterprise:12.2.0.1 Docker 镜像测试版本 12c R2,该镜像基于 5.0.13-arch1-1-ARCH Arch Linux。这一点很重要,该模块仅在 Linux 环境中使用提到的镜像进行了测试。
仪表盘
编辑Kibana 已经包含了一个概览仪表盘。
需求
编辑可以通过两种方式促进与 Oracle 的连接,要么使用官方的 Oracle 库,要么使用 JDBC 驱动程序。目前,Metricbeat 不支持使用 JDBC 促进连接。可以使用 Oracle 库促进连接,下面提到了执行此操作的详细步骤。
Oracle 数据库连接先决条件
要连接到 Oracle 数据库,应设置 ORACLE_SID、ORACLE_BASE 和 ORACLE_HOME 环境变量。
例如:考虑使用 RPM 手动按照 此 链接安装 Oracle 数据库 21c,应如下设置环境变量:ORACLE_SID=ORCLCDB
ORACLE_BASE=/opt/oracle/oradata
ORACLE_HOME=/opt/oracle/product/21c/dbhome_1
此外,将 ORACLE_HOME/bin
添加到 PATH
环境变量中。
Oracle 即时客户端
Oracle 即时客户端支持连接到 Oracle 数据库的应用程序的开发和部署。即时客户端库提供必要的网络连接和高级数据功能,以充分利用 Oracle 数据库。如果您的 OCI Oracle 服务器预装了这些库,则无需单独安装客户端。
OCI 库安装了一些客户端共享库,必须在安装 Metricbeat 的机器上引用这些库。请按照 此 链接设置 OCI 即时客户端。OCI 即时客户端可通过 Oracle 通用安装程序、RPM 文件或 ZIP 文件获得。下载链接可以在 此处 找到。
启用监听器
Oracle 监听器是在数据库主机上运行的服务,接收来自 Oracle 客户端的请求。确保 监听器 正在运行。要检查监听器是否正在运行,请运行
lsnrctl STATUS
如果监听器未运行,请使用以下命令启动
lsnrctl START
然后,可以启动 Metricbeat。
主机配置
支持以下类型的主机配置
-
旧式 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
。
指标集
编辑模块中包含以下指标集
performance
编辑包含性能相关的事件,主要包含基于游标和缓存的数据。
tablespaces
编辑包含有关数据文件和临时文件的信息,按表空间分组,包括可用空间、已用空间、数据文件的状态、表空间的状态等。
sysmetric
编辑包含从 Oracle 系统指标捕获的当前时间间隔的系统指标值。
Oracle 模块支持在 模块 中描述的标准配置选项。以下是一个示例配置
metricbeat.modules: # Module: oracle - module: oracle period: 10m metricsets: - tablespace enabled: true hosts: ['user="user" password="pass" connectString="0.0.0.0:1521/ORCLPDB1.localdomain"'] - module: oracle period: 10s metricsets: - performance enabled: true hosts: ['user="user" password="pass" connectString="0.0.0.0:1521/ORCLPDB1.localdomain"'] - module: oracle period: 60s metricsets: - sysmetric enabled: true hosts: ['user="user" password="pass" connectString="0.0.0.0:1521/ORCLPDB1.localdomain"'] # patterns: ["foo%","%bar","%foobar%"] # username: "" # password: ""
以下指标集可用