APM

오픈소스 애플리케이션 성능 모니터링(Application Performance Monitoring, APM)

Elasticsearch에 이미 로그와 시스템 메트릭을 보관하고 계신가요? Elastic APM을 이용하여 애플리케이션 메트릭으로 영역을 확장하세요. 단 4줄의 코드로 전체적인 상황을 파악하며 문제를 신속하게 해결하고 효율적인 코딩을 진행할 수 있습니다.

개발자 중심 APM 솔루션의 세부 정보를 속속들이 살펴보세요. 동영상 보기

새 기능 Elastic APM이 이제 호스트형 Elasticsearch Service와 Elastic Cloud Enterprise에서 제공됩니다. 또한, 분산 추적도 이제 공식 기능이 되었습니다. 자세히 보기

검색 + APM

코드에서 장애물을 찾아내고 수정하는 것은 결국 검색에서 비롯됩니다. 저희의 전용 UI를 통해 병목현상을 파악하고 문제를 일으킬 수 있는 코드 변화를 관찰합니다. 이러한 작업은 보다 효율적인 코드 개발로 이어져 개발-테스트-배포 주기를 가속화하고 더욱 빠른 애플리케이션과 고객 경험을 제공합니다.

Screenshot

분산 배포로 모든 것을 통합하고 연결하세요.

전체 인프라를 통해 요청이 어떻게 이동하는지 궁금하세요? 트랜잭션을 분산 추적과 연결하여 서비스가 어떻게 상호작용하고 있는지 확실히 파악하세요. 대기 시간 문제가 경로 중 어디서 발생하고 있는지 찾아낸 다음, 최적화가 필요한 구성요소를 정확히 집어내세요.

대시보드에 APM을 추가하세요.

Elastic APM은 사용자 애플리케이션이 미리 구성된 대시보드를 이용해 Kibana에서 시각화를 위해 Elasticsearch로 성능 메트릭을 전송할 수 있도록 하는 도구입니다.

데이터가 Elasticsearch에 원본 문서 형태로 저장되기 때문에 데이터 추적을 인프라 로그, 서버 메트릭, 보안 이벤트와 함께 보관 가능하며 한 곳에서 모든 데이터를 편리하게 탐색할 수 있습니다.

머신 러닝을 이용한 이상 반응 시간 탐색

APM UI에서 작업을 직접 생성하세요. 데이터를 자동 모델링하는 머신 러닝 기능으로 이상 행동과 문제 있는 부분을 찾아내세요.

선 알림, 후 대응

저희 대시보드가 예쁘긴 하지만 항상 대시보드만 바라보고 있을 수는 없을 것입니다. 알림 기능으로 코드가 어떻게 실행되고 있는지 최신 정보를 받아보세요. 무엇인가 정상에서 벗어나면 이메일 알림을 받으세요. 또는 무엇인가 아주 제대로 진행되고 있으면 Slack 알림을 보내드립니다.

개발자 친화적이고,
언어 친화적인 시스템

Elastic APM은 자바, Go, Node.js, Python, Ruby와 Real User Monitoring(자바스크립트)을 지원하며 향후 더 많은 다수의 프로그래밍 언어도 지원할 예정입니다. 필요한 언어가 제공되지 않는다면 직접 만들거나 오픈 소스 커뮤니티를 활용할 수도 있습니다.

4줄의 코드만으로 바로 시작할 수 있습니다

기존 클러스터를 사용하거나 Elastic Stack을 새로 설치하여 APM Server를 돌리고 에이전트로 앱을 이용하기 위한 코드를 약간 추가하세요. 이렇게만 하면 Elasticsearch로 애플리케이션 성능 데이터가 전송됩니다. 서버 쪽 에이전트를 사용하여 애플리케이션을 추적하고 Real User Monitoring(RUM)으로 브라우저의 문제를 잡아내세요. 질문이 있거나 설치 조정이 필요하세요? APM 설명서를 확인해 보시거나 저희 APM 포럼에 가입하세요.
  • Register for a free trial, if you do not already have an account
  • Log into the Elastic Cloud console
