ヘルプ データベース監視 PostgreSQLサーバー監視 PostgreSQLサーバーパフォーマンスメトリック

PostgreSQLサーバーパフォーマンスメトリック

接続、キャッシュヒットレート、取得および返答行、デッドロック数、トランザクション数、先行書き込みログ (WAL)メトリック、ロック数といったPostgreSQLサーバーメトリックを単一コンソールで監視します。

しきい値違反が発生した際に、アラートを送信するよう設定することができます。
自動化アクションを設定し、障害時に自動で実行することも可能です。

サポートしているメトリック   

メトリック名

説明

単位

概要

データベース

インスタンスに存在するデータベース数です。

バージョン

PostgreSQLデータベースのバージョンです。

文字列

アップ時間

PostgreSQLが起動してからの経過時間です。

日、時間、秒

アクティブ接続

現在クエリを実行している接続数です。

アイドル接続

新規クライアントコマンドを待機している接続数です。

接続

PostgreSQLサーバーに接続しているSQL接続のパーセンテージです。

パーセンテージ

キャッシュヒットレート

インスタンス全体のキャッシュから読み取られたブロックのパーセンテージです。
キャッシュヒットレート全体 = (ヒットブロック全体/(ブロックヒット全体 + ブロック読み取り全体)) * 100

パーセンテージ

バックエンドプロセス

インスタンスに接続している全体のバックエンドプロセス数です。

更新された全体の行

インスタンスで更新された行の合計です。

挿入された全体の行

インスタンスで挿入された行の合計です。

削除された全体の行

インスタンスで削除された行の合計です。

リソース使用率

アクセス排他ロック

現在のアクセス排他ロック数です。テーブルにアクセスするトランザクションのみ対象です。

DROP TABLE、TRUNCATE、REINDEX、CLUSTER、VACUUM FULL、REFRESH MATERIALIZED VIEW (CONCURRENTLYなし)コマンドにより取得されます。ALTER INDEX、ALTER TABLEといった形式も、ここで取得されます。
これは、モードを明示的に指定しないLOCK TABLEステートメントのデフォルトのロックモードです。

行排他ロック

現在の行排他ロック数です。
UPDATE、DELETE、INSERT、MERGEコマンドによりテーブル上のロックモードを取得します。

共有行排他ロック

現在の共有行排他ロック数です。
このモードは同時データ変更から保護し、自己排他的により1度に1回のセッションのみ保持します。
CREATE TRIGGERおよびALTER TABLEのいくつかの形式で取得されます。

共有更新排他ロック

現在の共有更新排他ロック数です。
VACUUM(FULLなし)、ANALYZE、CREATE INDEX CONCURRENTLY、CREATE STATISTICS、COMMENT ON、REINDEX CONCURRENTLY、ALTER INDEX、ALTER TABLE変数で取得されます。

アクセス共有ロック

現在のアクセス共有ロック数です。
テーブルの読み取りクエリかつ修正を行わいロックモードが取得されます。

排他ロック

現在の排他ロック数です。
同時ACCESS SHAREロックなどが対象です。このロック モードを保持しているトランザクションと並行して進行できるのは、テーブルからの読み取りのみです。
REFRESH MATERIALIZED VIEW CONCURRENTLYで取得されます。

行共有ロック

現在の行共有ロック数です。
FOR UPDATE、FOR NO KEY UPDATE、FOR SHARE、FOR KEY SHAREオプションを指定したSELECTコマンドで全テーブルのロックを取得します。

共有ロック

現在の共有ロック数です。
同時データ変更を保護するモードです。CREATE INDEXで取得されます。

デッドロック

直近5分間で検知されたデッドロック数です。

Tempファイル

直近5分間のクエリで作成された一時ファイル数の合計です。

Tempバイト

直近5分間で一時ファイルに書き込まれたデータ量の合計です。

バイト

全体ブロック読み取り時間

バックエンドでデータファイルブロック読み取りに要した時間です。
PostgreSQLバージョン12以降では、track_io_timingのメトリックのみ有効で、そのほかは0と表示されます。

ミリ秒

全体ブロック書き込み時間

バックエンドでデータファイルブロック書き込みに要した時間です。
PostgreSQLバージョン12以降では、track_io_timingのメトリックのみ有効で、そのほかは0と表示されます。

ミリ秒

スループット

取得および返された行

返された行と取得された行のパーセンテージ
(取得された行数 / 返された行数)*100

パーセンテージ

コミットされた全体のトランザクション

コミットされたトランザクション数の合計です。

ロールバックされた全体のトランザクション

ロールバックされたトランザクション数の合計です。

全体のアクティブ時間

SQLステートメント実行に要した時間です。

ミリ秒

全体のアイドル時間

トランザクションのアイドリング時間です。

ミリ秒

自動バキューム操作使用率

バックエンドで実行されている自動バキュームプロセスの使用量です。
(自動バキューム使用率 = プロセス数 / 最大自動バキューム操作数)

 

パーセンテージ

複製チェックポイント

複製遅延

スタンドバイインスタンスでのみ計算されます。プライマリーからスタンドバイインスタンスに転送されたWALファイルの遅延です。

ミリ秒

衝突

復元の衝突により中断されたクエリ数です(スタンドバイインスタンスでのみ計算されます)。

バッファーチェックポイント

チェックポイントで書き込まれたバッファー数です。

バッファークリーン

バックグラウンド書き込みにより書き込まれたバッファー数です。

バックエンドバッファー

バックエンドで書き込まれたバッファー数です。

リクエストされたチェックポイント

リクエストされたチェックポイント数の合計です。

スケジュールされたチェックポイント

スケジュールされたチェックポイント数の合計です。

WALバイト

生成されたWALのバイト量の合計です。

バイト

WALファイル

WALディレクトリーのWALファイル数です。

アーカイブ数

アーカイブされたWALファイル数です。

失敗数

WALファイルのアーカイブに失敗した回数です。

データベース

データベース名

データベースの名前です。

テキスト

データベースサイズ

データベースのサイズです。

バイト

バックエンドプロセス数

データベースに接続されているバックエンドの合計です。

Tempバイト

クエリにより一時ファイルに書き込まれたデータ量の合計です。

バイト

キャッシュヒットレート

キャッシュから読み取られたブロックのパーセンテージです。
キャッシュヒットレート = (ブロックヒット / (ブロックヒット + ブロック読み取り)) * 100

パーセンテージ

挿入された行

クエリにより挿入された行数です。

クエリにより挿入された行数です。

削除された行

クエリにより削除された行数です。

更新された行

クエリにより更新された行数です。

デッドロック

データベースで検知されたデッドロック数です。

コミットされたトランザクション

データベース内でコミットされたトランザクション数です。

ロールバックされたトランザクション

データベース内でロールバックされたトランザクション数です。

関連ガイド

データベース監視:MySQL | MSSQL | MySQL NDBクラスター
サーバー監視:Linux | Windows

トップ