# APM with the Elastic Stack

서비스를 개발하는 것도 중요하지만
프로그램이 제대로 성능을 내고 있는지,
특정 구간에서 병목이 발생하는 것은 아닌지
모니터링하고 최적화하는 과정도 중요한데요.
APM은 이번 컨퍼런스에서 개인적으로도 관심이 가던 주제였습니다.

APM은 크게 APM Agent, APM 서버와
Kibana APM UI로 구성되는데,
서비스에 삽입된 APM Agent에서 APM 서버로 데이터를 전송하면
APM 서버에서 취합된 데이터를 Elasticsearch로 수집하여
Kibana APM UI에서 확인하는 흐름으로 작동합니다.

APM Agent는 각 언어에 맞춰 라이브러리 형태로 제공되는데,
현재는 Node.js, Python, Ruby, Frontend Javascript만 지원하고 Java는 아직 정식 버전이 아니라 프로덕트 환경에서의 사용은 권장하지 않습니다.
현재 열심히 개발 중이라고 하니 Java 에이전트도 곧 정식 버전으로 만나볼 수 있지 않을까 생각합니다.

서비스별로 분리된 MSA 환경이라 하더라도 서버 구간별 분석이 가능합니다.

APM 서버도 OS 별로 제공하고 있고 간단한 명령어 만으로도 설치가 가능합니다.

Elastic Stack을 이용하여 APM 시스템을 간단하게 구축하는 법을 알아볼 수 있는 세션이였습니다.

* APM Docs 발표자료 : https://www.elastic.co/guide/en/kibana/6.2/xpack-apm.html
* APM Server 다운로드 : https://www.elastic.co/downloads/apm

APM 시스템을 고민 중이시라면 위 공식 사이트에 가셔서 Quick Start 해보시길 바랍니다.

다음 포스팅은 Creating Canvas for Real-Time Infographics in Kibana 세션 편 입니다!