ログマネージャー

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

  • ログファイルが書き込まれる場所

  • ログファイルが書き込まれる頻度

  • ログファイルに書き込まれる情報の種類

  • ログファイルエントリの形式

  • ログローテーションプロパティ

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

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

The Log Manager welcome dialog

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

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

The Log Manager Server selection dialog

The Log Manager Server selection dialog

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

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

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

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

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

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

The Log Manager Log configuration dialog

ログマネージャのログ設定ダイアログ

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

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

  • Import logs to PEM ラベルの横にあるスイッチを使用して、ログファイルをPEMにインポートし、サーバーログ分析ダッシュボードに表示するかどうかを指定します。

  • Import Frequency ドロップダウンリストボックスを使用して、ログファイルがPEMにインポートされる頻度を指定します。

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

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

  • Rotation Time フィールドを使用して、各ログファイルに保存する日数を指定します。デフォルト値は1日です。

Truncation on Rotation スイッチを使用して、時間ベースのログファイルローテーションのサーバーの動作を指定します。

  • ONを選択して、新しいファイルが取得するのと同じ名前を持つ既存のログファイルをサーバーが上書きすることを指定します。

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

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

The Where to Log dialog

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

Where to ログダイアログのフィールドを使用して、ログファイルを書き込む場所を指定します。

  • Log Destination ボックスからオプションを選択して、サーバーログ出力の宛先を指定します:

    • stderr スイッチをYesに設定して、ログファイルをstderrに書き込むことを指定します。

    • csvlog スイッチをYesに設定して、ログファイルをコンマ区切り値形式でファイルに書き込むように指定します。 [スケジュール]ダイアログで[ログをPEMにインポート]を選択した場合、このオプションは自動的に有効になります(編集できなくなります)。サーバーログファイルをPEMにインポートしない場合、このオプションは編集可能です。

    • syslog スイッチをYesに設定して、ログファイルをシステムログファイルに書き込むことを指定します。

    • Windowsでは、 eventlog スイッチを eventlog に設定して、ログファイルをイベントログに書き込むことを指定します。

  • コレクションの設定を指定するには、 Log collection ボックス内のオプションを使用します。

    • Log Collector スイッチをEnableに設定して、キャプチャされたログメッセージ(STDERRにリダイレクトされる)をログファイルにリダイレクトするようサーバーに指示します。

    • Log Silent Mode スイッチを有効に設定して、制御端末から切り離され、バックグラウンドでサイレントに実行するようサーバーに指示します。

  • Log Directory ボックスのオプションを使用して、ログファイルの場所の設定を指定します。

    • Change log directory for selected servers? スイッチをYesに設定して、ログファイルの各セットを個別のディレクトリに保持するように指定します。

    • Directory name フィールドを使用して、ログファイルが書き込まれるディレクトリを指定します。このディレクトリは、監視対象サーバーのインストールディレクトリの下のpg_logディレクトリの下にあります。

  • Log File Name フィールドを使用して、ログファイル名の形式を指定します。 DEFAULT に設定すると、形式は enterprisedb-%Y-%m-%d_%H%M%S になります。ここで、

    • enterprisedb はファイル名のプレフィックスです

    • Y はログが保存された年です

    • m はログが保存された月です

    • d はログが保存された日です

    • H はログが保存された時間です

    • M はログが保存された分です

    • S はログが保存された秒です

syslogへのロギングが有効になっている場合:

  • 使用するsyslog機能を指定するには、 Syslog Facility ドロップダウンリストボックスを使用します。

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

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

The Log Manager When to Log dialog

The Log Manager When to Log dialog

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 ドロップダウンリストボックスを使用して、ステートメントの期間(ミリ秒単位)を指定します。指定されたミリ秒数を超えるステートメントは、サーバーログに書き込まれます。値-1は、期間ベースのロギングをすべて無効にします。値が0の場合、すべてのステートメントとその期間が記録されます。

  • キロバイト単位でファイルサイズを指定するには、 Log temp files フィールドを使用します。一時ファイルが指定されたサイズに達すると、ログに記録されます。値-1(デフォルト)は、この機能を無効にします。

  • ミリ秒単位で時間の長さを指定するには、 Log autoVacuum min duration フィールドを使用します。自動バキュームが指定された時間を超えると、アクティビティがログに記録されます。値-1(デフォルト)は、この機能を無効にします。

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

