概要
Windowsイベントログを収集する環境を作成し、そのログをさらに別システムへ転送するための手順を記載します。
環境
本手順で取り扱う内容は、次の環境にて確認しています。
-
Windows Client
マシン:Amazon EC2
OS:Windows Server 2022 -
Windows Event Collector & Fluentd Server
マシン:Amazon EC2
OS:Windows Server 2022
Windows ClientはWindows Event Collector
と呼ばれるログ収集マシンにイベントログを転送します。
そしてWindows Event Collectorと同じマシン上にFluentdを導入し、収集したイベントログを別システムへ転送する仕組みです。
また、Windows Clientは通常、複数台存在するはずですが、本記事では話をシンプルにするために1台構成としています。
手順
ログ収集環境セットアップ
ログ収集環境をセットアップするための手順を記載します。
Windows ClientからWindows Event Collectorへのログ転送については、Windows Event Fowardingという仕組みによって実現します。
なお、Windows ClientはADサーバによって操作するため、前提としてADサーバが存在し、Windows Clientがドメイン参加していることが作業条件となります。AD等のセットアップについてはこちらの手順が参考になります。
通信設定
Windows Event Collectorのセキュリティグループのインバウンドルールにて、Windows ClientからのTCP 5985 Port接続を許可して下さい。
Windows Client設定
本手順はADサーバにて実施して下さい。
GPO(Group Policy Management)の画面を開きます。
Forest
> Domains
> Group Policy Object
を押下して下さい。
Default Domain Policy
を右クリックしてeditします。
Computer Configuration
> Policies
> Administrative Templates
> Windows Components
> Event Forwarding
を押下して下さい。
Configure target Subscription Manager
を右クリックしてeditします。
下記の画面に遷移するはずです。
Not Configured
→Enabled
に変更して下さい。
また、Optionsの欄のShow
を押下して下さい。
Valueに次の値を入力して下さい。
"Server=http://`<Windows Event CollectorのFQDN>`:5985/wsman/SubscriptionManager/WEC,Refresh=10"
※Windows Event CollectorのFQDNとは、EC2のDNS名ではなく、ADドメイン(例:EC2AMAZ-XXXXXXX.test.jp)のことを指します。
入力が完了したら、cmdにて次のコマンドを実行して下さい。
GPOの設定が反映されます。
> gpupdate /force
Windows Event Collector設定
本手順はWindows Event Collectorマシンにて実施して下さい。
Subscriptions
を右クリックし、Create Subscription
を選択します。
Event Collectorのサービス再起動設定が求められるため、Yesを選択して下さい。
表示されたSubscription Propertiesで次の情報を入力します。
- Subscription Name:任意の名前
- Subscription Type and source computer:
source computer initiated
を選択し、Computer Groups
の選択から、Add Domain Computers…
を押下し、Windows Clientのコンピューター オブジェクト(例:EC2AMAZ-XXXXXXX)を指定して下さい。 - Events to collect:必要に応じて、次のように収集対象のイベントをフィルターで指定ください。
OKを押下して下さい。
動作確認として、Event Viewer
のForwarding Events
にて、次のようにログが記録されることを確認してください。
以上でログ収集環境のセットアップは完了です。
Fluentdセットアップ及び、別システムへの転送設定
Fluentdインストール
本手順はWindows Event Collectorマシンにて実施して下さい。
次のページにアクセスし、インストールしたいバージョンのmsiファイルをダウンロードして下さい。
https://td-agent-package-browser.herokuapp.com/
ダウンロードしたインストーラをWindows Event Collectorマシンにて実行してFluentdをインストールしてください。
Config設定
C:/opt/fluent/etc/fluent/fluentd.conf
ファイルを編集します。
次のfluentd.confはサンプルになります。
各パラメータの詳細が知りたい場合は、ドキュメントを参照して下さい。
Windows eventlog plugin
Http output plugin
<source>
@type windows_eventlog2
@id windows_eventlog2
channels application,system,security
read_existing_events false
tag winevt.raw
rate_limit 200
<storage>
@type local
persistent true
path C:\opt\fluent\winlog.json
</storage>
</source>
<match winevt.raw>
@type http
endpoint <YOUR-ENDPOINT>
headers "Authorization: Bearer <YOUR-ACCESSTOKEN>"
content_type application/json
<buffer>
flush_interval 10s
</buffer>
</match>
編集が完了したら、
WindowsサービスとしてFluentdを起動して下さい。
また、自動起動の設定がデフォルトでは無効となっているため、有効化して下さい。
動作確認
転送先システムにて、ログが受信できていることを確認して下さい。
参考