Viewing system reports
======================

PEM 10.5では、 **管理>レポート**
にアラート履歴レポートのみが表示されます。システム構成レポートとコア使用状況レポートは、
**管理>レポート>管理レポートテンプレート**
の下でシステム定義のテンプレートとして利用できるようになりました。

``superuser`` または\ ``pem_admin``
ロールを持つユーザーのみがシステム構成またはコア使用率レポートをダウンロードできます。

これらのレポートの情報は、最新のプローブランタイムを示しています。

システム定義のレポートテンプレート
----------------------------------

PEMでは、レポートを完全にカスタマイズできますが、データベースの詳細な分析用に設計された事前構成されたシステムレポートテンプレートも含まれています。これらのレポートはプラットフォームに組み込まれており、手動テンプレート構成を必要とせずにすぐに値を提供します。

サーバーダウンタイムレポート
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

サーバーダウンタイムレポートは、監視対象のPostgreSQLサーバーからのハートビートギャップを追跡することにより、サーバーの可用性とダウンタイムの分析を提供します。計画的なダウンタイムブラックアウト期間と計画外のダウンタイムを区別し、過去30日間の各サーバーの可用性の割合を計算します。

**可用性**
は、計画外のダウンタイムのみ\ ``1 - (Unplanned Downtime / Total Time)``
から計算されます。ブラックアウト期間中の計画的なダウンタイムは、可用性の計算に影響を与えません。

レポートは、PEM
10.5にアップグレードすると、自動的にデータの収集を開始します。手動設定は必要なく、無効にすることはできません。

..  Note::
   このレポートを実行するには、ターゲットサーバーのエージェントサーバーバインディングASBユーザーに`pem_user` ロールが必要です。これは最も一般的なセットアップの問題です。以下の :ref:`オブジェクト権限 <オブジェクト権限>` を参照してください。

レポートへのアクセス
^^^^^^^^^^^^^^^^^^^^

サーバーダウンタイムレポートを実行するには、次のいずれかの方法を使用します。

**実行レポートを使用する**

1. ブラウザツリーで、サーバーを選択します。

2. 右クリックして[ **Run Reports** ]を選択します。

3. **Report** ドロップダウンで、 **Server Downtime Report**
   を選択します。

4. データベースドロップダウンで、データベースを選択します。

5. **Run** を選択します。

**スケジュールされたジョブを使用する**

1. オブジェクトツリーで、エージェントを選択して右クリックし、 **Create
   Job** を選択します。

2. ジョブ名を指定し、 **Steps** タブに移動します。

3. ステップ名を指定し、 **Kind** を **Report**
   に設定し、レポート、サーバー、およびデータベースを選択します。

4. オプションでスケジュールを構成し、ジョブを保存します。

5. ジョブを右クリックし、 **Run Now** を選択します。

レポート出力を表示またはエクスポートするには、 **Management > Reports >
Report Execution History** に移動します。

レポートセクション
^^^^^^^^^^^^^^^^^^

レポートには3つのセクションが含まれています。

**概要メトリック**

すべての監視対象サーバーの概要を提供します。

- **監視対象サーバーの合計** -
  過去30日間のダウンタイムデータを持つ一意のサーバーの数。

- **平均可用性の割合** - すべての監視対象サーバーの平均可用性。

- **合計ダウンタイム時間** -
  すべてのサーバーにわたるすべてのダウンタイム計画および計画外の合計。

- **計画外のダウンタイムの合計時間** -
  ブラックアウト期間以外で発生したダウンタイムの合計。

- **計画的なダウンタイムの合計時間** -
  ブラックアウト期間に発生したダウンタイムの合計。

**サーバーの可用性の詳細**

サーバーごとの内訳を表示し、可用性の割合の昇順で並べ替えますワーストパフォーマーを最初に表示します。

- **サーバー名** - 監視対象サーバーのホスト名またはIPアドレス。

- **サーバーの説明** - ユーザー定義の説明。

- **可用性pct** - ``1 - (Unplanned Downtime / Total Time)``
  として計算されます。

- **合計時間** - 合計ダウンタイム計画および計画外。

- **計画外の時間** - ブラックアウト期間以外のダウンタイム。

- **計画時間** - 停電期間中のダウンタイム。

- **データベースカウント** - サーバー上の非システムデータベースの数。

**ワーストパフォーマートップ10**

過去30日間で可用性が最も低い10サーバーを表示します。サーバー可用性の詳細セクションと同じ列を使用します。このセクションを使用して、注意が必要なサーバーをすばやく特定します。

