Oracle ADB存储指标采集及Datadog告警配置咨询
Oracle自治数据库(ADB)存储指标采集与Datadog告警配置
一、Datadog采集ADB存储指标的方法
1. 官方Oracle集成采集基础指标
Datadog的Oracle集成可直接采集ADB存储相关指标,操作步骤如下:
- 将Datadog Agent部署到能访问ADB的VPC节点(云主机/容器均可)
- 下载ADB的Wallet文件,解压至Agent配置目录(示例路径:
/etc/datadog-agent/oracle_wallet) - 修改Agent的Oracle配置文件
conf.d/oracle.d/conf.yaml,填入ADB连接信息:init_config: instances: - server: "<ADB_TNS_NAME>" # 从Wallet的tnsnames.ora中获取对应名称 user: "ADMIN" password: "<ADMIN_PASSWORD>" wallet_location: "/etc/datadog-agent/oracle_wallet" tags: - "adb_env:production" # 自定义标签用于区分不同环境 - 重启Agent并验证状态:执行
datadog-agent status | grep oracle,确认集成正常运行 - 默认采集的核心存储指标:
oracle.tablespace.size.total:表空间总容量oracle.tablespace.size.used:表空间已用容量oracle.tablespace.size.free:表空间可用容量
2. 自定义SQL采集ADB专属存储指标
针对ADB的自动扩容特性,可通过自定义SQL采集更精准的已分配/已用存储及占比:
- 在
conf.d/oracle.d/conf.yaml的instances节点下添加custom_queries配置:instances: # 保留原有连接配置... custom_queries: # 采集ADB总已分配存储(单位:GB) - query: | SELECT 'adb_total_allocated' AS metric_name, SUM(ALLOCATED_SIZE)/1024/1024/1024 AS value FROM V$DATAFILE metrics: - value: type: gauge name: oracle.adb.total_allocated_gb # 采集ADB已用存储(单位:GB) - query: | SELECT 'adb_used' AS metric_name, SUM(USED_SIZE)/1024/1024/1024 AS value FROM V$DATAFILE metrics: - value: type: gauge name: oracle.adb.used_gb # 采集ADB存储使用率(百分比) - query: | SELECT 'adb_usage_pct' AS metric_name, (SUM(USED_SIZE)/SUM(ALLOCATED_SIZE))*100 AS value FROM V$DATAFILE metrics: - value: type: gauge name: oracle.adb.storage_usage_pct - 重启Agent后,在Datadog Metrics Explorer中搜索
oracle.adb.*即可查看自定义指标
二、Datadog存储使用率告警配置
1. 创建全局存储使用率告警
- 登录Datadog控制台,进入Monitors > New Monitor > Metric
- 配置告警规则:
- Metric:选择自定义指标
oracle.adb.storage_usage_pct,或用默认指标计算:(oracle.tablespace.size.used / oracle.tablespace.size.total) * 100 - Aggregation:按自定义标签(如
adb_env)聚合,选择max(避免平均计算掩盖高使用率的表空间) - Alert Conditions:
- 触发条件:指标连续5分钟 ≥ 80%
- 恢复条件:指标连续5分钟 < 75%(设置滞后阈值减少频繁告警)
- Metric:选择自定义指标
- 配置通知:
- 选择通知渠道(Slack/邮件/PagerDuty等)
- 自定义告警内容:
ADB存储使用率达{{value}}%,超过80%阈值。请检查数据占用情况,及时清理或申请扩容。
- 添加管理标签(如
monitor:adb-storage-alert),保存告警
2. 表空间级细粒度告警(可选)
若需单独监控业务表空间,可在Metric查询中添加维度过滤:
(oracle.tablespace.size.used{tablespace_name:!SYSTEM,tablespace_name:!TEMP} / oracle.tablespace.size.total{tablespace_name:!SYSTEM,tablespace_name:!TEMP}) * 100
排除系统/临时表空间,仅监控业务表空间的使用率
三、Datadog自定义查询示例
1. 查看ADB存储核心指标
# 总已分配存储 oracle.adb.total_allocated_gb{adb_env:production} # 已用存储 oracle.adb.used_gb{adb_env:production} # 存储使用率 oracle.adb.storage_usage_pct{adb_env:production}
2. 表空间使用率趋势查询
在Datadog Dashboard中添加时间面板,使用以下查询查看7天内的使用率变化:
(oracle.tablespace.size.used / oracle.tablespace.size.total) * 100{adb_env:production}
内容的提问来源于stack exchange,提问作者Baba
相关产品推荐
相关产品推荐

