本文介绍AWR详细使用说明。包括输出和查看Global AWR报告,连接Grafana查看实时数据等。
生成和查看Global AWR报告
- 打印快照
与Oracle AWR类似,PolarDB PostgreSQL版(兼容Oracle)支持显式触发性能数据的快照。不同的是PolarDB PostgreSQL版(兼容Oracle)Global AWR本身支持例行采集,并且为不同类型的数据设置了不同的采集间隔,无需定期触发快照也可生成性能报告。各项采集及其间隔请参见数据解析。
- 打印快照。
显示结果如下:SELECT polar_gawr_collection.snapshot();
snapshot ---------- 2 (1 row)
说明 打印快照为异步触发,触发后最多等待10秒即可生成完整快照。 - 查看快照列表。
显示结果如下:SELECT polar_gawr_collection.list_snapshots();
list_snapshots ---------------------------------- (1,"2021-08-11 07:06:53.678668") (2,"2021-08-11 11:18:12.747412") (2 rows)
- 打印快照。
- 输出报告
- 语法
psql -Aqtc "SELECT polar_gawr_report.make_report()" > index.html
- 输出方式推荐使用psql客户端进行操作,并在执行命令时添加以下参数。
- -A,--no-align:输出结果紧凑,不做对齐。
- -q,--quiet:不输出查询结果以外的内容。
- -t,--tuples-only:只显示结果行,不显示列名。
- -c,--command=COMMAND:只执行单条SQL并退出。
- 输出函数所有输出报告的相关函数均定义在postgres库中的
polar_gawr_report
模式下,以下介绍3个重载的make_report函数。- 默认打印当前实例在begin_time到end_time之间的性能报告。
polar_gawr_report.make_report( begin_time TIMESTAMP WITH TIME ZONE, end_time TIMESTAMP WITH TIME ZONE, ins_id TEXT DEFAULT '', comment TEXT DEFAULT '') RETURNS TEXT
- 打印当前实例在最近time_range时间范围内的性能报告,time_range默认为1小时。
polar_gawr_report.make_report( ins_id TEXT DEFAULT '', time_range INTERVAL DEFAULT '1 hour'::INTERVAL, comment TEXT DEFAULT '') RETURNS TEXT
- 打印两个指定snapshot id间的性能报告,
snapshot
为异步触发,在生成报告时会将结束时间默认延后五分钟,以便获取到完整的数据。polar_gawr_report.make_report( begin_snapshot_no INTEGER, end_snapshot_no INTEGER, end_snapshot_delta_time INTERVAL DEFAULT '5 min', ins_id TEXT DEFAULT '', comment TEXT DEFAULT '') RETURNS TEXT
SET
命令设置其参数值。表 1. 更多参数说明 参数 默认值 说明 polar_gawr_report.enable_role_ro off 同时打印RO节点的报告信息。 polar_gawr_report.log_full_error off 显示报告打印过程中完整的错误信息。 polar_gawr_report.log_error_sql off 显示与错误相关的SQL。 polar_gawr_report.log_timing off 显示输出报告过程中每一个查询SQL的耗时时间。 - 默认打印当前实例在begin_time到end_time之间的性能报告。
- 示例目前仅介绍使用psql客户端打印性能报告的方法。
- 基本模式:默认打印RW节点最近一小时的性能报告。
SELECT polar_gawr_report.make_report()
- 打印RW节点指定时间段报告。
SELECT polar_gawr_report.make_report(begin_time => '2021-08-12 19:00:00', end_time => '2021-08-12 19:30:00')"
- 打印RW节点和RO节点的报告信息:打印报告默认不带RO,需要通过参数显式打开。
SET polar_gawr_report.enable_role_ro='on'; SELECT polar_gawr_report.make_report()
- 基本模式:默认打印RW节点最近一小时的性能报告。
- 语法
- 查看Global AWR报告。使用Global AWR生成的报告为HTML文件,可以使用浏览器(建议使用Google Chrome)打开文件,或者开启一个HTTP服务远程访问此文件。简单的HTTP服务远程访问HTML文件方式如下:
# 在index.html所在目录下执行如下命令, 提供访问端口为7070的HTTP服务 nohup python -m SimpleHTTPServer 7070 &
连接Grafana查看实时数据
- 下载并安装Grafana。
详情请参见Download Grafana,建议使用8.1.2或以上版本。
- 添加数据源。
根据实际情况将PolarDB PostgreSQL版(兼容Oracle)数据库实例添加为PostgreSQL数据源。
- 打开Grafana,在左侧导航栏中单击Configuration > Data sources。
- 在打开的Data sources页面,单击右侧Add data source添加数据源。
- 导入Dashboard配置文件。
- 在左侧导航栏中单击+ > Import。
- 在打开的Import页面,单击Upload JSON file导入配置文件。说明 dashboard配置文件压缩包请参见dashboard配置文件。配置文件下载后解压缩即可使用。