Build your own Application Performance Monitoring (APM) solution with ELK and JMX – part 2

This post is the second (and last) part in this short series about building an Application Performance Monitoring (APM) solution with open source tools.

In part 1, we were able to build a simple solution to collect log statements, business metrics and JVM performance metrics (Logstash, JMX), and to retrieve data out of the store where they are indexed (Elasticsearch).

In part 2, we will configure a rich dashboard to easily visualize the information stored in Elasticsearch.

We will start from what we completed in part 1: Pet Clinic application is ready and exposing logs through logging framework to a text file and publishing metrics out of the JVM through JMX. Logstash is parsing logs and filtering out interesting JVM metrics sending them to Elasticsearch, which is up and running and providing results to queries sent via browser using the REST API.

Continue reading “Build your own Application Performance Monitoring (APM) solution with ELK and JMX – part 2”


Build your own Application Performance Monitoring (APM) solution with ELK and JMX – part 1

Application Performance Monitoring is one key area to implement in projects to ensure proper and smooth operations from day 1. APM solutions provide development and operations team with near real-time insights on how the applications and services are performing in production, allowing for proactive tune of services, as well as for early detection of possible production issues.

There are many APM solutions in the market, with diverse range of capabilities, from the inner workings of the JVM (threads in use, memory pools, garbage collection and what not) to user experience in web and mobile applications.

APM solutions can also be expensive, which causes that many projects, small or short-termed, simply cannot afford one.

In this series of two blog posts we will show how to leverage FOSS tools to build an APM solution, which although more limited in capabilities, may be of use for small projects.

We will be leveraging ELK – Elasticsearch, Logstash, Kibana -, the Java Management Extension library (JMX) and the Spring Framework support for JMX to easily expose application data out of the JVM.

NOTE: The following guide is written on ELK stack 5.2.1. Other versions may need slight adjustments to commands and/or configuration.

Continue reading “Build your own Application Performance Monitoring (APM) solution with ELK and JMX – part 1”

Slides from OpenSouthCode 2016 session – Accenture DevOps Platform – open source continuous delivery

Today I’ve had the enormous honour and pleasure to present during the OpenSouthCode conference, held in Malaga, my own city, where I’ve been so fortunate to live and work since 1999.

I’ve been speaking about something I’m very proud to be a small part of: the Accenture DevOps Platform. An open source, continuous delivery platform with many unique aspects like fast stand up, easy maintenance, extensibility and resilience. Did I already mention it is open source? As it is incredibly brilliant!

I’d like to publicly thanks, once again, to the organisation for giving to me this unique opportunity of divulge about this piece of technology in my own city, and to the participants for their questions during and after the session.

For those that could not attend, or are just curious about what the Accenture DevOps Platform is, I’ve uploaded the slides to Slideshare here. They are written in English.