•
Elastic APM을 이용한 Application 모니터링
•
Elastic APM, Observability 란
•
APM - 이슈 원인 분석 및 개선 기능
•
APM Server 와 APM Agent
•
Demo
Application Performance Monitoring
Logs & Metrics (Time-Series)
이벤트 발생 전후 무슨일이?
원인 파악을 하고 싶은데…
Elastic APM
Observability
APM - 각각의 서비스에 대한 전체적 관리 View 제공
APM - 이슈 원인 분석 및 개선 가능
APM - 에러/리퀘스트별로 따로 모아 통계
•
하단에Unhandled 건은 try..catch로 처리 안된건.
APM - 여러 서비스를 모아 확인, 병목 서비스도 파악 가능
APM - 컨텍스트/메트릭/로그 등 다른 정보와 연계 분석
APM - Distributed Tracing
Elastic Stack
Elastic APM Server (APM Integration)
•
APM Server에서 데이터를 모은 후 Elasticsearch로 전달(rate limiting)
•
ALB - n APM Server 구성 가능(Stateless)
•
Elastic Agent Policy에 APM Integration으로 서버 설정(직접 설정시…)
Elastic APM Agent
•
Profile수준으로 깊숙하게 수집하는 것이 아니라 오버헤드가 거의 없다. Only Trace
Elastic APM Agent - 수집정보
•
Span - 최소 단위. 어떤 동작을 하는 것이 하나의 Span이다
•
Transaction - Span 들의 조합
•
Context - Request/Response 헤[더, 서비스 프레잌워크, DB정보 등이 포함된 값.
이 Context에 Custom값 포함 가능.
Elastic APM Agent - Distributed Tracing 처리
•
HTTP 헤더에 traceparent 값을 포함해서 백엔드로 보내야함…(HTTP)
•
HTTP이외 모듈은 traceparent 값을 별도의 방법으로 백엔드로 보내야함…(예> TCP)