To create a cluster, in Elastic Cloud console:
  • Select Create Deployment, and specify the deployment name
  • Click Create Deployment
  • Wait until deployment creation completes, click the deployment name
  • Under the new deployment click APM
  • Save the APM Secret Token, we will refer to it as <apm_token> below
  • Note the APM Server URL, we will refer to it as <apm_server_url> below

Download the Java agent:

Download the agent jar from Maven Central. Do not add the agent as a dependency to your application.

Start your application with javaagent flag:

Add the -javaagent flag and configure the agent with system properties.

java \
 -javaagent:/.../elastic-apm-agent-<version>.jar\
 -Delastic.apm.service_name=my-application\
 -Delastic.apm.server_url=<apm_endpoint>\
 -Delastic.apm.secret_token=<apm_token>\
 -Delastic.apm.application_packages=org.example\
 -jar my-application.jar
Open Kibana from Kibana section of the Elastic Cloud console (login: elastic/<password>)
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

  • Register for a free trial, if you do not already have an account
  • Log into the Elastic Cloud console
To create a cluster, in Elastic Cloud console:
  • Select Create Deployment, and specify the deployment name
  • Click Create Deployment
  • Wait until deployment creation completes, click the deployment name
  • Under the new deployment click APM
  • Save the APM Secret Token, we will refer to it as <apm_token> below
  • Note the APM Server URL, we will refer to it as <apm_server_url> below

Install the APM Agent for Node.js as a dependency to your application.

Configure the agent to run inside your application process.

Specify the following in configuration

// Add this to the VERY top of the first 
// file loaded in your app
var apm = require('elastic-apm-node').start({
  // Override service name from package.json
  // Allowed characters: a-z, A-Z, 0-9, -, _, 
  // and space
  serviceName: '',


  // Use if APM Server requires a token
  secretToken: '<apm_token>',


  // Set custom APM Server URL
  // Default: http://localhost:8200
  serverUrl: '<apm_server_url>'
})
Open Kibana from Kibana section of the Elastic Cloud console (login: elastic/<password>)
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

  • Register for a free trial, if you do not already have an account
  • Log into the Elastic Cloud console
To create a cluster, in Elastic Cloud console:
  • Select Create Deployment, and specify the deployment name
  • Click Create Deployment
  • Wait until deployment creation completes, click the deployment name
  • Under the new deployment click APM
  • Save the APM Secret Token, we will refer to it as <apm_token> below
  • Note the APM Server URL, we will refer to it as <apm_server_url> below

Install the APM agent for Python as a dependency.

Configure the agent.

Specify the following in configuration

# Add the agent to the installed apps
INSTALLED_APPS = (
   'elasticapm.contrib.django',
   #...
 
)


ELASTIC_APM = {
  # Set required service name. 
  # Allowed characters:
  # a-z, A-Z, 0-9, -, _, and space
  'SERVICE_NAME': '',

  # Use if APM Server requires a token
  'SECRET_TOKEN': '<apm_token>',

  # Set custom APM Server URL (
  # default: http://localhost:8200)
  'SERVER_URL': '<apm_server_url>',
}
# To send performance metrics, add our 
# tracing middleware:
MIDDLEWARE = (
   'elasticapm.contrib.django.middleware.TracingMiddleware',
   #...
)
Open Kibana from Kibana section of the Elastic Cloud console (login: elastic/<password>)
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

  • Register for a free trial, if you do not already have an account
  • Log into the Elastic Cloud console
To create a cluster, in Elastic Cloud console:
  • Select Create Deployment, and specify the deployment name
  • Click Create Deployment
  • Wait until deployment creation completes, click the deployment name
  • Under the new deployment click APM
  • Save the APM Secret Token, we will refer to it as <apm_token> below
  • Note the APM Server URL, we will refer to it as <apm_server_url> below

Install the APM Agent for Python as a dependency.

Configure the agent.

Specify the following in configuration

# initialize using environment variables 
from elasticapm.contrib.flask import ElasticAPM
app = Flask(__name__)
apm = ElasticAPM(app)