構成パラメーター
^^^^^^^^^^^^^^^^

``pem_admin`` ロールを持つユーザーは、 **サーバー構成**
でこれらのパラメーターを調整できます。

.. csv-table::
  :header: Parameter,Default,Description
  :widths: 12,15,25
  :align: left
  :class: longtable

  `downtime_retention_days`,30,保持するダウンタイム履歴の日数。古いデータは1日2回自動的にパージされます。この値を減らすと、ストレージの使用量は削減されますが、履歴傾向分析が制限されます。
  `downtime_heartbeat_gap_seconds`,60,PEMがダウンタイムイベントを記録するまでのハートビート間の最小ギャップ秒単位。この値を増やして、高遅延のネットワーク環境での誤検出を減らします。

アクセス許可
^^^^^^^^^^^^

レポートは、各ターゲットサーバーのASBユーザーを使用して実行されます。レポート機能を実行するには、そのユーザーに\ ``pem_user``
ロールが必要です。

ロールを付与するには、スーパーユーザーとしてPEMデータベースに接続し、実行します。

.. code:: sql

   GRANT pem_user TO <asb_username>;

制限事項
^^^^^^^^

- **ダウンタイムの原因は不明です** -
  レポートでは、サーバーのダウン、PEMエージェントのダウン、ネットワークパーティション、またはファイアウォールの問題を区別できません。しきい値を超えるすべてのハートビートギャップは、サーバーのダウンタイムとして記録されます。計画的なメンテナンスにブラックアウト期間を使用して、このデータの意味を維持します。

- **短期間の停止はキャプチャされません** -
  最小検出可能なダウンタイムは、ハートビートギャップしきい値デフォルト60秒とほぼ同じです。この期間よりも短い停止はレポートに表示されません。

- **アップグレード前の履歴なし** - このレポートは、PEM
  10.5以降へのアップグレード時点からのダウンタイムのみを追跡します。以前のPEMバージョンの履歴データはありません。完全なレポートウィンドウには、アップグレード後最大30日かかります。

- **高遅延ネットワーク** -
  高遅延環境では、通常のハートビート遅延が60秒の検出しきい値を超え、誤ったダウンタイムイベントを生成する場合があります。正常なサーバーで予期しないダウンタイムが発生した場合は、\ ``downtime_heartbeat_gap_seconds``
  を90〜120秒に増加します。

- **ブラックアウトデータの依存関係** -
  計画的なダウンタイムの分類には、PEMにブラックアウト期間が存在し、「プロセスアラートブラックアウト」ジョブが有効になって実行されている必要があります。ブラックアウトデータが利用できない場合、すべてのダウンタイムは計画外として分類され、可用性の割合は実際より低くなります。

- **30日のデフォルトウィンドウ** -
  デフォルトでは、過去30日のデータのみを利用できます。
  ``downtime_retention_days``
  を増やすとデータの保持期間が延長されますが、レポートには常に最新の30日のみが表示されます。

- **ハードコードされた30日のサーバー可用性ウィンドウ** -
  レポートは、過去30日間のサーバー可用性データのみを取得するようにハードコードされています。より長いレポート期間が必要な場合は、カスタムレポートテンプレートを作成します。

EDB PostgresワークロードレポートPWR
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

EDB
PostgresワークロードレポートPWRは、特定のスナップショット期間におけるサーバーのパフォーマンスとリソース使用率の包括的な概要を提供します。これは、ボトルネック、高負荷のSQLステートメント、および待機イベントを特定するために重要なツールです。

..  Note::
   このレポートテンプレートを実行するには、 `edb_wait_states` 拡張機能がターゲットデータベースにインストールされ有効になっていることを確認します。

サーバー情報
^^^^^^^^^^^^

サーバーバージョンに関する情報を表示します。

- **サーバーバージョン** - Postgresサーバーのバージョン番号。

- **アーキテクチャ** - サーバーが構築されるハードウェアアーキテクチャ。

- **システム識別子** - データベースクラスターの一意の識別子。

- **Redwoodモード** - クラスターがRedwood
  Oracle互換性モードで作成されたかどうかを示します。

- **現在のユーザー** - レポートを生成したユーザー。

- **実際の開始/終了スナップタイムスタンプ** -
  データ収集の開始と終了をマークする正確なタイムスタンプ。

- **スナップショットの継続時間** -
  スナップショット中に経過した合計時間。

レポートのタイムスタンプに関する情報を表示します。

- **Session counts** -
  スナップショットの開始と終了の両方で接続されたセッションの数。

