Windows 用 Kinesis エージェントの設定例 - Microsoft Windows の Amazon Kinesis エージェント

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Windows 用 Kinesis エージェントの設定例

-appsettings.json設定ファイルは、Amazon Kinesis Agent for Microsoft Windows がログ、イベント、およびメトリクスを収集する方法を制御する JSON ドキュメントです。また、Windows 用 Kinesis Agent for Windows がそのデータを変換してさまざまな AWS サービスにストリーミングする方法も制御します。設定ファイルのソース、シンク、およびパイプの宣言の詳細については、「ソース宣言」、「シンク宣言」、および「パイプ宣言」を参照してください。

以下のセクションには、いくつかの異なるシナリオの設定ファイルの例が含まれています。

さまざまなソースから Kinesis Data Streams へのストリーミング

以下の例appsettings.json設定ファイルは、さまざまなソースから Kinesis Data Streams、および Windows パフォーマンスカウンターから Amazon CloudWatch メトリクスへのログとイベントのストリーミングを示しています。

DirectorySourceSysLog レコードパーサー

次のファイルは、syslog 形式のログレコードをストリーミングします。.logファイル拡張子C:\LogSource\ディレクトリに移動します。SyslogKinesisDataStreamus-east-1 リージョンの Kinesis データストリームのストリーム。エージェントがシャットダウンされ、後で再起動された場合でも、ログファイルのすべてのデータが送信されるように、ブックマークが設定されています。カスタムアプリケーションは SyslogKinesisDataStream ストリームからレコードを読み込んで処理できます。

{ "Sources": [ { "Id": "SyslogDirectorySource", "SourceType": "DirectorySource", "Directory": "C:\\LogSource\\", "FileNameFilter": "*.log", "RecordParser": "SysLog", "TimeZoneKind": "UTC", "InitialPosition": "Bookmark" } ], "Sinks": [ { "Id": "KinesisStreamSink", "SinkType": "KinesisStream", "StreamName": "SyslogKinesisDataStream", "Region": "us-east-1" } ], "Pipes": [ { "Id": "SyslogDS2KSSink", "SourceRef": "SyslogDirectorySource", "SinkRef": "KinesisStreamSink" } ] }

DirectorySourceSingleLineJson レコードパーサー

次のファイルは、JSON 形式のログレコードをストリーミングします。.logファイル拡張子C:\LogSource\ディレクトリに移動します。JsonKinesisDataStreamus-east-1 リージョンの Kinesis データストリームのストリーム。ストリーミングの前に、ComputerName キーと DT キーのキーと値のペアが、コンピュータ名とレコードが処理された日時の値を含む各 JSON オブジェクトに追加されます。カスタムアプリケーションは JsonKinesisDataStream ストリームからレコードを読み込んで処理できます。

{ "Sources": [ { "Id": "JsonLogSource", "SourceType": "DirectorySource", "RecordParser": "SingleLineJson", "Directory": "C:\\LogSource\\", "FileNameFilter": "*.log", "InitialPosition": 0 } ], "Sinks": [ { "Id": "KinesisStreamSink", "SinkType": "KinesisStream", "StreamName": "JsonKinesisDataStream", "Region": "us-east-1", "Format": "json", "ObjectDecoration": "ComputerName={ComputerName};DT={timestamp:yyyy-MM-dd HH:mm:ss}" } ], "Pipes": [ { "Id": "JsonLogSourceToKinesisStreamSink", "SourceRef": "JsonLogSource", "SinkRef": "KinesisStreamSink" } ] }

ExchangeLogSource

次のファイルは、Microsoft Exchange によって生成され、.log拡張子のC:\temp\ExchangeLog\ディレクトリに移動します。ExchangeKinesisDataStreamJSON 形式の us-east-1 リージョンの Kinesis データストリーム。Exchange ログは JSON 形式ではありませんが、Windows 用 Kinesis Agent はログを解析して JSON に変換できます。ストリーミングの前に、ComputerName キーと DT キーのキーと値のペアが、コンピュータ名とレコードが処理された日時の値を含む各 JSON オブジェクトに追加されます。カスタムアプリケーションは ExchangeKinesisDataStream ストリームからレコードを読み込んで処理できます。