# or configure to use ELASTIC_APM in your 
# application's settings
#
from elasticapm.contrib.flask import ElasticAPM
app.config['ELASTIC_APM'] = {
  # Set required service name. 
  # Allowed characters:
  # a-z, A-Z, 0-9, -, _, and space
  'SERVICE_NAME': '',

  # Use if APM Server requires a token
  'SECRET_TOKEN': '<apm_token>',

  # Set custom APM Server URL (
  # default: http://localhost:8200)
  #
  'SERVER_URL': '<apm_server_url>',
}
apm = ElasticAPM(app)
Open Kibana from Kibana section of the Elastic Cloud console (login: elastic/<password>)
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

  • Register for a free trial, if you do not already have an account
  • Log into the Elastic Cloud console
To create a cluster, in Elastic Cloud console:
  • Select Create Deployment, and specify the deployment name
  • Click Create Deployment
  • Wait until deployment creation completes, click the deployment name
  • Under the new deployment click APM
  • Save the APM Secret Token, we will refer to it as <apm_token> below
  • Note the APM Server URL, we will refer to it as <apm_server_url> below

Install the APM agent by adding the agent to your Gemfile

Configure the agent by creating the config file config/elastic_apm.yml

Specify the following in configuration

# Set service name - allowed characters: 
# a-z, A-Z, 0-9, -, _ and space
# Defaults to the name of your Rails app
# service_name: 'my-service'

# Use if APM Server requires a token
#
secret_token: '<apm_token>'

# Set custom APM Server URL (
# default: http://localhost:8200)
#
server_url: '<apm_server_url>'
Open Kibana from Kibana section of the Elastic Cloud console (login: elastic/<password>)
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

  • Register for a free trial, if you do not already have an account
  • Log into the Elastic Cloud console
To create a cluster, in Elastic Cloud console:
  • Select Create Deployment, and specify the deployment name
  • Click Create Deployment
  • Wait until deployment creation completes, click the deployment name
  • Under the new deployment click APM
  • Save the APM Secret Token, we will refer to it as <apm_token> below
  • Note the APM Server URL, we will refer to it as <apm_server_url> below

Install the APM agent by adding the agent to your Gemfile

Configure the agent

Specify the following in configuration file config/elastic_apm.yml

# Set service name - allowed characters: 
# a-z, A-Z, 0-9, -, _ and space
#
# Defaults to the name of your Rails app
# service_name: 'my-service'

# Use if APM Server requires a token
#
secret_token: '<apm_token>'

# Set custom APM Server URL (
# default: http://localhost:8200)
#
server_url: '<apm_server_url>'
Initialize the agent by including the middleware in your app and start the agent. Rack or compatible frameworks (like Sinatra):
# config.ru
  require 'sinatra/base'

  class MySinatraApp < Sinatra::Base
    use ElasticAPM::Middleware

    # ...
  end

  ElasticAPM.start(
    app: MySinatraApp, # required
    config_file: '' # optional
  )

  run MySinatraApp

  at_exit { ElasticAPM.stop }
Open Kibana from Kibana section of the Elastic Cloud console (login: elastic/<password>)
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

  • Register for a free trial, if you do not already have an account
  • Log into the Elastic Cloud console
To create a cluster, in Elastic Cloud console:
  • Select Create Deployment, and specify the deployment name
  • Click Create Deployment
  • Wait until deployment creation completes, click the deployment name
  • Under the new deployment click APM
  • Save the APM Secret Token, we will refer to it as <apm_token> below
  • Note the APM Server URL, we will refer to it as <apm_server_url> below

Install the APM agent for JavaScript as a dependency to your application:

Configure the agent:

Specify the following in configuration

import { init as initApm } from 'elastic-apm-js-base'
var apm = initApm({

  // Set required service name 
  // (allowed characters: a-z, A-Z, 0-9, -, _, 
  // and space)
  serviceName: '',

  // Set custom APM Server URL (
  // default: http://localhost:8200)
  serverUrl: '<apm_server_url>',

  // Set service version (required for sourcemap 
  // feature)
  serviceVersion: ''
})
Open Kibana from Kibana section of the Elastic Cloud console (login: elastic/<password>)
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

  • Register for a free trial, if you do not already have an account
  • Log into the Elastic Cloud console
