ログマネージャー

PEM Log Managerを使用して、Postgresインスタンスのサーバーログ構成を簡素化できます。ログマネージャーを使用すると、クリックするだけですべてのサーバーログパラメーターを変更できます。

  • ログファイルが書き込まれる場所
  • ログファイルが書き込まれる頻度
  • ログファイルに書き込まれる情報の種類
  • ログファイルエントリの形式
  • ログローテーションプロパティ

Postgresインスタンスのロギングを構成するには、サーバーをPEM管理サーバーとして登録し、登録情報にサービススクリプトの名前を含める必要があります。

Log Managerを開くには、PEMクライアントの[ Management ]メニューからLog Manager... ]オプションを選択します。ウィザードが開き、ログマネージャーが表示されます。

ログマネージャーのようこそダイアログ

ログマネージャーのようこそダイアログ

[ Nextをクリックして、[ Server selection ]ダイアログに進みServer selection 。

Log Managerサーバー選択ダイアログ

Log Managerサーバー選択ダイアログ

Server selectionダイアログには、PEMによって監視されているサーバー接続のリストが表示されます。 Log Managerウィザードが指定された構成を適用するサーバーの名前の横にあるチェックボックスをオンにします。 Log Managerは、サーバー選択ツリーコントロールで名前の左側に赤い感嘆符が表示されているサーバーでは無効になっています。サーバーが有効にされない理由はいくつかあります。

  • [ Properties ]ダイアログの[ Advanced ]タブでService IDを指定するサーバーのみがLog Managerで設定できます。

    サービスIDを提供するには、ツリーコントロールでサーバー名を右クリックし、コンテキストメニューから[ Disconnect Serverを選択します。プロンプトが表示されたら、パスワードを入力します。次に、サーバーのコンテキストメニューを開き、[ Properties ]を選択しProperties 。 [ Advanced ]タブに移動し、[ Service IDフィールドにサービスの名前を入力します。 [ Save ]をクリックして変更を保存し、ダイアログを終了します。

  • サーバーにバインドされたPEMエージェントにサーバーを再起動するための十分な権限がない場合、サーバーは無効になります。

  • サーバーにバインドされたPEMエージェントが、関連付けられたPEMサーバーよりも古いバージョンの場合、サーバーは無効になります。

``Nextへ``Nextクリックして続行します。

Log Managerのログ設定ダイアログ

Log Managerのログ設定ダイアログ

[ Log configuration ]ダイアログのオプションを使用して、ログファイルをPEMにインポートする頻度を指定し、ログローテーションの詳細を指定します。

[ Import LogsのImport Logsボックス内のオプションは、ログファイルがPEMにインポートされる頻度を指定します。

  • 隣のスイッチを使用しImport logs to PEMログファイルは、PEMにインポートし、サーバのログ分析のダッシュボードに表示される場合は指定したラベル。
  • [ Import Frequencyドロップダウンリストボックスを使用して、ログファイルをPEMにImport Frequencyを指定します。

Log rotation configurationボックスのフィールドを使用して、ログファイルの最大長(寿命またはサイズ)を指定します。

  • [ Rotation Sizeフィールドを使用して、個々のログファイルの最大サイズをメガバイト単位で指定します。デフォルト値は10 MBです。 0に設定すると、ログファイルの最大サイズに制限はありません。
  • [ Rotation Timeフィールドを使用して、各ログファイルに保存する日数を指定します。デフォルト値は1日です。

使用Truncation on Rotation時間ベースのログファイルのローテーションのためのサーバーの動作を指定するためのスイッチ:

  • [オン]を選択して、サーバーが新しいファイルと同じ名前を持つ既存のログファイルを上書きするように指定します。
  • [オフ]を選択すると、サーバーは、新しいログファイルが取得するのと同じ名前の既存のログファイルに新しいログファイルエントリを追加します。これがデフォルトの動作です。

[ Nextをクリックして続行します。

[ログの保存場所]ダイアログ

[ログの保存場所]ダイアログ

上のフィールドを使用Where to 、ログファイルが書き込まれる場所を指定するダイアログをログに記録します。

  • Log ``Destinationボックスからオプションを選択して、サーバーログ出力の宛先を指定します。
    • stderrスイッチをYesに設定して、ログファイルをstderrに書き込むことを指定します。
    • csvlogスイッチをYesに設定して、ログファイルをコンマ区切り値形式でファイルに書き込むように指定します。 [スケジュール]ダイアログで[ログをPEMにインポート]を選択した場合、このオプションは自動的に有効になります(編集できなくなります)。サーバーログファイルをPEMにインポートしない場合、このオプションは編集可能です。
    • syslogスイッチをYesに設定して、ログファイルをシステムログファイルに書き込むように指定します。
    • Windowsでは、設定eventlog 、ログファイルは、イベントログに書き込まれるように指定するには、Yesにスイッチを。
  • Log collectionボックス内のオプションを使用して、収集設定を指定します。
    • Log Collectorスイッチを[有効Log Collector設定して、キャプチャされたログメッセージ(STDERRにリダイレクトされる)をログファイルにリダイレクトするようにサーバーに指示します。
    • Log Silent ModeスイッチをEnableに設定して、バックグラウンドでサイレントに実行し、制御端末との関連付けを解除するようサーバーに指示します。
  • Log Directoryボックスのオプションを使用して、ログファイルの場所の設定を指定します。
    • Change log directory for selected servers?設定しChange log directory for selected servers? [はい]に切り替えて、ログファイルの各セットを個別のディレクトリに保持するように指定します。
    • [ Directory nameフィールドを使用して、ログファイルが書き込まれるディレクトリを指定します。このディレクトリは、監視対象サーバーのインストールディレクトリの下のpg_logディレクトリの下にあります。
  • Log File Nameフィールドを使用して、 Log File Nameの形式を指定します。 DEFAULTに設定されている場合、形式はenterprisedb-%Y-%m-%d_%H%M%S 。ここで、
    • enterprisedbはファイル名のプレフィックスです
    • Yはログが保存された年です
    • mはログが保存された月です
    • dはログが保存された日です
    • Hはログが保存された時間です
    • Mはログが保存された分です
    • Sはログが保存された秒です

syslogへのロギングが有効な場合:

  • [ Syslog Facilityドロップダウンリストボックスを使用して、使用するSyslog Facilityを指定します。
  • Syslog Identフィールドを使用して、システムログ内のAdvanced Serverエントリを識別するプログラム名を指定します。

[ Nextをクリックして続行します。

ログマネージャ[いつログを記録する]ダイアログ

ログマネージャ[いつログを記録する]ダイアログ

上のフィールドを使用するWhen to logにダイアログを ログファイルエントリを開始するイベントを指定します。重大度レベル(重大度の順に、最も重大度の高いものから最も低いもの)は次のとおりです。

  • panic -すべてのデータベースセッションを中断させるエラー。
  • fatalセッションを中断させるエラー。
  • log管理者が関心を持つ情報メッセージ。
  • error -コマンドが中断したりしたエラー。
  • warning -コマンドは完了するが、期待どおりに実行されない可能性があるエラー条件。
  • notice -ユーザーが関心を持つ項目。これがデフォルトです。
  • infoユーザーが暗黙的に要求する情報。
  • debug5てdebug1 -開発者に役立つ詳細なデバッグ情報。
  • [ Client min messagesドロップダウンリストボックスを使用して、クライアントアプリケーションに送信されるメッセージの最低の重大度レベルを指定します。
  • Log min messagesドロップダウンリストボックスを使用して、サーバーログに書き込まれる最低の重大度レベルを指定します。
  • デフォルトでは、エラーメッセージがサーバーログに書き込まれるとき、ログエントリを開始したSQLステートメントのテキストは含まれません。 Log min error statementドロップダウンリストボックスを使用して、SQLステートメントのロギングをトリガーする重大度レベルを指定します。指定された重大度以上のメッセージの場合、メッセージを生成したSQLステートメントがサーバーログに書き込まれます。
  • Log min duration statementのLog min duration statementドロップダウンリストボックスを使用して、ステートメント期間(ミリ秒単位)を指定します。指定されたミリ秒数を超えるステートメントは、サーバーログに書き込まれます。値-1は、期間ベースのロギングをすべて無効にします。値が0の場合、すべてのステートメントとその期間が記録されます。
  • Log temp filesフィールドを使用して、キロバイト単位でファイルサイズを指定します。一時ファイルが指定されたサイズに達すると、ログに記録されます。値-1(デフォルト)は、この機能を無効にします。
  • Log autoVacuum min durationフィールドを使用して、時間の長さをミリ秒単位で指定します。自動バキュームが指定された時間を超えると、アクティビティがログに記録されます。値-1(デフォルト)は、この機能を無効にします。

[ Nextをクリックして続行します。

ログマネージャの[ログの対象]ダイアログ

ログマネージャの[ログの対象]ダイアログ

上のフィールドを使用しWhat to 、デバッグおよび監査に役立つエントリーのオプションを指定するログダイアログをログに記録します。

[ Debug optionsボックスのスイッチは、クエリの実行に関連するログファイルに、開発者が関心を持つ可能性のある情報を含めるようにサーバーに指示します。

  • Parse treeスイッチを[はい]に設定して、ログファイルに解析ツリーを含めるようにサーバーに指示します。
  • Rewriter outputスイッチをYesに設定して、ログファイルにクエリRewriter outputを含めるようにサーバーに指示します。
  • [ Execution planスイッチを[はい]に設定して、ログファイルに実行された各クエリの実行計画を含めるようサーバーに指示します。

ときIndent Debug Options Output in Logスイッチに設定されてYes 、サーバーのインデント解析ツリーエントリ、問い合わせ書き換えエントリまたはクエリ実行プランのエントリを含む各ライン。インデントにより、生成されるログファイルが読みやすくなりますが、ログファイルが長くなります。

[ General Optionsボックスのスイッチを使用して、ログファイルに監査情報を含めるようにサーバーに指示します。

  • サーバーログにチェックポイントとリスタートポイントを含めるには、 Checkpointsスイッチを「はい」に設定します。
  • [ Connectionsスイッチを[はい]に設定して、サーバーへの接続の試行(および正常に認証された接続)をサーバーログに含めます。
  • [ Disconnectionsスイッチを[はい]に設定して、セッション情報とセッション期間を提供する終了した各セッションのサーバーログエントリを含めます。
  • DurationログをYesに設定して、ログに記録された各ステートメントの実行に必要な時間をサーバーログに含めます。
  • [ Hostnameスイッチを[はい]に設定して、各サーバーログエントリにIPアドレスとホスト名の両方を含めます(デフォルトでは、IPアドレスのみが記録されます)。これによりパフォーマンスが低下する可能性があることに注意してください。
  • Lock Waitsを取得するためにdeadlock_timeoutパラメーターで指定された時間よりも長く待機するセッションのログエントリを書き込むようにサーバーに指示するには、 Lock WaitsスイッチをYesに設定します。これは、ロック待機がパフォーマンス低下の原因であるかどうかを判断するときに役立ちます。

[ Error verbosityドロップダウンリストボックスを使用して、サーバーログの各エントリに書き込まれる詳細を指定します。

  • デフォルトを選択すると、各サーバーのログエントリにエラーメッセージ、DETAIL、HINT、QUERY、およびCONTEXTが含まれます。
  • エラーメッセージのみを記録するには、簡潔を選択します。
  • エラーメッセージ、DETAIL、HINT、QUERYおよびCONTEXTエラー情報、SQLSTATEエラーコードとソースコードファイル名、関数名、およびエラーを生成した行番号を含めるには、詳細を選択します。

[ Prefix stringフィールドを使用して、各ログファイルエントリの先頭に書き込まれるprintfスタイルの文字列を指定します。サポートされるオプションについては、log_line_prefixドキュメント(Postgresコアドキュメント内)を参照してください。

http://www.postgresql.org/docs/current/static/runtime-config-logging.html

[ Statementsドロップダウンリストボックスを使用して、サーバーログに含めるSQLステートメントを指定します。デフォルトはnoneです。有効なオプションは次のとおりです。

  • SQLステートメントのロギングを無効にするには、noneを指定します。
  • CREATE、ALTER、DROPなどのddl(データ定義言語)ステートメントをログに記録するようにサーバーに指示するには、ddlを指定します。
  • modを指定して、すべてのddlステートメントと、INSERT、UPDATE、DELETE、TRUNCATE、COPY FROMなどのすべてのdml(データ変更言語)ステートメントをログに記録するようにサーバーに指示します。
  • allを指定して、サーバーにすべてのSQLステートメントを記録するよう指示します。

[ Nextをクリックして続行します。

「ロギング変更のスケジュール」ダイアログ

「ロギング変更のスケジュール」ダイアログ

「 Schedule logging changesのSchedule logging changesダイアログのオプションを使用して、ロギング構成の変更がいつ適用されるかを指定します。

  • [ Configure logging nowスイッチを[ Yesに設定すると、構成設定が有効になり、ログマネージャーウィザードの完了時にサーバーが再起動します。
  • [ Configure logging nowを[ NoにConfigure logging nowすると、他のタイムカレンダーセレクターで[スケジュール]を使用して、ログの構成設定を適用し、サーバーを再起動するのに都合のよい時間を指定します。

Log Managerウィザードで指定された構成変更を適用すると、サーバーの再起動により、ユーザーのデータベースサーバーの使用が一時的に中断されることに注意してください。

[ FinishをクリックしてウィザードをFinishし、サーバーを再起動するか、スケジュールダイアログで指定された時間にサーバーの再起動をスケジュールします。

サーバーログ分析ダッシュボードの確認

ログマネージャーウィザードを起動し、ログファイルをPEMにインポートした後、 Server Log Analysisダッシュボードを使用して、選択したサーバーのログファイルを確認できます。 Server Log Analysisダッシュボードを開くには、PEMクライアントツリーコントロールで監視対象サーバーの名前を右クリックし、[ Dashboards ]メニューでServer Log Analysis ]を選択しServer Log Analysis 。

サーバーログ分析ダッシュボード

サーバーログ分析ダッシュボード

Server Log Analysisダッシュボードのヘッダー情報には、サーバーが起動された日時、ページが最後に更新された日時、およびトリガーされたアラートの現在の数が表示されます。

Server Logテーブルのエントリは時系列で表示され、最新のログエントリが最初に表示されます。スクロールバーを使用して、ログエントリを移動したり、表示されていない列を表示したりします。

サーバーログテーブルの上部の見出しは、各列に格納されている情報を示します。列見出しにカーソルを合わせると、各列のコンテンツの説明を含むツールチップが表示されます。

フィルタリングを使用して、表示されるサーバーログレコードの数を制限できます。クリックしてShow Filtersフィルタパネルを公開すると定義 フィルタ。

サーバーログフィルターの定義

サーバーログフィルターの定義

filter definitionボックス内のフィールドを使用して、表示するレポートのサブセットを選択するためにPEMが使用する選択基準を記述します。

  • [ Fromフィールドを使用して、表示されるサーバーログの開始日を指定します。
  • [ Toフィールドを使用して、表示されたサーバーログの終了日を指定します。
  • Username名Usernameフィールドにロール名を入力すると、そのユーザーが実行したトランザクションのみが表示されます。
  • [ Database fieldにデータベース名を入力して、サーバーが表示されたレコードを、指定されたデータベースに対して実行されたトランザクションのみに制限することを指定します。
  • [ Command Typeフィールドを使用して、フィルターされたレポートに表示されるコマンドの選択基準を指定します。

サーバーログをフィルター処理する基準を説明したら、[ Filter ]をクリックして、[ Server Logテーブルにフィルター処理されたサーバーログを表示します。

Postgres Log Analysis Expert¶

PEM Log Analysis Expertは、Postgres Enterprise Managerに登録されているサーバーのログファイルを分析し、ログファイルエントリに基づいてPostgresクラスターの使用状況の分析を提供するレポートを生成します。 Log Analysis Expertレポートの情報を使用して、クラスターの使用率と構成を最適化してパフォーマンスを向上させることに関する決定を下すことができます。

PEM Log Analysis Expertを使用する前に、Server PropertiesダイアログのAdvancedタブでサービスIDを指定し、Log Managerウィザードを使用してPEMサーバーによるログ収集を有効にする必要があります。

Postgres Log Analysis Expertウィザードを開くには、PEMクライアントの[ Management ]メニューから[ Postgres Log Analysis Expert... ]オプションを選択します。ウィザードの[ Welcome ]ダイアログが開きます。 [ Nextへ]をクリックして続行します。

Log Analysis Expertのようこそダイアログ

Log Analysis Expertのようこそダイアログ

ウィザードのAnalyzer selectionダイアログには、選択可能なアナライザーのリストが表示されます。各アナライザーは、ログファイルから収集した情報を含む対応するテーブル、チャート、またはグラフを生成します。

アナライザー選択ダイアログ

アナライザー選択ダイアログ

アナライザーの左側のボックスをチェックして、ログが 分析エキスパートは、対応するテーブル、チャート、またはグラフを準備する必要があります。選択したら、[ Nextへ]をクリックして[サーバー選択]ツリーコントロールに進みます。

サーバー選択ダイアログ

サーバー選択ダイアログ

ツリーコントロールを使用して、Postgres Log Analysis Expertで分析するサーバーを指定します。複数のサーバーを選択した場合、結果のレポートには、サーバーごとに対応する結果セットが個別の(ただし連続した)リストに含まれます。 [ Nextをクリックして、[レポートオプション]ダイアログに進みます。

[レポートオプション]ダイアログ

[レポートオプション]ダイアログ

[ Optionsセクションのフィールドを使用して、分析方法と結果のテーブルの最大長を指定します。

  • [ Aggregate methodドロップダウンを使用して、選択した期間のデータを統合するためにLog Analysis Expertが使用する方法を選択します。以下から選択できます。
    • SUMは、指定された期間に収集された値の合計である値を計算するようにアナライザーに指示します。
    • AVGは、指定された期間の収集値の平均である値を計算するようアナライザーに指示します。
    • MAXは、指定された期間内に発生する最大値を使用するようアナライザーに指示します。
    • MINは、指定された期間内に発生する最小値を使用するようアナライザーに指示します。
  • 使用Time spanアナライザは、グラフ上の点に対して各計算に組み込む予定分の数を指定するフィールド。たとえば、Timeスパンが5分で、AggregateメソッドがAVGである場合、指定されたグラフの各ポイントには、5分のタイムスパン内で発生したアクティビティの平均値が含まれます。
  • Rows limitフィールドを使用して、テーブルに含める行の最大数を指定します。

[ Time Intervalsセクションのフィールドを使用して、Log Analysis Expertが分析する時間範囲を指定します。

  • [ Relative daysを[はい]に設定して(+/-)開始日フィールドを有効にし、[開始日]フィールドで選択した日時の前後の日数を指定します。
  • 使用From分析の開始日時を指定するフィールド。
  • [ Toフィールドを使用して、分析の終了日時を指定します。
  • (+/-) From日付セレクターを使用して、前の日数を指定します または、分析に含めるべき開始日以降。

レポートオプションを指定したら、[ Nextへ]をクリックして[レポートの宛先]ダイアログに進みます。

レポート宛先ダイアログ

レポート宛先ダイアログ

デフォルトオプションを選択して[ Finish ]を選択すると、PEMクライアントのタブ付きブラウザーでLog Analysis Expertレポートを表示できます。または、[レポートのダウンロード]の横にあるラジオボタンをクリックして、レポートのコピーをHTMLファイルに保存して後で使用できます。

レポートをファイルに保存するように指定している場合、レポートがダウンロードされます。

Postgres Log Analysis Expert Reportのレビュー

レポートをすぐに確認することを選択した場合、Postgres Log Analysis ExpertレポートがPEM Clientウィンドウに表示されます。レポートヘッダーには、レポートが生成された日時、レポートの期間、およびレポートを定義するときに指定された集計方法が表示されます。情報が表示されるサーバーの名前は、レポートの各セクションの先頭に記載されています。

レポートには、Log Analysis Expertウィザードで選択されたテーブル、グラフ、およびチャートが表示されます。 (画面の右下隅にある) Jump ToボタンJump To使用して、特定のグラフィックに移動します。

Postgresログ分析エキスパートレポート

Postgresログ分析エキスパートレポート

レポートに複数の監視対象サーバーの分析が含まれる場合、グラフと表がセットで表示されます。最初に1つのサーバーの統計を表示するグラフ、テーブル、およびチャート、次にレポート内の次のサーバーのグラフィックを表示します。