- **データベース時間** -
  すべてのセッションがデータベースでの作業または待機に費やした非アイドル時間の合計秒単位。

- **Uptime** - 最後にサーバーを再起動してから費やされた合計時間。

- **Role** -
  サーバーがプライマリインスタンスかスタンバイインスタンスかを示します。

ロードプロファイル
^^^^^^^^^^^^^^^^^^

トランザクションごとの平均負荷プロファイルを示します。

- **Blocks fetched** -
  トランザクションごとにアクセスされたブロックの平均数。

- **WAL records/bytes** -
  トランザクションごとに生成された先行書き込みログレコードとバイトの平均数。

- **Transactions** -
  スナップショット中に処理されたトランザクションの合計数。

- **Abort rate** - アボートが発生したトランザクションの割合。

トップの待機イベント
^^^^^^^^^^^^^^^^^^^^

トップのイベントで費やされた合計待機時間秒単位で表示されます。

- **待機イベント** - 特定の待機イベントの名前。 ( **CPU**
  は、アクティブな作業に費やされた時間を示します)。

- **Wait class** - 待機イベントのカテゴリまたはタイプ。

- **待機時間** - このイベントに費やされた秒単位の合計時間。

- **Pctデータベース時間** -
  このイベントタイプの待機に費やされた合計\ ``Dbtime`` の割合。

上位のSQLステートメント
^^^^^^^^^^^^^^^^^^^^^^^

``dbtime`` でソートされた上位10のSQLステートメントを表示します。

- **データベース時間** -
  SQLステートメントの実行中に消費された累積データベース時間秒単位。

- **待機時間** -
  SQLステートメントがシステムリソースまたはバックグラウンドイベントの待機に費やした合計時間。

- **CPU時間** - SQLステートメントによって使用されたCPU処理時間の合計量。

- **最上位の待機イベント** -
  ステートメントが最長の遅延を発生した特定の待機イベント識別子。

- **Query** - 実行されたクエリの実際のSQLテキスト。

トランザクション統計
^^^^^^^^^^^^^^^^^^^^

スナップショット期間中のトランザクション統計を表示します。

- **Xact commit** - 正常に完了および保存されたトランザクションの合計数。

- **Xact rollback** -
  取り消されたまたは中止されたトランザクションの合計数。

WAL統計
^^^^^^^

スナップショット期間中のWALレコードの変更に関する統計を表示します。

- **Wal records** -
  スナップショット中に生成された個々のWALレコードの合計数。

- **Wal fpi** -
  作成されたフルページ画像FPIの数。これらは、チェックポイントに続いてページが最初に変更された後に発生し、WALボリュームが大幅に増加する可能性があります。

- **Wal bytes** -
  生成されたすべてのWALデータの合計サイズ、バイト単位で測定されます。

共有バッファーの統計
^^^^^^^^^^^^^^^^^^^^

スナップショット期間中の共有バッファの統計を表示します。

- **Blocks read** - 読み取られたディスクブロックの合計数。

- **Blocks hit** - ヒットしたブロックの合計数。

タプルの統計
^^^^^^^^^^^^

スナップショット期間中のタプルに関する統計を表示します。

- **返されたタプル** - シークエンシャル スキャンによって返された行数。

- **Tuples fetched** -
  特にインデックススキャンを介して取得された行の数。

- **挿入されたタプル** - データベースに追加された新しい行の合計数。

- **タプルが更新されました** - 変更された既存の行の合計数。

- **削除されたタプル** - データベースから削除された行の合計数。

一時ファイルの統計
^^^^^^^^^^^^^^^^^^

一時ファイルの作成に関する統計を表示します。

- **Temp files** - 作成された一時ファイルの数。

- **Temp bytes** - 一時ファイルに書き込まれたデータの合計ボリューム。

ユーザーセッション情報
^^^^^^^^^^^^^^^^^^^^^^

スナップショット期間中に接続/実行されているセッション情報

- **セッションID** - ``edb_wait_states``
  によって特定のPostgresセッションに割り当てられた一意のID。

- **データベース名** - セッションが現在接続しているデータベースの名前。

- **Username** - セッションにログインしたデータベースユーザーのID。

- **アプリケーション名** -
  このセッションに接続しているアプリケーションまたはクライアントツールの名前
  ``psql`` 、\ ``pgAdmin`` 、またはカスタムアプリサービスなど。

- **Client hostname** -
  接続されたクライアントのネットワークホスト名、接続の起点を提供します使用可能な場合。

- **セッション開始タイムスタンプ** -
  セッションが最初に確立されたときの正確な日時。