To create a cluster, in Elastic Cloud console:
  • Select Create Deployment, and specify the deployment name
  • Click Create Deployment
  • Wait until deployment creation completes, click the deployment name
  • Under the new deployment click APM
  • Save the APM Secret Token, we will refer to it as <apm_token> below
  • Note the APM Server URL, we will refer to it as <apm_server_url> below

Install the APM agent packages for Go.

Configure the agent:

Specify the following in configuration

# Set the service name. Allowed characters: 
# a-z, A-Z, 0-9, -, _, and space.
# If ELASTIC_APM_SERVICE_NAME is not specified,
# the executable name will be used.
export ELASTIC_APM_SERVICE_NAME=


# Set custom APM Server URL
# (default: http://localhost:8200)
export ELASTIC_APM_SERVER_URL= <apm_server_url> 

# Set if APM Server requires a token.
export ELASTIC_APM_SECRET_TOKEN= <apm_token>
Instrument your Go application by using one of the provided instrumentation modules or by using the tracer API directly:
import (
        "net/http"

        "go.elastic.co/apm/module/apmhttp"
)

func main() {
        mux := http.NewServeMux()
        ...
        http.ListenAndServe(":8080", apmhttp.Wrap(mux))
}

See the documentation for a detailed guide to instrumenting Go source code.

Open Kibana from Kibana section of the Elastic Cloud console (login: elastic/<password>)
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

Download the Java agent:

Download the agent jar from Maven Central. Do not add the agent as a dependency to your application.

Start your application with javaagent flag:

Add the -javaagent flag and configure the agent with system properties.

java \
 -javaagent:/.../elastic-apm-agent-<version>.jar\
 -Delastic.apm.service_name=my-application\
 -Delastic.apm.server_url=http://localhost:8200\
 -Delastic.apm.application_packages=org.example\
 -jar my-application.jar
Open browser @
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

Install the APM Agent for Node.js as a dependency to your application.

Configure the agent to run inside your application process.

// Add this to the VERY top of the first 
// file loaded in your app
var apm = require('elastic-apm-node').start({
  // Override service name from package.json 
  // Allowed characters: a-z, A-Z, 0-9, -, _, 
  // and space
  serviceName: '',
  
  // Use if APM Server requires a token
  secretToken: '',
  
  // Set custom APM Server URL
  // Default: http://localhost:8200
  serverUrl: ''
})
Open browser @
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

Install the APM agent for Python as a dependency.

Configure the agent.

# Add the agent to the installed apps
INSTALLED_APPS = (
   'elasticapm.contrib.django',
   #...
 
)


ELASTIC_APM = {
  # Set required service name. 
  # Allowed characters:
  # a-z, A-Z, 0-9, -, _, and space
  'SERVICE_NAME': '',

  # Use if APM Server requires a token
  'SECRET_TOKEN': '',

  # Set custom APM Server URL (
  # default: http://localhost:8200)
  #
  'SERVER_URL': '',
}
# To send performance metrics, add our tracing middleware:
MIDDLEWARE = (
   'elasticapm.contrib.django.middleware.TracingMiddleware',
   #...
)
Open browser @
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

Install the APM agent for Python as a dependency.

Configure the agent.

# initialize using environment variables 
from elasticapm.contrib.flask import ElasticAPM
app = Flask(__name__)
apm = ElasticAPM(app)

# or configure to use ELASTIC_APM in your 
# application's settings
#
from elasticapm.contrib.flask import ElasticAPM
app.config['ELASTIC_APM'] = {
  # Set required service name. 
  # Allowed characters:
  # a-z, A-Z, 0-9, -, _, and space
  'SERVICE_NAME': '',

  # Use if APM Server requires a token
  'SECRET_TOKEN': '',

  # Set custom APM Server URL (
  # default: http://localhost:8200)
  #
  'SERVER_URL': '',
}
apm = ElasticAPM(app) 
Open browser @
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

