Windows용 Kinesis 에이전트 구성 예 - Microsoft Windows용 Amazon Kinesis 에이전트

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Windows용 Kinesis 에이전트 구성 예

appsettings.json구성 파일은 Microsoft Windows용 Amazon Kinesis 에이전트가 로그, 이벤트 및 메트릭을 수집하는 방법을 제어하는 JSON 문서입니다. 또한 Windows용 Kinesis 에이전트가 해당 데이터를 변환하고 이를 다양한 AWS 서비스로 스트리밍하는 방법을 제어합니다. 구성 파일의 소스, 싱크 및 파이프 선언에 대한 자세한 내용은소스 선언,sink 선언, 및파이프 선언.

다음 섹션에는 여러 가지 시나리오에 대한 구성 파일의 예가 포함되어 있습니다.

다양한 소스에서 Kinesis Data Streams 으로 스트리밍

다음 예제는appsettings.json구성 파일은 다양한 소스에서 Kinesis Data Streams 으로, Windows 성능 카운터에서 Amazon CloudWatch 메트릭에 이르는 스트리밍 로그 및 이벤트를 보여 줍니다.

DirectorySource,SysLog레코드 구문 분석기

다음 파일은 모든 파일에서 syslog 형식 로그 레코드를.log파일 확장명입니다.C:\LogSource\디렉터리를SyslogKinesisDataStreamus-east-1 리전에서 Kinesis 데이터 스트림 스트림입니다. 에이전트를 종료했다가 나중에 다시 시작하는 경우에도 로그 파일의 모든 데이터가 전송되도록 책갈피가 설정됩니다. 사용자 지정 응용 프로그램에서 레코드를 읽고 처리할 수 있는SyslogKinesisDataStreamStreams.

{ "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" } ] }

DirectorySource,SingleLineJson레코드 구문 분석기

다음 파일은 모든 파일에서 JSON 형식의 로그 레코드를.log파일 확장명입니다.C:\LogSource\디렉터리를JsonKinesisDataStreamus-east-1 리전에서 Kinesis 데이터 스트림 스트림입니다. 의 키-값 페어를 스트리밍하기 전에ComputerNameDT키는 컴퓨터 이름 및 레코드가 처리되는 날짜 및 시간과 함께 각 JSON 객체에 추가됩니다. 사용자 지정 응용 프로그램에서 레코드를 읽고 처리할 수 있는JsonKinesisDataStreamStreams.

{ "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 에이전트는 로그를 구문 분석하여 JSON으로 변환할 수 있습니다. 의 키-값 페어를 스트리밍하기 전에ComputerNameDT키는 컴퓨터 이름 및 레코드가 처리되는 날짜 및 시간 값을 포함하는 각 JSON 객체에 추가됩니다. 사용자 지정 응용 프로그램에서 레코드를 읽고 처리할 수 있는ExchangeKinesisDataStreamStreams.

{ "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 데이터 스트림 스트림입니다. 사용자 지정 응용 프로그램에서 레코드를 읽고 처리할 수 있는IISKinesisDataStreamStreams. IIS는 윈도우 용 웹 서버입니다.

{ "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 데이터 스트림입니다. 사용자 지정 응용 프로그램에서 레코드를 읽고 처리할 수 있는SystemKinesisDataStreamStreams.

{ "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 데이터 스트림입니다. 사용자 지정 응용 프로그램에서 레코드를 읽고 처리할 수 있는ClrKinesisDataStreamStreams.

{ "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

다음 파일은 열려있는 총 파일 수, 재부팅 이후 총 로그인 시도 횟수, 초당 디스크 읽기 수, 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 에이전트의 다양한 싱크로 스트리밍하는 것을 보여 줍니다. 사용의 예는KinesisStreamCloudWatch싱크 유형에 대한 자세한 내용은다양한 소스에서 Kinesis Data Streams 으로 스트리밍.

KinesisFirehose

다음 파일 스트림Critical또는ErrorWindows 응용 프로그램 로그 이벤트를WindowsLogFirehoseDeliveryStreamus-east-1 리전에서 Kinesis Data Firehose 전송 스트림. 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또는Error클라우드 워치 로그 스트림에 대한 Windows 애플리케이션 로그 이벤트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또는11는 Kinesis 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 이벤트 로그를EventLogStreamKinesis 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" } ] }