PostgreSQL 監視ガイド
このドキュメントでは、PostgreSQLの監視方法とアラート設計を解説します。
目次
1. 監視の概要
1.1 監視の目的
┌──────────────────────────────────────────────────────────────┐
│ 監視の目的 │
├──────────────────────────────────────────────────────────────┤
│ │
│ 【可用性監視】 │
│ - PostgreSQLプロセスが稼働しているか │
│ - 接続を受け付けているか │
│ - レプリケーションが正常か │
│ │
│ 【パフォーマンス監視】 │
│ - クエリの応答時間 │
│ - スロークエリの発生 │
│ - ロック競合 │
│ │
│ 【リソース監視】 │
│ - ディスク使用量 │
│ - 接続数 │
│ - メモリ使用状況 │
│ │
│ 【キャパシティプランニング】 │
│ - データ増加傾向 │
│ - トランザクション数の推移 │
│ - リソース使用率のトレンド │
│ │
└──────────────── ──────────────────────────────────────────────┘
1.2 監視の設定
# postgresql.conf
# 統計情報収集を有効化
track_activities = on # pg_stat_activity
track_counts = on # pg_stat_*_tables, pg_stat_*_indexes
track_io_timing = on # I/O時間計測 (若干のオーバーヘッド)
track_wal_io_timing = on # WAL I/O時間計測
track_functions = all # 関数の統計 (none, pl, all)
# 統計情報の更新頻度
stats_fetch_consistency = cache # none, cache, snapshot