Grafana Cloud的PostgreSQL集成

PostgreSQL是一个免费的、开源的关系数据库管理系统(RDBMS),它强调可扩展性和SQL一致性。这种集成使Grafana代理能够将指标发送到Grafana Cloud,并提供有用的警报和预构建的仪表板,以帮助您监视和可视化它们。

Grafana Cloud的PostgreSQL集成使您能够监视重要的数据库性能指标,如缓存命中率和每秒查询次数。度量由代理集成

在开始之前

为了将指标发送到Grafana Cloud,您必须启用postgres_exports集成,以允许代理从配置的postgres服务器地址自动收集系统指标。有关更多信息,请参见postgres_exporter_config

为Grafana Cloud安装PostgreSQL

  1. 在Grafana Cloud实例中,单击集成和连接(闪电图标),然后搜索或导航到PostgreSQL瓷砖。

  2. 单击PostgreSQL贴图并单击安装集成

  3. 集成安装完成后,请按照配置细节页面设置Grafana Agent自动抓取并发送PostgreSQL指标到你的Grafana Cloud实例。

PostgreSQL集成的安装后配置

建议您为Grafana代理配置一个单独的用户,只给它监视节点所需的严格强制的安全特权。有关更多信息,请参见PostgreSQL服务器导出器文档

请注意您必须替换占位符data_source_names到要监视的Postgres服务器的地址。

下面的示例代理配置假设数据库名称为postgres,用户莱纳斯还有密码42岁的秘密

集成:postgres_exports: enabled: true data_source_names: - "postgresql://linus:42secret@localhost:5432/postgres?sslmode =禁用”

有关配置选项的完整说明,请参见postgres_exporter_config在Grafana Agent文档中。

指示板

Grafana Cloud的PostgreSQL集成安装了一个预构建的仪表板,允许您实时可视化重要的性能启发式。

Postgres仪表板示例

警报

警报 描述
PostgreSQLMaxConnectionsReached 紧急:实例已达到最大Postgres连接
PostgreSQLHighConnections 警告:实例的最大Postgres连接超过80%
PostgreSQLDown 关键:PostgreSQL没有处理查询
PostgreSQLSlowQueries 警告:PostgreSQL有大量的慢速查询
PostgreSQLQPS 警告:PostgreSQL查询每秒大于10,000个
PostgreSQLCacheHitRatio 警告:PostgreSQL低缓存命中率

由Grafana Cloud的PostgreSQL集成捕获的度量

集成提供的Grafana代理配置删除了Grafana代理postgres嵌入式导出器提供的所有指标。

通过运行以下命令,您可以看到这些指标的完整列表和描述:

curl http://:/integrations/ node_exports /metrics | sed -nr 's/# HELP ([a-zA-Z0-9_]+) (.*)$/\1 \2/p'

默认的PostgreSQL集成仪表板使用以下指标:

  • pg_settings_max_connections设置最大并发连接数。

  • pg_settings_superuser_reserved_connections设置超级用户保留的连接槽位数。

  • Pg_stat_activity_count处于此状态的连接数

  • Pg_stat_activity_max_tx_duration活动事务运行的最大持续时间(秒)

  • pg_stat_bgwriter_buffers_alloc已分配缓冲区的数量

  • pg_stat_bgwriter_buffers_backend后端直接写入缓冲区的数量

  • pg_stat_bgwriter_buffers_backend_fsync后端必须执行自己的fsync调用的次数(通常情况下后台写程序处理这些,即使后端自己写)

  • pg_stat_bgwriter_buffers_checkpoint检查点写入缓冲区的数量

  • pg_stat_bgwriter_buffers_clean后台写入缓冲区的个数

  • pg_stat_database_blks_hit磁盘块已经在缓冲缓存中找到的次数,因此不需要读(这只包括在PostgreSQL缓冲缓存中,不包括在操作系统的文件系统缓存中)

  • pg_stat_database_blks_read该数据库中读取的磁盘块的个数

  • pg_stat_database_conflicts由于与数据库恢复冲突而取消的查询的数量。(冲突只发生在备用服务器上;pg_stat_database_deadlocks在此数据库中检测到的死锁的数量

  • pg_stat_database_numbackends当前连接到该数据库的后端数量。这是该视图中唯一返回反映当前状态值的列;所有其他列返回自上次重置以来的累计值。

  • pg_stat_database_tup_deleted数据库中查询删除的行数

  • pg_stat_database_tup_fetch查询在该数据库中获取的行数

  • pg_stat_database_tup_inserted查询在数据库中插入的行数

  • pg_stat_database_tup_returned数据库查询返回的行数

  • pg_stat_database_tup_updated数据库中查询更新的行数

  • pg_stat_database_xact_commit该数据库中已提交事务的数量

  • pg_stat_database_xact_rollback此数据库中已回滚的事务数

  • pg_up最后一次从PostgreSQL获取的度量是否能够连接到服务器(1表示是,0表示否)。

成本

将PostgreSQL集成连接到Grafana Cloud可能会产生费用。有关更多信息,请使用以下链接:

有关增加Grafana Cloud帐户用于每个云层中包含的指标的活动系列的数量,请参见活动系列和dpm使用而且云层定价

视频