Install the APM agent by adding the agent to your Gemfile

Configure the agent by creating the config file config/elastic_apm.yml

# Set service name - allowed characters: 
# a-z, A-Z, 0-9, -, _ and space
# Defaults to the name of your Rails app
# service_name: 'my-service'

# Use if APM Server requires a token
#
# secret_token: ''

# Set custom APM Server URL (
# default: http://localhost:8200)
#
# server_url: 'http://localhost:8200'
Open browser @
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

Install the APM agent by adding the agent to your Gemfile

Configure the agent by creating the config file config/elastic_apm.yml

# Set service name - allowed characters: 
# a-z, A-Z, 0-9, -, _ and space
#
# Defaults to the name of your Rails app
# service_name: 'my-service'

# Use if APM Server requires a token
#
# secret_token: ''

# Set custom APM Server URL (
# default: http://localhost:8200)
#
# server_url: 'http://localhost:8200'

Initialize the agent by including the middleware in your app and start the agent. Rack or compatible frameworks (like Sinatra):

# config.ru
  require 'sinatra/base'

  class MySinatraApp < Sinatra::Base
    use ElasticAPM::Middleware

    # ...
  end

  ElasticAPM.start(
    app: MySinatraApp, # required
    config_file: '' # optional
  )

  run MySinatraApp

  at_exit { ElasticAPM.stop }

Open browser @
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

Install the APM agent for JavaScript as a dependency to your application:

Configure the agent:

import { init as initApm } from 'elastic-apm-js-base'
var apm = initApm({

  // Set required service name 
  // (allowed characters: a-z, A-Z, 0-9, -, _, 
  // and space)
  serviceName: '',

  // Set custom APM Server URL (
  // default: http://localhost:8200)
  serverUrl: '',

  // Set service version (required for sourcemap 
  // feature)
  serviceVersion: ''
})

Open browser @
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

Install the APM agent packages for Go.

Configure the agent:

# Set the service name. Allowed characters: 
# a-z, A-Z, 0-9, -, _, and space.
# If ELASTIC_APM_SERVICE_NAME is not specified,
# the executable name will be used.
export ELASTIC_APM_SERVICE_NAME=

# Set custom APM Server URL 
# (default: http://localhost:8200)
export ELASTIC_APM_SERVER_URL=

# Set if APM Server requires a token.
export ELASTIC_APM_SECRET_TOKEN=

Instrument your Go application by using one of the provided instrumentation modules or by using the tracer API directly:

import (
 "net/http"

 "go.elastic.co/apm/module/apmhttp"
)

func main() {
 mux := http.NewServeMux()
 ...
 http.ListenAndServe(":8080", apmhttp.Wrap(mux))
}

See the documentation for a detailed guide to instrumenting Go source code.

Open browser @
Launch the APM app OR navigate to the APM-* dashboards
What just happened?

The APM agent installed in your application collects and streams application performance metrics to your APM server, where they are processed and stored in Elasticsearch. In a matter of minutes you can start viewing your performance data either in the dedicated APM UI or prebuilt dashboards.

Advanced configuration?

Please refer to the APM documentation.

APM은 데이터를 나누는 여러 방법 중 하나일 뿐입니다.

보안 이벤트, 웹사이트 및 서버 로그, 수많은 텍스트 문서를 처리해야 하나요? 모든 자료를 Elastic Stack으로 통합하여 분석을 확장할 수 있습니다. 활용 범위를 확대하고 운영 비용까지 절감하세요.

로그분석

빠르고 확장 가능하며 중단되지 않는 실시간 로깅.

더 보기

메트릭

CPU, 메모리 및 그 외의 다양한 수치 분석.

더 보기

사이트 검색

손쉽게 만들고 추가하는 사이트 검색의 경험.

더 보기

보안 분석

빠르고 확장 가능한 상호 교환형 정보 수색.

더 보기

앱 검색

문서, 위치정보 및 그 이상의 검색.

더 보기