システム情報
^^^^^^^^^^^^

サーバーマシンのCPUとメモリ情報を表示します。

- **ホスト名** - Postgresが実行されているマシンのネットワーク名。

- **CPU情報** - プロセッサーの数、ベンダー、クロック速度を含む詳細。

- **メモリ情報** - ホストの合計メモリ情報。

Postgresデータベース設定
^^^^^^^^^^^^^^^^^^^^^^^^

Postgresデータベースの設定を示します。

- **Category** - パラメーターの論理機能グループ。

- **パラメーター** -
  カテゴリ内の設定の名前と現在の値。強調表示されたエントリは、カスタム値を含むパラメーターを示します。

- **Value** - 指定されたパラメーターの現在の操作設定。

- **Is custom value** -
  パラメーターがデフォルト値から変更されたかどうかを示すフラグ。

コア使用率レポート
^^^^^^^^^^^^^^^^^^

コア使用率レポートは、すべての監視対象データベースサーバー、エージェント、およびグループにわたるCPUコア割り当ての包括的なビューを提供します。キャパシティプランニング、ライセンスコンプライアンス追跡、およびインフラストラクチャ監査に使用します。
``superuser`` または\ ``pem_admin``
ロールを持つユーザーのみがこのレポートを実行できます。

..  Note::
   PEM 10.5では、このレポートの名前が**PEMコア使用レポート**から**コア使用レポート**に変更され、[レポートテンプレートの管理]に移動されました。既存のインストールは、アップグレード中に自動的に移行されます。手動アクションは必要ありません。

.. _レポートへのアクセス-1:

レポートへのアクセス
^^^^^^^^^^^^^^^^^^^^

コア使用率レポートを実行するには、次のいずれかの方法を使用します。

**実行レポートを使用する**

1. ブラウザツリーで、サーバーを選択します。

2. 右クリックして[ **Run Reports** ]を選択します。

3. **レポート** ドロップダウンで、 **コア使用状況レポート**
   を選択します。

4. データベースドロップダウンで、PEMデータベースを選択します。

5. **Run** を選択します。

**スケジュールされたジョブを使用する**

1. オブジェクトツリーで、エージェントを選択して右クリックし、 **Create
   Job** を選択します。

2. ジョブ名を指定し、 **Steps** タブに移動します。

3. ステップ名を指定し、 **Kind** を **Report**
   に設定し、レポート、サーバー、およびデータベースを選択します。

4. オプションでスケジュールを構成し、ジョブを保存します。

5. ジョブを右クリックし、 **Run Now** を選択します。

レポート出力を表示またはエクスポートするには、 **Management > Reports >
Report Execution History** に移動します。

.. _レポートセクション-1:

レポートセクション
^^^^^^^^^^^^^^^^^^

レポートには2つのセクションが含まれています。

**コアサマリー**

監視対象インフラ全体の高レベルの統計を提供します。

- **合計CPUコア** -
  ローカルに管理されているサーバー全体のすべてのCPUコアの集計数。リモート管理サーバーは、エージェントデータを利用できないため、除外します。

- **サーバータイプ別コア** -
  データベースエンジンごとに内訳されたコア分布EDB Postgres Advanced
  Server、 EDB Postgres Extended 2ndQPG、およびPostgreSQL。

- **データベースバージョン別のコア** -
  特定のデータベースバージョンごとにグループ化されたコア数たとえば、「PostgreSQL
  16」、「EPAS 15」、または「2ndQ PostgreSQL 14」。

- **プラットフォーム別のコア** - Linux、
  Windows、macOS、およびその他のUnixバリアントを含むオペレーティングシステム間のディストリビューション。プラットフォームごとのサーバー数とコア数を表示します。

- **グループ別のコア** -
  組織グループ別のコア割り当て。ユーザー固有のグループ名を尊重して、非表示グループをオーバーライドおよび除外します。

**サーバーコアの概要**

管理タイプごとに編成されたサーバーレベルの詳細情報

- **ローカル管理サーバー** -
  PEMエージェントにバインドされたサーバー。サーバー名、ホストとポート、サーバータイプ、PGDステータスとバージョン、プラットフォーム、CPUコア、合計RAM
  MB、およびメモリ使用率を表示します。

- **リモート管理サーバー** -
  エージェントを使用せずにリモートで監視されるサーバー。サーバー名、ホストとポート、サーバータイプ、およびPGDのステータスとバージョンを表示します。これらのサーバーは、CPUとメモリデータを利用できません。