The Log Manager What to Log dialog

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

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

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

  • Parse tree スイッチをYesに設定して、ログファイルに解析ツリーを含めるようサーバーに指示します。

  • Rewriter output スイッチをYesに設定して、サーバーにログファイルにクエリリライタの出力を含めるように指示します。

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

Indent Debug Options Output in Log スイッチを Yes に設定すると、サーバーは解析ツリーエントリ、クエリリライタエントリ、またはクエリ実行プランエントリを含む各行をインデントします。インデントにより、結果のログファイルが読みやすくなりますが、ログファイルが長くなります。

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

  • サーバーログにチェックポイントとリスタートポイントを含めるには、 Checkpoints スイッチを Checkpoints に設定します。

  • Connections スイッチをYesに設定して、サーバーへの接続試行(および正常に認証された接続)をサーバーログに含めます。

  • Disconnections スイッチを Disconnections に設定して、セッション情報とセッション期間を提供する各終了セッションのサーバーログエントリを含めます。

  • Duration スイッチを Duration に設定して、ログに記録された各ステートメントの実行に必要な時間をサーバーログに含めます。

  • Hostname スイッチをYesに設定して、各サーバーログエントリにIPアドレスとホスト名の両方を含めます(デフォルトでは、IPアドレスのみが記録されます)。これによりパフォーマンスが低下する可能性があることに注意してください。

  • Lock Waits スイッチをYesに設定して、deadlock_timeoutパラメーターで指定された時間より長く待機してロックを取得するセッションのログエントリを書き込むようサーバーに指示します。これは、ロック待機がパフォーマンス低下の原因であるかどうかを判断するときに役立ちます。

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 をクリックして続行します。

The Schedule Logging Changes dialog

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

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

  • Configure logging now スイッチを Yes に設定して、構成設定を有効にし、ログマネージャーウィザードが完了したらサーバーが再起動するように指定します。

  • Configure logging now を No に設定すると、他のタイムカレンダーセレクターでSchedule itを使用して、ログ設定の設定が適用される便利な時間を指定し、サーバーを再起動します。

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

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

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

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

The Server Log Analysis dashboard

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

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

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

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

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

Defining a Server Log filter

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

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

  • 表示されたサーバーログの開始日を指定するには、 From フィールドを使用します。

  • 表示されたサーバーログの終了日を指定するには、 To フィールドを使用します。

  • Username フィールドにロール名を入力すると、そのユーザーが実行したトランザクションのみが表示されます。

  • Database field にデータベース名を入力して、指定したデータベースに対して実行されたトランザクションのみに表示されるレコードをサーバーが制限することを指定します。

  • Command Type フィールドを使用して、フィルターされたレポートに表示されるコマンドの選択基準を指定します。

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

Postgresログ分析エキスパート

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 をクリックして続行します:

The Log Analysis Expert Welcome dialog

ログ分析エキスパートのようこそダイアログ

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

The Analyzer selection dialog

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

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

The Server selection dialog

サーバー選択ダイアログ

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

The Report options dialog

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

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

  • Aggregate method ドロップダウンを使用して、選択した期間のデータを統合するためにログ分析エキスパートが使用する方法を選択します。以下から選択できます。

    • SUM は、指定された期間に収集された値の合計である値を計算するようアナライザーに指示します。

    • AVG は、指定された期間に収集された値の平均である値を計算するようアナライザーに指示します。

    • MAX は、指定した期間内に発生する最大値を使用するようアナライザーに指示します。

    • MIN は、指定された期間内に発生する最小値を使用するようアナライザーに指示します。

  • Time span フィールドを使用して、アナライザーがグラフ上の各ポイントの各計算に組み込む分数を指定します。たとえば、Timeスパンが5分で、AggregateメソッドがAVGである場合、特定のグラフの各ポイントには、5分のタイムスパン内で発生したアクティビティの平均値が含まれます。

  • Rows limit フィールドを使用して、テーブルに含める最大行数を指定します。

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

  • Relative days を Relative days に設定して、(+/-)From日付フィールドを有効にし、Fromフィールドで選択した日時の前または後の日数を指定します。

  • From フィールドを使用して、分析の開始日時を指定します。

  • To フィールドを使用して、分析の終了日時を指定します。

  • 分析に含めるべき開始日の前後の日数を指定するには、 (+/-) の開始日セレクターを使用します。

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

The Report destination dialog

レポート宛先ダイアログ

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

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

Postgres Log Analysis Expert Reportのレビュー

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

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

The Postgres Log Analysis Expert Report

The Postgres Log Analysis Expert Report

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