ログマネージャー¶
PEM Log Managerを使用して、Postgresインスタンスのサーバーログ構成を簡素化できます。ログマネージャーを使用すると、サーバーのすべてのログパラメーターを次のクリックで変更できます。
ログファイルが書き込まれる場所
ログファイルが書き込まれる頻度
ログファイルに書き込まれる情報の種類
ログファイルエントリの形式
ログローテーションプロパティ
Postgresインスタンスのログを構成するには、サーバーをPEM管理サーバーとして登録し、登録情報にサービススクリプトの名前を含める必要があります。
Log Manager を開くには、PEMクライアントの Management メニューから Log Manager... オプションを選択します。ウィザードが開き、ログマネージャーが表示されます。
ログマネージャーのようこそダイアログ¶
Next をクリックして、 Server selection ダイアログに進みます。
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 をクリックして続行します。
ログマネージャのログ設定ダイアログ¶
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 をクリックして続行します。
ログの保存場所ダイアログ¶
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¶
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 をクリックして続行します。
ログマネージャの[ログを記録する]ダイアログ¶
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 をクリックして続行します。
``ロギング変更のスケジュール``ダイアログ¶
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 を選択します。
サーバーログ分析ダッシュボード¶
Server Log Analysis ダッシュボードのヘッダー情報には、サーバーが起動された日付と時刻、ページが最後に更新された日付と時刻、およびトリガーされたアラートの現在の数が表示されます。
Server Log テーブルのエントリは時系列で表示され、最新のログエントリが最初に表示されます。スクロールバーを使用して、ログエントリ間を移動したり、表示されていない列を表示したりします。
サーバーログテーブルの上部の見出しは、各列に格納されている情報を示します。列見出しにカーソルを合わせると、各列のコンテンツの説明を含むツールチップが表示されます。
フィルタリングを使用して、表示されるサーバーログレコードの数を制限できます。 Show Filters をクリックしてフィルターパネルを表示し、フィルターを定義します。
サーバーログフィルターの定義¶
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 をクリックして続行します:
ログ分析エキスパートのようこそダイアログ¶
ウィザードの Analyzer selection ダイアログには、選択可能なアナライザーのリストが表示されます。各アナライザーは、ログファイルから収集した情報を含む、対応するテーブル、チャート、またはグラフを生成します。
アナライザー選択ダイアログ¶
アナライザーの左側にあるチェックボックスをオンにして、ログ分析エキスパートが対応するテーブル、チャート、またはグラフを準備する必要があることを示します。選択後、 Next をクリックしてサーバー選択ツリーコントロールに進みます。
サーバー選択ダイアログ¶
ツリーコントロールを使用して、Postgres Log Analysis Expertで分析するサーバーを指定します。複数のサーバーを選択した場合、結果のレポートには、サーバーごとに対応する結果セットが個別の(ただし連続した)リストに含まれます。 Next をクリックして、レポートオプションダイアログに進みます。
レポートオプションダイアログ¶
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 をクリックしてレポート宛先ダイアログに進みます。
レポート宛先ダイアログ¶
デフォルトのオプションを選択し、 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¶
レポートに複数の監視対象サーバーの分析が含まれる場合、グラフと表がセットで表示されます。最初に1つのサーバーの統計を表示するグラフ、テーブル、およびチャート、次にレポート内の次のサーバーのグラフィックを表示します。