{ "Sources": [ { "Id": "ExchangeSource", "SourceType": "ExchangeLogSource", "Directory": "C:\\temp\\ExchangeLog\", "FileNameFilter": "*.log" } ], "Sinks": [ { "Id": "KinesisStreamSink", "SinkType": "KinesisStream", "StreamName": "ExchangeKinesisDataStream", "Region": "us-east-1", "Format": "json", "ObjectDecoration": "ComputerName={ComputerName};DT={timestamp:yyyy-MM-dd HH:mm:ss}" } ], "Pipes": [ { "Id": "ExchangeSourceToKinesisStreamSink", "SourceRef": "ExchangeSource", "SinkRef": "KinesisStreamSink" } ] }

W3SVCLogSource

次のファイルは、Windows 用インターネットインフォメーションサービス (IIS) ログレコードをIISKinesisDataStreamus-east-1 リージョンの Kinesis データストリームのストリーム。カスタムアプリケーションは IISKinesisDataStream ストリームからレコードを読み込んで処理できます。IIS は Windows 用 のウェブサーバーです。

{ "Sources": [ { "Id": "IISLogSource", "SourceType": "W3SVCLogSource", "Directory": "C:\\inetpub\\logs\\LogFiles\\W3SVC1", "FileNameFilter": "*.log" } ], "Sinks": [ { "Id": "KinesisStreamSink", "SinkType": "KinesisStream", "StreamName": "IISKinesisDataStream", "Region": "us-east-1" } ], "Pipes": [ { "Id": "IISLogSourceToKinesisStreamSink", "SourceRef": "IISLogSource", "SinkRef": "KinesisStreamSink" } ] }

クエリを含む WindowsEventLogSource

次のファイルは、Windows システムイベントログからログイベントをストリームします。CriticalまたはError(2 以下) をSystemKinesisDataStreamJSON 形式の us-east-1 リージョンの Kinesis データストリーム。カスタムアプリケーションは SystemKinesisDataStream ストリームからレコードを読み込んで処理できます。

{ "Sources": [ { "Id": "SystemLogSource", "SourceType": "WindowsEventLogSource", "LogName": "System", "Query": "*[System/Level<=2]" } ], "Sinks": [ { "Id": "KinesisStreamSink", "SinkType": "KinesisStream", "StreamName": "SystemKinesisDataStream", "Region": "us-east-1", "Format": "json" } ], "Pipes": [ { "Id": "SLSourceToKSSink", "SourceRef": "SystemLogSource", "SinkRef": "KinesisStreamSink" } ] }

WindowsETWEventSource

次のファイルは、Microsoft 共通言語ランタイム (CLR) の例外およびセキュリティイベントをClrKinesisDataStreamJSON 形式の us-east-1 リージョンの Kinesis データストリーム。カスタムアプリケーションは ClrKinesisDataStream ストリームからレコードを読み込んで処理できます。

{ "Sources": [ { "Id": "ClrETWEventSource", "SourceType": "WindowsETWEventSource", "ProviderName": "Microsoft-Windows-DotNETRuntime", "TraceLevel": "Verbose", "MatchAnyKeyword": "0x00008000, 0x00000400" } ], "Sinks": [ { "Id": "KinesisStreamSink", "SinkType": "KinesisStream", "StreamName": "ClrKinesisDataStream", "Region": "us-east-1", "Format": "json" } ], "Pipes": [ { "Id": "ETWSourceToKSSink", "SourceRef": "ClrETWEventSource", "SinkRef": "KinesisStreamSink" } ] }

WindowsPerformanceCounterSource

次のファイルは、開いているファイルの合計、再起動以降の総ログイン試行回数、1 秒あたりのディスク読み取り数、および空きディスク領域の割合のパフォーマンスカウンターを us-east-1 リージョンの CloudWatch メトリクスにストリーミングします。これらのメトリクスは、CloudWatch でグラフ化したり、グラフからダッシュボードを構築したり、しきい値を超えたときに通知を送信するアラームを設定したりできます。

{ "Sources": [ { "Id": "PerformanceCounter", "SourceType": "WindowsPerformanceCounterSource", "Categories": [ { "Category": "Server", "Counters": [ "Files Open", "Logon Total" ] }, { "Category": "LogicalDisk", "Instances": "*", "Counters": [ "% Free Space", { "Counter": "Disk Reads/sec", "Unit": "Count/Second" } ] } ], } ], "Sinks": [ { "Namespace": "MyServiceMetrics", "Region": "us-east-1", "Id": "CloudWatchSink", "SinkType": "CloudWatch" } ], "Pipes": [ { "Id": "PerformanceCounterToCloudWatch", "SourceRef": "PerformanceCounter", "SinkRef": "CloudWatchSink" } ] }

Windows アプリケーションイベントログからシンクへのストリーミング

以下の例appsettings.json設定ファイルは、Windows アプリケーションイベントログを Microsoft Windows 用 Amazon Kinesis Agent のさまざまなシンクにストリーミングする方法を示しています。KinesisStream および CloudWatch シンクタイプの使用例については、「さまざまなソースから Kinesis Data Streams へのストリーミング」を参照してください。

KinesisFirehose

次のファイルストリームCriticalまたはErrorWindows アプリケーションは、イベントをWindowsLogFirehoseDeliveryStreamKinesis Data Firehose 配信ストリームは、us-east-1 リージョンの Kinesis Data Firehose への接続が中断されると、イベントはまずメモリにキューに入れられます。その後、必要に応じて、接続が回復するまでディスク上のファイルに入れられます。その後、イベントはキューから取り出されて送信され、その後に新しいイベントが続きます。

データパイプラインの要件に基づいて、ストリーミングデータをさまざまな種類のストレージおよび分析サービスに格納するように Kinesis Data Firehose を設定できます。

{ "Sources": [ { "Id": "ApplicationLogSource", "SourceType": "WindowsEventLogSource", "LogName": "Application", "Query": "*[System/Level<=2]" } ], "Sinks": [ { "Id": "WindowsLogKinesisFirehoseSink", "SinkType": "KinesisFirehose", "StreamName": "WindowsLogFirehoseDeliveryStream", "Region": "us-east-1", "QueueType": "file" } ], "Pipes": [ { "Id": "ALSource2ALKFSink", "SourceRef": "ApplicationLogSource", "SinkRef": "WindowsLogKinesisFirehoseSink" } ] }

CloudWatchLogs

次のファイルストリームCriticalまたはErrorWindows アプリケーションログイベントを CloudWatch にストリーミングします。MyServiceApplicationLog-Groupロググループに移動します。各ストリームの名前は Stream- で始まります。それは、ストリームが作成された 4 桁の年、2 桁の月、および 2 桁の日で終了します (たとえば、Stream-20180501 は、2018 年 5 月 1 日に作成されたストリームです)。

{ "Sources": [ { "Id": "ApplicationLogSource", "SourceType": "WindowsEventLogSource", "LogName": "Application", "Query": "*[System/Level<=2]" } ], "Sinks": [ { "Id": "CloudWatchLogsSink", "SinkType": "CloudWatchLogs", "LogGroup": "MyServiceApplicationLog-Group", "LogStream": "Stream-{timestamp:yyyyMMdd}", "Region": "us-east-1", "Format": "json" } ], "Pipes": [ { "Id": "ALSource2CWLSink", "SourceRef": "ApplicationLogSource", "SinkRef": "CloudWatchLogsSink" } ] }

パイプの使用

次の appsettings.json 設定ファイルの例は、パイプ関連の機能の使い方を示しています。

この例では、ログエントリをc:\LogSource\ApplicationLogFirehoseDeliveryStreamKinesis Data Firehose 配信ストリーム。FilterPattern のキーと値のペアで指定された正規表現に一致する行のみが含まれます。具体的には、ログファイル内の行だけが10または11Kinesis Data Firehose にストリーミングされます。

{ "Sources": [ { "Id": "ApplicationLogSource", "SourceType": "DirectorySource", "Directory": "C:\\LogSource\\", "FileNameFilter": "*.log", "RecordParser": "SingleLine" } ], "Sinks": [ { "Id": "ApplicationLogKinesisFirehoseSink", "SinkType": "KinesisFirehose", "StreamName": "ApplicationLogFirehoseDeliveryStream", "Region": "us-east-1" } ], "Pipes": [ { "Id": "ALSourceToALKFSink", "Type": "RegexFilterPipe", "SourceRef": "ApplicationLogSource", "SinkRef": "ApplicationLogKinesisFirehoseSink", "FilterPattern": "^(10|11),.*" } ] }

複数のソースとパイプを使用する

次の例の appsettings.json 設定ファイルは、複数のソースとパイプを使用する方法を示しています。

この例では、アプリケーション、セキュリティ、およびシステムの Windows イベントログをEventLogStream3 つのソース、3 つのパイプ、および 1 つのシンクを使用した Kinesis Data Firehose 配信ストリーム。

{ "Sources": [ { "Id": "ApplicationLog", "SourceType": "WindowsEventLogSource", "LogName": "Application" }, { "Id": "SecurityLog", "SourceType": "WindowsEventLogSource", "LogName": "Security" }, { "Id": "SystemLog", "SourceType": "WindowsEventLogSource", "LogName": "System" } ], "Sinks": [ { "Id": "EventLogSink", "SinkType": "KinesisFirehose", "StreamName": "EventLogStream", "Format": "json" }, ], "Pipes": [ { "Id": "ApplicationLogToFirehose", "SourceRef": "ApplicationLog", "SinkRef": "EventLogSink" }, { "Id": "SecurityLogToFirehose", "SourceRef": "SecurityLog", "SinkRef": "EventLogSink" }, { "Id": "SystemLogToFirehose", "SourceRef": "SystemLog", "SinkRef": "EventLogSink" } ] }