- **非管理対象サーバー** -
  PEMに登録されていますが、エージェントにバインドされていないサーバー。サーバー名、ホストとポート、およびPGDのステータスとバージョンを表示します。

システム構成レポート
^^^^^^^^^^^^^^^^^^^^

システム構成レポートは、ブラウザツリーの下にリストされているPEMエージェントグループ、PEMサーバーディレクトリグループ、およびカスタムグループに関する詳細情報を提供します。これらのグループには、PEMサーバー、PEMエージェント、およびデータベースサーバーを含めることができます。
``superuser`` または\ ``pem_admin``
ロールを持つユーザーのみがこのレポートを実行できます。

システム構成レポートを実行するには、次のいずれかの方法を使用します。

**実行レポートを使用する**

1. ブラウザツリーで、PEM Serverノードを選択します。

2. 右クリックして[ **Run Reports** ]を選択します。

3. **Report** ドロップダウンで、 **System Configuration Report**
   を選択します。

4. データベースドロップダウンで、PEMデータベースを選択します。

5. **Run** を選択します。

**スケジュールされたジョブを使用する**

1. オブジェクトツリーで、エージェントを選択して右クリックし、 **Create
   Job** を選択します。

2. ジョブ名を指定し、 **Steps** タブに移動します。

3. ステップ名を指定し、 **Kind** を **Report**
   に設定し、レポート、サーバー、およびデータベースを選択します。

4. オプションでスケジュールを構成し、ジョブを保存します。

5. ジョブを右クリックし、 **Run Now** を選択します。

出力を表示またはダウンロードするには、 **Management > Reports > Report
Execution History** に移動し、リストでレポートを見つけて、 **Download
Report** 列で **HTML** または **JSON** を選択します。

.. _レポートセクション-2:

レポートセクション
^^^^^^^^^^^^^^^^^^

レポートには7つのセクションが含まれています。

**Postgres Enterprise Managerの概要**

PEMバックエンドに関する詳細を提供します。

- Postgres Enterprise Managerバックエンドデータベースサーバーバージョン

- アプリケーションバージョン

- アプリケーションにアクセスするユーザー名

- プラットフォーム固有の情報

**概要**

システムに登録されているPEMエージェントと監視対象サーバーの合計数を提供します。

**モニタリングの概要**

監視ワークロードのリアルタイムのスナップショットを提供します。

- 有効になったアラートの数

- 1時間ごとのアラート評価

- 1時間あたりのプローブ実行数

- 過去24時間のアクティブなエージェント

- 過去24時間のアクティブサーバー

**アラート評価情報**

アラート処理パフォーマンスに関する統計を提供します。

- アラート処理時間メトリック最大、最小、平均、p50、p90、p95、およびp99

- アクティブなエージェントアラート設定 —
  SMTP、SNMP、およびWebhook通知が有効になっているエージェントの数

- 遅延アラート —
  スケジュールされた評価時間より遅れて実行されている上位50のアラート

**サーバー情報**

各監視対象データベースサーバとそのオブジェクト数に関する詳細を提供します。

- データベースサーバーバージョン

- ホスト

- ポート

- データベース名

- データベースのサイズ

- テーブル領域のサイズ

- オブジェクト数
  データベース、スキーマ、テーブル、インデックス、ビュー、ファンクション、拡張機能、外部キー、シーケンス、テーブルスペース

- スキーマごとのテーブルインデックスの概要

グループサーバー名は、サーバーが追加されるグループ名によって異なります。

**エージェント情報**

PEMエージェント、CPUコア、ディスク使用率、およびメモリ情報の詳細を提供します。

**サイズ情報**

キャパシティプランニングをサポートするデータを提供します。

- オブジェクトカタログの概要 -
  エージェント、サーバー、データベース、スキーマ、テーブル、インデックスの数

- ``pem`` 、\ ``pemdata`` 、および\ ``pemhistory``
  スキーマのPEM内部テーブルサイズ

アラート履歴レポート
--------------------

Alert
Historyレポートは、エージェントまたはサーバーレベルでのアラート履歴に関する詳細情報をJSON形式で提供します。

**管理>レポート>アラート履歴レポート**
を選択します。ダイアログボックスから、オプションを選択します。

- **Agent/Server Name** - リストからエージェントとサーバーを選択します。
  **Overall System Report**
  オプションは、すべての登録済みおよびアクティブなエージェントとサーバーのレポートを生成するために使用できます。

- **タイムフレーム** - リストから必要なタイムフレームを選択します。

- **Alert Types** -
  アラート履歴レポートを生成するアラートタイプを選択します。
