피드로 돌아가기
Semgrep Observability with OpenTelemetry
Dev.toDev.to
DevOps

Semgrep 검출 결과를 OpenTelemetry Collector 파이프라인으로 자동 연계하는 구성 방법을 설명합니다.

Semgrep Observability with OpenTelemetry

Adam Gardner2026년 3월 31일5intermediate

Context

Semgrep은 정적 분석 결과를 JSONL 형식으로 출력하지만 이 결과를 직접 모니터링 시스템에 연계하려면 별도 파싱 로직이 필요합니다. OpenTelemetry Collector의 로그 수집 기능을 활용하면 커스텀 도구 출력을 표준 OTel 파이프라인에 통합할 수 있습니다.

Technical Solution

  • Semgrep → --json -o 옵션으로 JSONL 파일 출력
  • filelog receiver → out.json 파일 모니터링, start_at: beginning으로 실시간 추적
  • json_parser → body 필드를 JSON으로 파싱
  • transform processor → 현재 시간으로 time/observed_time 설정, tool: semgrep 속성 추가, results_found에 배열 길이 저장
  • signal_to_metrics connector → 로그 내 profiling_times, scanning_time 등을 메트릭으로 변환

Impact

규칙 미스 매칭 시 results_found: 0으로 설정되어 위반 건수 기반 알림 자동화 가능

Key Takeaway

커스텀 도구의 JSONL 출력을 OTel Collector의 filelog receiver로 수집하면 기존 OTel 생태계와의 통합이 간단해집니다.


Semgrep CI/CD 환경에서 OpenTelemetry Collector의 transform processor를 사용하면 검출 결과를 로그/메트릭 파이프라인으로 직접 전송하여 대시보드 연동 및 비용 모니터링 자동화 달성

원문 읽기