Oracle产品的每个功能都是为了实现客户的具体需求。
OEM(Oracle Enterprise Manager)对Exadata可以实现从网络、服务器硬件、操作系统、数据库等全栈的监控、管理和优化。Oracle Enterprise Manager App for Grafana,也支持将OEM收集的指标在Grafana仪表盘中展示。客户在部署完Exadata后,现在可以将Exadata的监控纳入到Grafana或Prometheus等第三方监控平台之中,实现对IT系统的集中监控告警目标。
Exadata 22.1 Real-Time Insight这个新特性为我们带来了一种全新的综合监控解决方案,支持将Exadata运行指标纳入Grafana的仪表盘中统一展示管理。下图是Exadata 运行指标在Grafana仪表盘的演示效果:

Exadata Real-Time Insight 允许以低至一秒的时间间隔直接从 Exadata 数据库服务器和存储服务器以流式向外部传输 200 多个Exadata运行监控指标。在22.1之前,Exadata的监控指标是按1分钟的时间间隔进行收集。
Exadata Real-Time Insight通过外部监控服务器集中收集来自 Exadata 数据库和存储服务器的运行指标和统计信息。运行指标和统计信息通过集中式流传输可用于许多标准的监控应用程序构建监控仪表板,提供统一门户对Exadata 运行指标进行监控及告警。由于Real-Time Insight收集的指标数据只保存在服务器内存之中,并不会保存在Exadata服务器上,所以我们要将这些监控数据实时传输到外部监控平台上以供将来生成报表和分析性能。
所有类型的 Exadata服务器节点都支持流式传输指标,包括:
存储服务器(单元)
数据库服务器(裸机和 KVM 主机部署类型)
KVM 虚拟机
我们可以使用相关 CLI 工具(dbmcli、cellcli)中的命令启用细粒度指标收集(DB server和Cell server具有不同的监控指标)。我们也可以通过运行 list metricdefinition detail 命令获取完整的指标列表和每个指标的描述。Metrictype(监控指标类型)有两种:单位时间累积值、当前值。
MS Server里面的三个参数控制了指标数据收集时间间隔及如何发送到监控服务器。
需要注意配置参数是必须遵循metricStreamIntvlInSec 的大小是metricFGCollIntvlInSec 的5-30倍。比如metricStreamIntvlInSec =60,则metricFGCollIntvlInSec 为2-12之间。
metricFGCollIntvlInSec (metric Fine Grain Collection Interval In Seconds)
– fineGrained=enabled 细粒度指标收集时间间隔
metricStreamEndPoint (metric Streaming Server End Point)
– 指标发送至目标监控流服务器的配置信息
metricStreamIntvlInSec (metric Stream Interval In Seconds)
– 收集的监控指标发送到目标流服务器的时间间隔
以下简单介绍一下Real-Time Insight的配置过程。详细步骤及说明请参考22.1官方文档。
https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/exadata-storage-server-monitoring.html#GUID-8448C324-784E-44F5-9D44-9CB5C697E436
设置细粒度监控指标收集时间间隔
CellCLI> ALTER CELL metricFGCollIntvlInSec=1
关闭细粒度监控指标收集
CellCLI> ALTER CELL metricFGCollIntvlInSec=0
显示监控指标详细信息
CellCLI> list metricdefinition detailname: CD_BY_FC_DIRTYdescription: "Number of unflushed megabytes cached in FLASHCACHE on a cell disk"fineGrained: DisabledmetricType: InstantaneousobjectType: CELLDISKunit: MBname: CD_IO_BY_R_LGdescription: "Number of megabytes read in large blocks from a cell disk"fineGrained: DisabledmetricType: CumulativeobjectType: CELLDISKunit: MB…以下输出省略
将所有细粒度监控指标全部打开
CellCLI> alter metricdefinition finegrained=enabled where finegrained=disable
单独开启某个监控指标
CellCLI> alter metricdefinition PDB_FC_BY_ALLOCATED finegrained=enabledMetricDefinition PDB_FC_BY_ALLOCATED successfully altered.
显示某个监控指标的设置状态
DBMCLI> list metricdefinition where finegrained=enabled detailname: DS_MEMUTdescription: "Percentage of total physical memory on this server that is currently used"fineGrained: EnabledmetricType: InstantaneousobjectType: DBSERVERunit: %
启用自动上传流数据至目标监控服务器,上面我们设置了metricFGCollIntvlInSec=1,所以metricStreamIntvlInSec的值必须是5-30之间
CellCLI> ALTER CELL metricStreamIntvlInSec=20
配置目标监控服务器,这里我们可以配置Prometheus URL作为目标服务器
metricStreamEndPoint[+]=((host="endpoint-URL"[,type="stream-format"][,token="authentication-token"][,{httpProxy|httpsProxy}="proxy-server"])host:http或https 的目标端URLtype: 流数据传输格式 json或plaintext, 缺省值为jsontoken: 目标端监控服务器认证token设置,可选项httpProxy or httpsProxy: 代理服务器配置,可选项CellCLI> ALTER CELL metricStreamEndPoint=((host="https://ingest.stream.example.com/v2/datapoint",type="json",token="wcfA_**********Z58QpKg",httpProxy="www-proxy.example.com:80"))
在Prometheus端验证接收到Exadata传入到监控数据,就可以配置Grafana仪表盘。
Oracle研发部门已经开发了多个针对Exadata在Grafana上的仪表盘供大家下载直接使用。详情可以访问以下链接。
https://github.com/oracle-samples/oracle-db-examples/tree/main/exadata
在insight目录下有具体使用说明:
dashboard_grafana_prometheus
README.md – 仪表盘设置对Grafana及Prometheus版本要求
<Dashboard JSON files> - 导入仪表盘设置json文件
METRICS.md – 使用仪表盘需要启用的监控指标
综上所述,Real-Time Insight的配置非常简单易用。通过将Exadata与IT整体监控告警平台整合,简化IT管理,提高运维效率,实现客户的需求就是Oracle的价值所在。
编辑:赵靖宇






