///
Search

Elastic APM, Application 모니터링 핵심 요소 (이기현, 엘라스틱코리아)

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)

Elastic APM Agent - 설정

Real User Monitoring

Elastic RUM Agent

RUM - Dashboard / 사용자 경험에 대한 통계 제공

JAVA APM agent 설치 - Manually set JVM flag

Elastic APM Agent - Distributed Tracing 처리

Elastic RUM Agent 설정