監査マネージャー¶
PEM Audit Managerを使用して、Advanced Serverインスタンスの監査ログ構成を簡素化できます。監査マネージャーを使用すると、次のようなロギング属性を構成できます。
PEMがログファイルを収集する頻度
ログファイルに含まれるデータベースアクティビティのタイプ
ログファイルをローテーションする頻度(およびタイミング)
監査ログには次のアクティビティが含まれる場合があります。
データベースインスタンスへのすべての接続
接続試行の失敗
データベースインスタンスからの切断
すべてのクエリ(SELECTステートメント)
すべてのDMLステートメント(INSERT、UPDATE、DELETE)
すべてのDDLステートメント(CREATE、DROP、ALTERなど)
監査ログがPEMサーバーに保存されると、監査ログダッシュボードを使用して、読みやすい形式で情報を確認できます。監査ログダッシュボードでは、タイムスタンプの範囲(アクティビティが発生したとき)、アクティビティが発生したデータベース、アクティビティを実行しているユーザー、または呼び出されたコマンドの種類によってログファイルをフィルタリングできます。
Advanced Server Instance Service IDの設定¶
Advanced Serverインスタンスのロギングを設定するには、サーバーはバインドされたエージェントを備えたPEM管理サーバーであり、サーバー登録にはサービススクリプトの名前が含まれている必要があります。新しいサーバーを登録するときは、[新しいサーバー]ダイアログの[詳細設定]タブの[サービスID]フィールドにサービス名を含めます。
既存の(登録および接続された)サーバーにサービス名を追加する前に、サーバーを切断する必要があります。サーバー名を右クリックし、コンテキストメニューから Disconnect server を選択します。次に、サーバー名を右クリックして、コンテキストメニューから Properties を選択します。 Advanced タブを選択し、 Service ID フィールドにサービス名を追加します。
The Service ID of the Advanced Server instance¶
[サービスID]フィールドにより、PEMサーバーはサービスを停止および開始できます。
Advanced Server 11サービススクリプトの名前は
edb-as-11です。Advanced Server 10サービススクリプトの名前は
edb-as-10です。Advanced Server 9.6サービススクリプトの名前は
edb-as-9.6です。Advanced Server 9.5(またはそれ以前)のサービススクリプトの名前はppas-9。/ * x です。 x *はバージョンを指定します。
PostgreSQL 9.6サービススクリプトの名前は
postgresql-11です。PostgreSQL 9.6サービススクリプトの名前は
postgresql-10です。PostgreSQL 9.6サービススクリプトの名前は
postgresql-9.6です。
EDB監査構成プローブの設定¶
Advanced Serverサーバーの監査ログを設定する前に、EDB Audit Configurationプローブが有効になっていることを確認する必要があります。 Manage Probes タブを開いてプローブのステータスを確認するには、ツリーコントロールで登録済みのAdvanced Serverサーバーの名前を右クリックし、 Management メニューから Manage Probes... を選択します。
Probe Configuration ダイアログの Enabled 列が EDB Audit Configuration probe の Yes に設定されていることを確認します。
The EDB Audit Configuration probe¶
EDB監査設定が有効になっていない場合は、[プローブの管理]タブの Enabled? スイッチを使用して有効にします。
監査マネージャーを使用した監査ログの構成¶
Audit manager ウィザードを開くには、 Management メニューから Audit Manager... を選択します。 Audit manager - Welcome ダイアログが開きます。
監査マネージャーのようこそダイアログ¶
Next をクリックして続行します。
監査用に構成するサーバーを選択します¶
[サーバーの選択]ツリーコントロールを使用して、監査構成を適用するサーバーを指定します。ツリーコントロールでサーバーを使用可能にするには、PEMによる監視のためにサーバーを登録するときに、 Create – Server ダイアログの Advanced tab に Service ID を指定する必要があります。 EDB Postgres Advanced Serverのみが監査をサポートしていることに注意してください。 PostgreSQLサーバーは、ツリーコントロールに含まれません。
Next をクリックして続行します。
Auditing Parameters Configuration ダイアログでは、監査を有効または無効にし、ログレコードをPEMに収集する頻度を選択できます。
監査パラメータ設定ダイアログ¶
Auditing parameters configuration ダイアログのフィールドを使用して、監査設定を指定します。
Auditingスイッチを使用して、指定したサーバーで監査を有効または無効にします。Audit destinationドロップダウンを使用して、監査ログの宛先を選択します。 [ファイル]または[Syslog]を選択します。この機能はAdvanced Server 10以降のリリースでのみサポートされています。Import logs to PEMスイッチを使用して、各サーバーからPEMサーバーにログレコードを定期的にインポートするようにPEMに指示します。ログファイルをインポートするには、スイッチを[はい]に設定します。デフォルトはNoです。Collection frequencyドロップダウンリストボックスを使用して、ログ収集が有効になっているときにPEMが監視対象サーバーからログレコードを収集する頻度を指定します。Log formatドロップダウンリストボックスを使用して、各サーバーに書き込まれる生ログ形式を選択します。ログ収集が有効になっている場合、PEMサーバーはCSV形式を使用します。File nameフィールドを使用して、ログファイル名を生成するときに使用される形式を指定します。デフォルトでは、フォーマットはaudit-%Y-%m-%d_%H%M%Sに設定されます:auditはauditフィールドで指定されたファイル名ですYはログが保存された年ですmはログが保存された月ですdはログが保存された日ですHはログが保存された時間ですMはログが保存された分ですSはログが保存された秒ですChange Log Directory for selected servers?の隣のボックスをチェックし、Audit Directory Nameフィールドを使用して、監査ログが書き込まれるディレクトリ名を指定します。このディレクトリは、PEMサーバーのデータディレクトリの下にあります。
Log directory ボックスのフィールドを使用して、ログファイルが保存されるディレクトリに関する情報を指定します。
Change log directory for selected servers?スイッチをChange log directory for selected servers?に移動して、Change log directory for selected servers?フィールドを有効にします。Directory nameフィールドを使用して、監査ログが書き込まれる各サーバー上のディレクトリの名前を指定します。指定されたディレクトリは、サーバー上のデータディレクトリのサブディレクトリとして作成されます。
Next をクリックして続行します。
Audit log configuration ダイアログは、監査パラメータ設定ダイアログで監査を有効にしている場合にのみ使用できます。
監査ログ設定ダイアログ¶
Audit log configuration ダイアログのコントロールを使用して、各サーバーに適用されるログ設定の詳細を指定します:
Connection attemptsスイッチを使用して、接続試行を記録するかどうかを指定します。Noneは接続ログを無効にします。すべての接続試行がログに記録されることを示す
All。失敗した接続試行をログに記録するには
Failed。切断をログに記録するかどうかを指定するには、
Disconnection attemptsスイッチを使用します。以下を指定します。切断をログに記録しないように指定するには、
None。切断ログを有効にするには
All。記録されるステートメントの種類を指定するには、
Log statementsフィールドを使用します。フィールド内をクリックして、以下から選択します。Select-SELECTキーワードを含むすべてのステートメントが記録されます。Error-エラーになったすべてのステートメントがログに記録されます。DML-すべてのDML(データ変更言語)ステートメントがログに記録されます。DDL-すべてのDDL(データ定義言語)ステートメント(データを追加、削除、または変更するステートメント)がログに記録されます。すべてのステートメントタイプを選択するには、
Select Allの隣のボックスをオンにします。すべてのステートメントタイプの選択を解除するには、
Unselect Allの隣のボックスをオンにします。収集したログの追跡タグを指定するには、
Audit tagフィールドを使用します。監査タグ付け機能は、Advanced Serverバージョン9.5以降でのみ使用可能です。複数のサーバーの監査機能を定義しており、1つ以上のサーバーがバージョン9.5以降である場合、このフィールドは有効になりますが、選択すると、タグ付け機能はバージョン9.5以降のサーバーにのみ適用されます。
Log rotation ボックスのフィールドを使用して、各サーバーでのログファイルの管理方法を指定します。
Enable?スイッチを使用して、ログファイルをローテーションするように指定します。 1つのファイルが管理不能なほど大きくなるのを防ぐために、新しいログファイルを定期的に使用する必要があることに注意してください。Day drop-downリストボックスを使用して、ログファイルをローテーションする日を選択します。Size (MB)フィールドを使用して、ログファイルをローテーションするサイズをメガバイト単位で指定します。Time (seconds)フィールドを使用して、ログファイルのローテーションの間隔を秒数で指定します。
続行するには Next をクリックします:
監査変更のスケジュールダイアログ¶
Schedule Auditing Changes ダイアログを使用して、監査設定の変更をいつ有効にするかを決定します。
監査設定の変更をすぐに実行する場合は、
Configure logging now?を選択します。影響を受けるデータベースサーバーが再起動され、監査の変更が有効になります。Time?セレクターを使用して、将来のある時点で監査構成の変更をスケジュールします。ドロップダウンリストから目的の日付と時刻を選択します。影響を受けたデータベースサーバーは、監査の変更を有効にするために、指定された日時に再起動されます。
Finish をクリックして、監査設定プロセスを完了します。
監査マネージャーは、各サーバーに構成を適用するジョブをスケジュールします。ジョブは2つのタスクで構成されます。1つはサーバー上の監査ログ構成を更新し、もう1つは新しい構成でサーバーを再起動します。
Scheduled Tasks タブを使用して、スケジュールされたジョブのリストを確認できます。 Scheduled Tasks タブを開くには、サーバーまたはエージェントの名前を強調表示し、 Management メニューから Scheduled Tasks... を選択します。
監査ログダッシュボードでログを表示する¶
監査ログダッシュボードを使用して、Advanced Serverデータベースインスタンスから監査ログを表示します。
Audit Log ダッシュボードを開くには、サーバーまたはエージェントノードを右クリックし、 Dashboards メニューから Audit Log Analysis を選択します。 Dashboards メニュー( Management メニューにある)をナビゲートして、監査ログダッシュボードを開くこともできます。
監査ログダッシュボード¶
監査ログダッシュボードには、監査レコードが新しい順に表示されます(一番上が最新のレコード、一番下が古いレコード)。
ウィンドウに表示されていない古い監査レコードを表示するには、監査レコードのリストを制御する垂直スクロールバー(ウィンドウの右側にある2つの最も内側のスクロールバー)を使用します。スクロールバーをウィンドウの下部に移動すると、古い監査レコードが継続的にロードされて表示されます。
フィルタリングを使用して、表示される監査レコードの数を制限できます。 Show Filters をクリックして、フィルターパネルを表示します。
監査ログダッシュボードフィルターパネル¶
表示する監査レコードの特定の選択基準を提供するには、 filters panel のフィールドを使用します。
Startフィールドを使用して、レポートの開始日を指定します。フィールドでマウスボタンをクリックしてカレンダーを開き、開始日を選択します。Endフィールドを使用して、レポートの終了日を指定します。フィールドでマウスボタンをクリックしてカレンダーを開き、終了日を選択します。指定されたPostgresユーザーによってアクティビティが開始されたエントリのみを表示するには、
Userフィールドを使用します。指定されたデータベースでアクティビティが発行されたエントリのみを表示するには、
Databaseフィールドを使用します。アクティビティが指定されたタイプであったエントリのみを表示するには、
Command typeフィールドを使用します。指定できるコマンドタイプは、アイドル、認証、およびSELECTです。 (ユーザーアプリケーションからSQLステートメントを表示するには、アイドルコマンドの種類を指定します。)
Filter をクリックして、フィルタリング基準をログエントリに適用します。