mcpField
D
database-observability

database-observability

github.com/grafanaクラウド・DevOps2954.3k 回インストール1 日前に更新
リポジトリ

database-observability について

MySQL と PostgreSQL を監視する Grafana Cloud Database Observability のスキルです。アプリケーションコードを変更せずにクエリ単位の性能データを取得し、トレース連携やアラートの設定にも役立ちます。

主な機能

  1. 01クエリ単位の RED メトリクス
  2. 02クエリサンプルと実行計画
  3. 03MySQL と PostgreSQL の監視
  4. 04APM トレース連携
  5. 05レイテンシ、エラー、飽和度のアラート

活用シーン

  1. 01高レイテンシや呼び出し頻度の高いクエリの特定
  2. 02SQL サンプルと実行計画の確認
  3. 03遅いサービススパンから該当 SQL への追跡
  4. 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.
  1. references/alloy-config.md § PostgreSQL の Alloy 設定ブロックを追加します
  2. Alloy を再起動し、最初のスクレイプまで約60秒待ちます
  3. 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.
  1. references/alloy-config.md § MySQL の Alloy 設定ブロックを追加します
  2. 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 はあらかじめインストールされていますが、無効になっています。パラメーターグループ/フラグで有効にしてから、DB レベルで拡張機能を再作成してください。

利用できる機能

  • クエリパフォーマンスダッシュボード(自動プロビジョニング):合計時間/呼び出し回数/平均レイテンシ別の上位クエリ、パラメーター付きのサンプリング済みクエリテキスト、視覚的な実行計画、クエリダイジェストごとの RED メトリクス
  • APM との相関付け:db.statement/db.system/db.name OTel 属性を使用して、レイテンシの高いサービスのスパンから、遅い SQL を特定できます。references/queries-alerts.md § Trace correlation を参照してください
  • クエリレイテンシ、エラー率、コネクションプールの飽和に対するアラート設定 — 完全なアラート YAML は references/queries-alerts.md § Alert rules を参照してください

参考資料

  • references/alloy-config.md — Alloy の database_observability.postgres/database_observability.mysql 設定ブロックの全容と、コレクターのリファレンス(pg_stat_statements、query_samples、schema_details、explain_plans)
  • references/queries-alerts.md — 主要な PromQL クエリ、アラートルール YAML、トレース相関の設定

コメント