fluentdのログ操作設定
まずはaudit.logをそのままCloudWatch Logsに転送する設定を行ってみます。
td-agent.confに以下の設定を記述します。
1$ sudo vi /etc/td-agent/td-agent.conf2<source>3 type tail4 path /var/log/audit/audit.log5 pos_file /var/log/td-agent/audit.log.pos6 tag audit_log7 format none8</source>910<match audit_log>11 type cloudwatch_logs12 log_group_name DevServer/audit/audit_log13 log_stream_name fluentd_audit_log14 auto_create_stream true15</match>sourceブロック内のtype tail指定はログへの出力内容を随時入力させる設定です。
pathで監視対象のログファイルを、tagでこのルールに対する名前を設定しています。
フォーマット変更は行わないため、format none指定としています。
matchブロック内ではauditlogタグのついたものに対して、type cloudwatchlogsでCloudWatch Logsに連携させるようにしています。loggroupname、logstreamnameでロググループ名、ログストリーム名を指定しています。
CloudWatch Logsへのログ出力確認
監査対象の操作を行ってから、CloudWatch Logsを確認すると、ログストリームが追加され、ログが連携されていることが確認できます。
なお、fluentd内部でメッセージはJSON形式で扱われるため、format none指定の場合でも{“message”:”メッセージ本文”}のJSON形式に変換されてCloudWatch Logsに出力されます。
まとめ
auditログをfluentd経由でCloudWatch Logsに連携できることが確認できました。
次回記事ではexec_filter Output Pluginを使ってログを加工してCloudWatch Logsに連携してみます。
次回もお楽しみに。