关于 database-observability
面向监控 MySQL 和 PostgreSQL 的 Grafana Cloud Database Observability 技能,无需更改应用代码即可获取查询级性能数据,并提供链路关联与告警指引。
主要功能
- 01查询级 RED 指标
- 02查询样本与执行计划
- 03监控 MySQL 和 PostgreSQL
- 04APM 链路关联
- 05延迟、错误及饱和度告警
适用场景
- 01查找延迟或调用次数较高的查询
- 02检查 SQL 样本和执行计划
- 03从慢服务链路追踪到对应 SQL
- 04针对错误或连接池饱和度设置告警
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ grafana/ skills --skill database-observability安装后在 Claude Code 中输入/database-observability确认已加载。
附带文件references/alloy-config.mdreferences/queries-alerts.md
详细介绍
Grafana Cloud 数据库可观测性
文档:https://grafana.com/docs/grafana-cloud/monitor-applications/database-observability/
无需更改应用程序代码,即可获取 MySQL 和 PostgreSQL 的查询级洞察(RED 指标、查询样本、执行计划)。自 2026 年 4 月起正式发布。
常见工作流
PostgreSQL 设置
-- 1. Enable pg_stat_statements (requires restart)
-- In postgresql.conf: shared_preload_libraries = 'pg_stat_statements'
-- Then restart PostgreSQL.
-- 2. Create a least-privilege monitoring user
CREATE USER grafana_monitoring WITH PASSWORD 'secret';
GRANT pg_monitor TO grafana_monitoring;
GRANT CONNECT ON DATABASE mydb TO grafana_monitoring;
-- 3. Enable the extension on each monitored DB
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
-- 4. Verify
SELECT count(*) FROM pg_stat_statements;
-- Should return >= 0 (not an error). If "relation does not exist": step 3 didn't run.
- 添加references/alloy-config.md § PostgreSQL中的 [Alloy 配置块]
- 重启 Alloy,并等待约 60 秒以完成首次抓取
- 在 Grafana Cloud 中验证 → Database Observability — 实例应显示出来,并包含非空的
db_query_total{db_instance="mydb"}序列。如果 2 分钟后仍为空:检查 Alloy 日志中是否有连接错误,然后重新验证 pg_stat_statements 权限。
MySQL 设置
-- 1. Create least-privilege monitoring user
CREATE USER 'grafana_monitoring'@'%' IDENTIFIED BY 'secret';
GRANT SELECT, PROCESS, REPLICATION CLIENT ON *.* TO 'grafana_monitoring'@'%';
GRANT SELECT ON performance_schema.* TO 'grafana_monitoring'@'%';
FLUSH PRIVILEGES;
-- 2. Verify performance_schema is enabled (default in MySQL 8+)
SELECT @@performance_schema;
-- Returns 1 → enabled. 0 → set performance_schema=ON in my.cnf + restart.
- 添加references/alloy-config.md § MySQL中的 [Alloy 配置块]
- 重启 Alloy,等待约 60 秒,然后在 Grafana Cloud → Database Observability 中验证实例是否显示
支持的数据库
| 数据库 | 变体 |
|---|---|
| MySQL | 自托管、RDS MySQL、Aurora MySQL、Cloud SQL MySQL、Azure Database for MySQL |
| PostgreSQL | 自托管、RDS PostgreSQL、Aurora PostgreSQL、Cloud SQL PostgreSQL、Azure Database for PostgreSQL |
对于托管数据库(RDS / Cloud SQL / Azure),pg_stat_statements 已预装但处于禁用状态 — 请通过参数组 / 标志启用,然后在数据库级别重新创建扩展。
可获得的功能
- 查询性能仪表板(自动配置):按总耗时 / 调用次数 / 平均延迟排列的热门查询、带参数的采样查询文本、可视化执行计划、每个查询摘要的 RED 指标
- APM 关联:从服务延迟较高的 span 深入查看具体的慢 SQL,使用
db.statement/db.system/db.nameOTel 属性 — 参见 references/queries-alerts.md § 跟踪关联 - 告警:针对查询延迟、错误率和连接池饱和进行告警 — 完整的告警 YAML 见 references/queries-alerts.md § 告警规则
参考资料
references/alloy-config.md— 完整的 Alloydatabase_observability.postgres/database_observability.mysql配置块及采集器参考(pg_stat_statements、query_samples、schema_details、explain_plans)references/queries-alerts.md— 关键 PromQL 查询、告警规则 YAML 和跟踪关联设置
评论
支持 Markdown