APM

(APM)

Elasticsearchにログやシステムメトリックを取り込みましたか?ElasticのAPMで、アプリケーションのメトリックも投入できます。

ElasticのAPMで、パフォーマンスメトリックも簡単に可視化。 ビデオを見る

New JavaおよびGoエージェントが一般公開されました。分散トレーシング(ベータ)でリクエスト全体をトレースし、ボトルネックをピンポイントで特定できます。 さらに詳しく

検索 + APM

コードから問題を検索し、修正できます。APM専用UIを搭載。ボトルネックを特定し、問題をはらむ変化にコードレベルで着目できます。開発・テストのサイクルから、アプリケーションのパフォーマンス、ユーザーエクスペリエンスまで、開発のあらゆるフェーズでコードを最適化することができます。

Screenshot

インフラを通過するリクエストの数はいくつ?個々の取引を結びつける分散トレーシングを使えば1つのリクエストの全体像を追うことができ、サービスの状況を明確に把握できます。パスのどこでレイテンシーが生じるか特定することで、最適化が必要なコンポーネントもおのずとわかります。

使えるAPM

ElasticのAPMを使ってアプリケーションのパフォーマンスメトリックをElasticsearchに送信すれば、Kibanaのダッシュボードですぐに可視化されます。

Elasticsearchはロードキュメントのデータを格納します。インフラのログや、サーバーのメトリック、セキュリティイベントと共に格納され、すべてのデータを1か所で分析することができます。

機械学習で異常を検知

APMのUIから直接ジョブを作成できます。データを自動でモデル化する機械学習機能が、異常な振る舞いや問題箇所を発見してくれます。

通知で、わかる

Kibanaのダッシュボードがどれほど美しくても、ずっと監視しているわけにはいきません。アラート機能なら、目を離しているときも状況が分かります。問題がある時も、万事うまくいっている時も、メールやSlackの通知が届きます。

開発者フレンドリー、
言語フレンドリー

ElasticのAPMはNode.js、Python、Ruby、Real User Monitoring (JavaScript)、Java、Goをサポートします。拡張もお手のもの。あなた自身で構築することも、オープンソースコミュニティを活用することもできます。

わずか4行のコード追加ではじめる

稼働中のクラスターのモニタリングでも、Elastic Stackでこれから構築する場合も、簡単にはじめることができます。APMサーバーを起動してコードを数行加えたら、エージェントの組み込みは完了。 これでアプリのパフォーマンスデータをElasticsearchに送信することができます。 サーバーサイドエージェントがアプリをトラッキングし、RUM(リアルユーザーモニタリング)でブラウザーのあらゆる問題を発見します。インストールの詳しい手順は APMドキュメントAPMフォーラムにも記載されています。

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の他にも、豊富な機能ラインナップ

セキュリティイベントも、Webサイトやサーバーのログも、膨大なテキストドキュメントも、まとめてElastic Stackに投入しましょう。分析の幅が広がり、運用コストが低下、ユースケースをさらに充実させることができます。

ログ分析

高速でスケーラブルなログをリアルタイムに分析。

さらに詳しく

セキュリティ分析

高速かつ大規模な、リアルタイムの異常検知。

さらに詳しく

Swiftypeサイト内検索

ウェブサイトの検索機能を大幅に向上。

さらに詳しく

メトリック分析

CPUやメモリなど、幅広いデータを収集し、分析。

さらに詳しく

アプリ検索

ドキュメント、地理データなどを検索。

さらに詳しく