17 August 2017 Engineering

Starting Down the Path of APM for the Elastic Stack

By Rasmus Makwarth

Rasmus is product manager for APM and was the co-founder of Opbeat.

A few months ago, Opbeat joined forces with Elastic, and today we’re really excited to take our first big step in adding APM to the Elastic Stack!

Adding APM (Application Performance Monitoring) to the Elastic Stack is a natural next step in providing our users with end-to-end monitoring, from logging, to server-level metrics, to application-level metrics, all the way to the end-user experience in the browser or client.

29385280-f75f134e-828b-11e7-927a-2dd457b70a34.pngScreenshot of Kibana dashboard showing application response times and requests per minute.

Elastic APM consists of three components - the agents, the server, and the UI:

  • The agents are libraries in your application that run inside of your application process. Agents automatically instrument your application in order to measure the duration of requests to your service. It also automatically measures things like database queries, cache calls, external http requests. Errors that happen inside your application are also automatically collected.
  • The server processes data from agents and stores the application data in Elasticsearch. The server is written in Golang.
  • The UI (in the alpha version) is pre-built, customizable Kibana Dashboards that gives you an instant overview of application response times, requests per minutes, error occurrences and more.

Today, we’ve open-sourced the server along with agents for Node.js and Python!

Early testers welcome

This is a pre-alpha release, and we welcome you to take it for an early spin. You can get started by following the README in the APM Server repo.

We’d love to get feedback as we work our way towards the alpha and beta releases, and you’re welcome to submit issues and join the discussion on our forum.

If you’d like to see us add support for your stack, please take a minute and fill out this form.

Dedicated APM UI is next

Later this year we’ll give the UI a massive upgrade when we release a dedicated APM UI, similar to the intuitive and easy-to-use interface that is known from Opbeat today. The UI will be delivered as a Kibana plugin and will be included in the Beta release. Stay tuned!