データベース・テーブルへの監査ロギングの構成
データベース・テーブルに出力するように監査ロギングを構成するための手順。
監査ロギングを有効にし、「DataStax Enterpriseのデータ監査の有効化」の説明に従って、データベース・テーブルに出力するようにロガーを設定した場合は、dse.yamlのオプションを設定してロガーを構成できます。
ALTER TABLE dse_audit.audit_log WITH COMPACTION={'class':'TimeWindowCompactionStrategy'};
ロガーは同期または非同期で実行できます。デフォルトでは、ロガーは同期して実行されます。
dse_audit.audit_log
テーブルにアクセスするためのパーミッションは、GRANT
またはREVOKE
CQLコマンドを使用して管理します。
同期して実行すると、イベントはテーブルに書き込まれるまで完了しません。イベントがテーブルに書き込まれてから完了するまでに障害が発生した場合、完了しなかったイベントがログに含まれることがあります。たとえば、クエリーがテーブルに記録されたものの、正常に完了していなかったといった場合があります。
非同期で実行すると、監査イベントはテーブルに書き込むようにキューに登録されますが、イベントが完了するまでログに記録されない場合があります。たとえば、クエリーをログに記録する場合、監査イベントがテーブルに書き込まれる前にクエリーが実行されることがあります。書き込みスレッドのプールがキューからのロギング監査イベントを処理し、バッチ・クエリーのテーブルに書き込みます。監査イベントを非同期で書き込む利点は、負荷が大きくても高いパフォーマンスを維持できる点にありますが、監査イベントがテーブルに書き込まれる前に障害が発生した場合は、イベントが完了していてもログに記録されないことがあります。
手順
-
テキスト・エディターでdse.yamlを開きます。
dse.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストールInstaller-Servicesインストール
/etc/dse/dse.yaml tarボール・インストールInstaller-No Servicesインストール
installation_location/resources/dse/conf/dse.yaml cassandra.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストールInstaller-Servicesインストール
/etc/dse/cassandra/cassandra.yaml tarボール・インストールInstaller-No Servicesインストール
installation_location/resources/cassandra/conf/cassandra.yaml -
以下のaudit_logging_optionsを設定します。
- cassandra_audit_writer_options
- CassandraAuditWriterの構成オプション。
cassandra_audit_writer_options: mode: sync batch_size: 50 flush_time: 500 num_writers: 10 queue_size: 10000 write_consistency: QUORUM dropped_event_log: /var/log/cassandra/dropped_audit_events.log
- ファイルを保存し、DataStax Enterpriseを再起動します。