Fluentd를 통한 Windows 이벤트 로그를 S3로 전달하기(레거시)
이 가이드에 설명된 프로세스는 더 이상 Windows 이벤트 로그 온보딩에 권장되는 방법이 아닙니다. 대신 다음 지침을 따르세요 Windows 이벤트 로그는 Fluent Bit을 활용합니다. Fluent Bit 설정 프로세스는 Fluentd보다 복잡성이 낮고 추가 인프라가 필요하지 않습니다.
개요
이 가이드는 Fluentd를 사용해 Windows 이벤트 로그를 S3로 전달하는 방법을 제공합니다. 두 가지 파이프라인 흐름이 있습니다: AWS Firehose 전송 스트림을 경유하는 방식과 AWS S3 버킷으로 직접 전송하는 방식입니다.
필수 조건
이 가이드는 S3 버킷 또는 Firehose가 이미 생성되어 있다고 가정합니다. 이러한 리소스 중 하나를 생성해야 하는 경우, 다음을 참조하세요 Fluentd 온보딩 가이드이미 리소스를 프로비저닝한 경우 아래 가이드를 필요에 맞게 조정할 수 있습니다.
Fluentd 설정
1단계. Fluentd 설치
Windows 이벤트 로그를 수집하려는 Windows 서버에 대한 Fluentd 설치 지침 을 따르세요. Fluentd가 서비스로 실행되고 있는지 확인하려면 설치 지침을 참조하십시오.
2단계. Fluentd 구성 편집
아래 구성으로 Fluentd 구성을 편집하십시오. 이렇게 하면 Fluentd가 이벤트를 읽고 S3로 출력하도록 windows_eventlog2 플러그인을 사용하도록 구성됩니다. 아래 구성에서 s3_bucket, s3_region, aws_key_id및 aws_sec_key 을(를) 업데이트하십시오:
C:\opt\td-agent\etc\td-agent\td-agent.conf<source>
@type windows_eventlog2
@id windows_eventlog2
channels application,system,security
tag system
render_as_xml true
<storage>
persistent false
</storage>
parse_description false
read_existing_events false
</source>
<match system.**>
@type s3
s3_bucket <BUCKET-NAME>
s3_region <BUCKET-REGION>
path winevent/%Y/%m/%d/
store_as gzip
## 아래에 두 가지 인증 방법이 있습니다.
## EC2에서 실행 중인 경우 토큰 키 대신 역할 가정(assume role) 자격 증명을 사용할 수 있습니다
## 비밀 토큰 인증
#aws_key_id <ACCESS-KEY-ID>
#aws_sec_key <SECRET-KEY>
## 역할 가정 인증
<assume_role_credentials>
duration_seconds 3600
role_arn <ROLE-ARN>
role_session_name "#{Socket.gethostname}-panther-audit"
</assume_role_credentials>
<buffer tag,time>
@type file
path /var/log/fluent/s3
timekey 300 # 5분 파티션
timekey_wait 2m
timekey_use_utc true # UTC 사용
chunk_limit_size 256m
</buffer>
<format>
@type json
</format>
</match>
#<match system.**>
# @type kinesis_firehose
# region <STREAM-REGION>
# delivery_stream_name <FIREHOSE-STREAM-NAME>
#
# <assume_role_credentials>
# duration_seconds 3600
# role_arn <ROLE-ARN>
# role_session_name "#{Socket.gethostname}-panther-audit"
# </assume_role_credentials>
# <format>
# @type json
# </format>
#</match>다음에 대해 자세히 읽을 수 있습니다 windows_eventlog2 플러그인 여기.
3단계. Fluentd 시작
명령 프롬프트에서 아래 명령으로 서비스를 시작하거나 재시작하십시오. 이전에 실행 중이었다면 서비스를 중지/시작해야 할 수 있습니다.
다음 명령으로 서비스가 실행 중인지 확인하십시오:
서비스가 실행 중일 때의 예상 출력:
Fluentd 런타임 로그는 다음에서 확인할 수 있습니다 C:\opt\td-agent\td-agent.log
문제 해결을 위해 명령줄에서 td-agent를 실행하고 실시간 출력을 검토할 수도 있습니다. C:\opt\td-agent\bin\td-agent -vv. 수동으로 실행하기 전에 Fluentd 서비스를 중지하십시오.
4단계. 로깅 확인
몇 분이 지나면 이벤트가 S3 버킷에 기록되고 있는지 확인하십시오. 로그는 버킷 내의 winevent/ 프리픽스에 표시되어야 합니다.
Panther 콘솔
1단계. 사용자 지정 스키마 생성
로 이동합니다 구성 > 스키마. 클릭 +새 스키마 그런 다음 아래 값을 스키마 필드에 입력하십시오:
이름: Custom.WindowsEventLogs2 설명: 애플리케이션, 보안, 시스템용 Windows 이벤트 로그
위의 스키마는 이 가이드 앞부분에 제공된 Fluentd source 지시문 구성에서 생성된 로그를 사용하여 생성되었습니다.
2단계. S3 버킷 온보딩
다음을 따르십시오 S3 소스 온보딩 문서를 참고하고 이전 설정에서 사용한 S3 버킷을 사용하세요.
온보딩 단계에서 로그 유형 Custom.WindowsEventLogs2 과 프리픽스 winevent/ 를 선택하십시오. 버킷 온보딩을 완료한 후 데이터가 이제 Panther로 유입되어야 합니다!
Last updated
Was this helpful?

