요약OpenTelemetry Collector를 사용해 EC2 메타데이터(인스턴스 ID, 리전, AZ, 인스턴스 유형)를 자동으로 보강하고, ClickStack에서 EC2 시스템 로그를 수집하고 시각화합니다. 데모 데이터셋과 사전 구축된 대시보드가 포함됩니다.
기존 EC2 인스턴스와의 통합
같은 EC2 인스턴스에서 ClickStack을 실행 중입니까?모니터링하려는 로그가 있는 동일한 EC2 인스턴스에서 ClickStack을 실행 중이라면 Generic Host Logs guide와 유사한 올인원 방식을 사용할 수 있습니다.
/var/log를 ClickStack 컨테이너에 마운트하고 사용자 지정 구성에 resourcedetection processor를 추가하면 EC2 메타데이터를 자동으로 수집할 수 있습니다. 이 가이드는 프로덕션 배포에서 더 일반적으로 사용하는 분산 아키텍처에 중점을 둡니다.사전 요구 사항
- 실행 중인 ClickStack 인스턴스(온프레미스, 클라우드 또는 로컬 환경)
- 실행 중인 EC2 인스턴스(Ubuntu, Amazon Linux 또는 기타 Linux 배포판)
- EC2 인스턴스에서 ClickStack의 OTLP 엔드포인트로의 네트워크 연결(HTTP는 포트 4318, gRPC는 포트 4317)
- EC2 인스턴스 메타데이터 서비스에 접근 가능(기본적으로 활성화됨)
1
EC2 메타데이터에 액세스할 수 있는지 확인
EC2 인스턴스에서 메타데이터 서비스에 액세스할 수 있는지 확인합니다:- 인스턴스 메타데이터 서비스가 활성화되어 있는지
- IMDSv2가 보안 그룹 또는 네트워크 ACL에 의해 차단되지 않았는지
- 이 명령을 EC2 인스턴스 자체에서 실행하고 있는지
EC2 메타데이터는 인스턴스 내부에서
http://169.254.169.254를 통해 사용할 수 있습니다. OpenTelemetry resourcedetection processor는 이 엔드포인트를 사용해 로그에 클라우드 Context를 자동으로 보강합니다.2
3
4
Collector 구성 만들기
/etc/otelcol-contrib/config.yaml에 OpenTelemetry Collector용 설정 파일을 생성하세요:- 최신 Linux 환경 (Ubuntu 24.04+)
- 기존 Linux 환경 (Amazon Linux 2, RHEL, 이전 Ubuntu)
구성에서 다음 항목을 교체하십시오:
YOUR_CLICKSTACK_HOST: ClickStack이 실행되는 호스트명 또는 IP 주소- 로컬에서 테스트하려면 SSH 터널을 사용할 수 있습니다(문제 해결 섹션 참조).
- 표준 경로(
Ubuntu의 경우/var/log/syslog,Amazon Linux/RHEL의 경우/var/log/messages)에서 시스템 로그 파일을 읽습니다 - syslog 포맷을 파싱해 구조화된 필드(타임스탬프, 호스트명, 유닛/서비스, PID, 메시지)를 추출합니다
resourcedetectionprocessor를 사용해 EC2 메타데이터를 자동으로 감지해 추가합니다- 있는 경우 EC2 태그(Name, Environment, Team)도 선택적으로 포함됩니다
- OTLP HTTP를 통해 ClickStack으로 로그를 전송합니다
EC2 메타데이터 보강
resourcedetection processor가 모든 로그에 다음 속성을 자동으로 추가합니다:cloud.provider: “aws”cloud.platform: “aws_ec2”cloud.region: AWS 리전(예: “us-east-1”)cloud.availability_zone: AZ(예: “us-east-1a”)cloud.account.id: AWS 계정 IDhost.id: EC2 인스턴스 ID(예: “i-1234567890abcdef0”)host.type: 인스턴스 유형(예: “t3.medium”)host.name: EC2 인스턴스의 호스트명
5
6
collector를 실행합니다
OpenTelemetry Collector를 시작합니다:프로덕션 환경에서 사용하는 경우부팅 시 자동으로 시작되고 장애 발생 시 자동으로 재시작되도록 collector를 systemd 서비스로 구성하십시오. 자세한 내용은 OpenTelemetry Collector 문서를 참조하십시오.
7
HyperDX에서 로그 확인
collector가 실행 중이면 HyperDX에 로그인한 다음, EC2 메타데이터와 함께 로그가 유입되고 있는지 확인합니다:- Search view로 이동합니다
- source를
Logs로 설정합니다 source:ec2-host-logs로 필터링합니다- 로그 항목을 클릭해 펼칩니다
- 리소스 속성에서 EC2 메타데이터가 표시되는지 확인합니다:
cloud.providercloud.regionhost.id(instance ID)host.type(인스턴스 유형)cloud.availability_zone
데모 데이터세트
1
샘플 데이터셋 다운로드
샘플 로그 파일을 다운로드하세요:- 시스템 부팅 과정
- SSH 로그인 활동(성공 및 실패 시도)
- 보안 사고(fail2ban 대응이 포함된 무차별 대입 공격)
- 정기 유지 관리(cron 작업, anacron)
- 서비스 재시작(rsyslog)
- 커널 메시지와 방화벽 활동
- 일반적인 운영과 주요 이벤트의 혼재
2
테스트용 collector 구성 만들기
다음과 같은 구성으로ec2-host-logs-demo.yaml 파일을 만드세요:데모 목적으로
resource processor를 사용해 EC2 메타데이터를 수동으로 추가합니다. 실제 EC2 인스턴스를 사용하는 프로덕션 환경에서는 EC2 메타데이터 API를 자동으로 조회하는 resourcedetection processor를 사용하십시오.3
4
HyperDX에서 로그 확인
collector가 실행되면 다음 단계를 따르세요:- HyperDX를 열고 계정에 로그인합니다 (먼저 계정을 생성해야 할 수 있습니다)
- 검색 뷰로 이동한 다음 source를
Logs로 설정합니다 - 시간 범위를 2025-11-10 00:00:00 - 2025-11-13 00:00:00로 설정합니다
source:ec2-demo로 필터링합니다- 로그 항목을 펼쳐 리소스 속성에서 EC2 메타데이터를 확인합니다
시간대 표시HyperDX는 브라우저의 로컬 시간대로 타임스탬프를 표시합니다. 데모 데이터는 2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC) 범위에 걸쳐 있습니다. 시간 범위를 넓게 설정하면 위치와 관계없이 데모 로그를 확인할 수 있습니다. 로그가 표시되면 더 명확한 시각화를 위해 범위를 24시간으로 좁힐 수 있습니다.
- 인스턴스 ID:
i-0abc123def456789 - 리전:
us-east-1 - 가용 영역:
us-east-1a - 인스턴스 유형:
t3.medium
대시보드 및 시각화
1
대시보드 구성 파일
2
사전 구축된 대시보드 가져오기
- HyperDX를 열고 Dashboards 섹션으로 이동합니다
- 오른쪽 상단의 점 3개 메뉴에서 Import Dashboard를 클릭합니다
host-logs-dashboard.json파일을 업로드한 다음 Finish Import를 클릭합니다
3
대시보드 보기
모든 시각화가 미리 구성된 상태로 대시보드가 생성됩니다:EC2 컨텍스트를 기준으로 대시보드 시각화를 필터링할 수 있습니다:cloud.region:us-east-1- 특정 리전의 로그 표시host.type:t3.medium- 인스턴스 유형으로 필터링host.id:i-0abc123def456- 특정 인스턴스의 로그
데모 데이터셋의 경우 시간 범위를 **2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC)**로 설정하십시오(로컬 시간대에 맞게 조정). 가져온 대시보드에는 기본적으로 시간 범위가 지정되어 있지 않습니다.
문제 해결
로그에 EC2 메타데이터가 표시되지 않는 경우
- 인스턴스 메타데이터 서비스가 활성화되어 있는지
- IMDSv2가 보안 그룹(Security Group)에 의해 차단되지 않는지
- EC2 인스턴스 자체에서 collector를 실행하고 있는지
HyperDX에 로그가 표시되지 않는 경우
로그 파싱이 올바르지 않은 경우
collector가 systemd 서비스로 시작되지 않는 경우
- 환경 변수에 API Key가 올바르게 설정되지 않음
- 구성 파일 구문 오류
- 로그 파일 읽기 권한 문제
다음 단계
- 중요한 시스템 이벤트(서비스 장애, 인증 실패, 디스크 경고)에 대한 알림을 설정합니다
- EC2 메타데이터 속성(리전, 인스턴스 유형, 인스턴스 ID)으로 필터링해 특정 리소스를 모니터링합니다
- 종합적인 문제 해결을 위해 EC2 호스트 로그를 애플리케이션 로그와 연관시킵니다
- 보안 모니터링(SSH 시도, sudo 사용, 방화벽 차단)을 위한 사용자 지정 대시보드를 생성합니다