피드로 돌아가기
Dev.toDevOps
원문 읽기
Semgrep 검출 결과를 OpenTelemetry Collector 파이프라인으로 자동 연계하는 구성 방법을 설명합니다.
Semgrep Observability with OpenTelemetry
AI 요약
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를 사용하면 검출 결과를 로그/메트릭 파이프라인으로 직접 전송하여 대시보드 연동 및 비용 모니터링 자동화 달성