ヘルプ データベース監視 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

トップ