

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

# Windows용 Kinesis 에이전트 구성 예
<a name="configuring-kaw-examples"></a>

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

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

**Topics**
+ [다양한 소스에서 Kinesis Data Streams 으로 스트리밍](#configuring-kaw-examples-sources)
+ [Windows 응용 프로그램 이벤트 로그에서 싱크로 스트리밍](#configuring-kaw-examples-sinks)
+ [파이프 사용](#configuring-kaw-examples-pipes)
+ [여러 소스 및 파이프 사용](#configuring-kaw-examples-multiple)

## 다양한 소스에서 Kinesis Data Streams 으로 스트리밍
<a name="configuring-kaw-examples-sources"></a>

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

### `DirectorySource`,`SysLog`레코드 구문 분석기
<a name="configuring-kaw-examples-sources-ds-sl"></a>

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

```
{
  "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`레코드 구문 분석기
<a name="configuring-kaw-examples-sources-ds-slj"></a>

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

```
{
  "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`
<a name="configuring-kaw-examples-sources-exchange"></a>

다음 파일은 Microsoft Exchange에 의해 생성되고`.log`확장명입니다.`C:\temp\ExchangeLog\`디렉터리를`ExchangeKinesisDataStream`JSON 형식의 us-east-1 리전에서 Kinesis 데이터 스트림입니다. Exchange 로그는 JSON 형식이 아니지만 Windows용 Kinesis 에이전트는 로그를 구문 분석하여 JSON으로 변환할 수 있습니다. 의 키-값 페어를 스트리밍하기 전에`ComputerName`및`DT`키는 컴퓨터 이름 및 레코드가 처리되는 날짜 및 시간 값을 포함하는 각 JSON 객체에 추가됩니다. 사용자 지정 응용 프로그램에서 레코드를 읽고 처리할 수 있는`ExchangeKinesisDataStream`Streams.

```
{
  "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`
<a name="configuring-kaw-examples-sources-iis"></a>

다음 파일은 해당 파일의 표준 위치에 저장된 Windows 로그 레코드에 대한 IIS (인터넷 정보 서비스) 를`IISKinesisDataStream`us-east-1 리전에서 Kinesis 데이터 스트림 스트림입니다. 사용자 지정 응용 프로그램에서 레코드를 읽고 처리할 수 있는`IISKinesisDataStream`Streams. 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`쿼리 포함
<a name="configuring-kaw-examples-sources-wevq"></a>

다음 파일 스트림 로그 이벤트 수준 Windows 시스템 이벤트 로그에서`Critical`또는`Error`(2보다 작거나 같은) 을`SystemKinesisDataStream`JSON 형식의 us-east-1 리전에서 Kinesis 데이터 스트림입니다. 사용자 지정 응용 프로그램에서 레코드를 읽고 처리할 수 있는`SystemKinesisDataStream`Streams.

```
{
  "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`
<a name="configuring-kaw-examples-sources-etw"></a>

다음 파일은 Microsoft CLR (공용 언어 런타임) 예외 및 보안 이벤트를`ClrKinesisDataStream`JSON 형식의 us-east-1 리전에서 Kinesis 데이터 스트림입니다. 사용자 지정 응용 프로그램에서 레코드를 읽고 처리할 수 있는`ClrKinesisDataStream`Streams.

```
{
  "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`
<a name="configuring-kaw-examples-sources-wpc"></a>

다음 파일은 열려있는 총 파일 수, 재부팅 이후 총 로그인 시도 횟수, 초당 디스크 읽기 수, 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 응용 프로그램 이벤트 로그에서 싱크로 스트리밍
<a name="configuring-kaw-examples-sinks"></a>

다음 예제는`appsettings.json`구성 파일은 Windows 애플리케이션 이벤트 로그를 Microsoft Windows용 Amazon Kinesis 에이전트의 다양한 싱크로 스트리밍하는 것을 보여 줍니다. 사용의 예는`KinesisStream`및`CloudWatch`싱크 유형에 대한 자세한 내용은[다양한 소스에서 Kinesis Data Streams 으로 스트리밍](#configuring-kaw-examples-sources).

### `KinesisFirehose`
<a name="configuring-kaw-examples-sinks-fh"></a>

다음 파일 스트림`Critical`또는`Error`Windows 응용 프로그램 로그 이벤트를`WindowsLogFirehoseDeliveryStream`us-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`
<a name="configuring-kaw-examples-sinks-cwl"></a>

다음 파일 스트림`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"
    }
  ]
}
```

## 파이프 사용
<a name="configuring-kaw-examples-pipes"></a>

다음 예제는`appsettings.json`구성 파일은 파이프 관련 기능을 사용하는 방법을 보여 줍니다.

 이 예제에서는 로그 항목을`c:\LogSource\`에`ApplicationLogFirehoseDeliveryStream`Kinesis 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),.*"
    }
  ]
}
```

## 여러 소스 및 파이프 사용
<a name="configuring-kaw-examples-multiple"></a>

다음 예제는`appsettings.json`구성 파일은 여러 소스 및 파이프 사용을 보여줍니다.

이 예제에서는 응용 프로그램, 보안 및 시스템 Windows 이벤트 로그를`EventLogStream`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"
		}
    ]
}
```