Elastic APM 활용
Elastic APM 활용
Elastic APM 이란?
- Elastic Stack 기반의 앱 성능 모니터링 시스템
- 외부 HTTP 요청, DB Query, Cache 호출 등에 대한 상세한 성능 정보와 응답 속도를 실시간 모니터링
- 처리되지 않은 오류나 예외를 자동으로 수집해 Stack trace 기반으로 그룹화하여 확인 가능
APM Agent의 분산 Tracing 처리
- MSA 를 이루는 여러 Application 들의 전체 요청을 하나의 Trace로 성능을 분석 가능
- HTTP header에 traceparant 를 포함하여 요청하여 동일한 Trace에 추가되도록 함
Elastic APM 적용
- Express와 NestJs 기반의 서버를 생성하고 각각 gRPC 통신을 하며 MySQL DB를 사용
- Custom Transaction을 사용하여 Trace에 추가하는 과정 설명
- 서버 재실행 후 확인하여 point-server의 동작도 Trace에서 확인
활용 사례
- 실제 테이블 링에서 운영 중인 서버를 APM 을 통해 모니터링 하고 성능 개선
- Restful API로 HTTP 통신하므로 각 서버에 Agent를 실행하면 자동으로 추적
- 처리량과 지연 시간 확인하여 성능 개선
마무리
- Elastic Cloud 기초 워크샵 참석 경험을 통해 APM의 중요성을 깨달음
- 성능 문제 추적 및 모니터링에 APM 활용 권장