APM

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

Elasticsearch에 이미 로그와 시스템 메트릭을 보관하고 계신가요? Elastic APM을 이용하여 애플리케이션 메트릭으로 영역을 확장하세요. 단 4줄의 코드만 추가하면 거시적인 안목으로 문제를 신속하게 파악하여 해결하고 코드 품질을 신뢰할 수 있습니다.

이미 Opbeat 고객이며 도움이 필요하시다고요? 여기로 문의하세요

신규 기능 Elastic APM UI는 검색 바, 머신 러닝 통합, JavaScript로 된 Ruby 및 실사용자 모니터링을 위한 새로운 에이전트 그리고 Java 및 Go를 위한 베타 버전이 있습니다. 더 보기

검색 + APM

코드에서 문제점을 찾아서 고치려면 검색이 매우 중요합니다. Elastic APM은 전용 UI를 통해 병목현상을 파악하고 문제를 일으킬 수 있는 코드 변화를 관찰합니다. 이러한 작업은 보다 효율적인 코드 개발로 이어져 개발-테스트-배포 주기를 가속화하고 더욱 빠른 애플리케이션과 고객 경험을 제공합니다.

Screenshot

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

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

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

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

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

선 알림, 후 대응

대시보드가 예쁘긴 하지만, 계속 대시보드만 보고 계실 수는 없죠. 알림 기능으로 코드 작동 상태의 최신 정보를 받아보세요. 상태가 예측에서 벗어날 때 이메일 통지를 받거나 제대로 작동할 때 Slack 통지를 받으세요.

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

Elastic APM은 Node.js, Python, Ruby, 실사용자 모니터링(JavaScript), Java 및 Go를 지원하며 향후 이 외에도 지원되는 프로그래밍 언어를 확장할 예정입니다. 필요한 언어가 제공되지 않는다면 직접 만들거나 오픈 소스 커뮤니티를 활용할 수도 있습니다.

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

기존의 클러스터를 이용하거나 Elastic Stack을 새로 설치하고 APM 서버를 실행한 다음 에이전트로 애플리케이션을 모니터링할 약간의 코드만 추가하세요. 그러면 애플리케이션 성능 데이터를 Elasticsearch로 전송할 수 있습니다. 서버 측 에이전트를 이용하여 애플리케이션을 추척하고, RUM(실사용자 모니터링)을 사용하여 브라우저 문제를 탐색하세요. 질문이 있으시거나 설치를 변경하고 싶으세요? APM 문서화를 방문하거나 APM 포럼에 참여하세요.
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 the APM Server URL. If unspecified, 
# the agent will effectively be disabled.
export ELASTIC_APM_SERVER_URL=

# Set if APM Server requires a token.
export ELASTIC_APM_SECRET_TOKEN=
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.

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
Warning: The Java agent is currently in Beta and not meant for production use.
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으로 통합하여 분석을 확장할 수 있습니다. 활용 범위를 확대하고 운영 비용까지 절감하세요.

로그분석

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

더 보기

Metrics

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

더 보기

사이트 검색

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

더 보기

보안 분석

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

더 보기

앱 검색

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

더 보기