Monitoring Application using Elastic APM


preview imageDevOps
by Anurag Srivastava,Jan 16, 2020, 11:43:29 AM | 4 minutes |

In the previous blog "Configuring Django application with Elastic APM", I have covered how to configure the APM Agent with a Django blog application. Now after doing the configuration changes in the Django application, we should move to the Kibana interface to see how APM interface configuration can be done to see the application metrics. To set up the APM interface in Kibana, we need to do the following:

1) Open the Kibana URL and click on the "APM" link from the left menu. This will open the APM default page.

2) Now click on the "Settings" link on the top left side of the page. This will open the "Agent remote configuration" page with a message as "No configurations found.", as we are configuring it for the first time.

3) Click on the "Create configuration" button, this will open the "Create Configuration" popup where we can select the name of the application, environment, and other settings. Please refer to the below screenshot:




4) After saving the configuration, we can see the list page with the application name. This application name is the same which we have given in the APM Agent configuration in the Django setting. Please refer to the below screenshot:




If want to know how to configure APM Agent with Django application then please refer to the previous blog: "Configuring Django application with Elastic APM"

5) Now we need to go on the APM page of Kibana again and click on the "Setup Instructions" link.

6) From this page, we need to go on the APM Agent section and click on the "Check agent status" button to see if the agent is working fine and sending the data. In case we are not getting data then we need to check again if everything is configured properly.

7) Now click on the "Load Kibana objects" button to create the APM index pattern.

8) After that click on the "Launch APM" button to open the APM page. This will open the page with the APM application name.

9) Click on the APM application name which will open a dashboard with different metrics like 'time spent by span type', 'transaction duration', 'requests per minute, and 'transactions', etc. Please refer to the following screen:



10) Under transactions, we can see the different types of transactions like getting, post, and N/A, etc. We can click on any of the transaction links to get further drill-down details. So here I am going to click on the "POST blogs.views.BlogsClass" link to see the transaction details.

11) Again we can see some metrics like 'transaction duration', 'requests per minute', 'transaction duration distribution', and 'trace sample'.

12) Trace Sample is very important here as it provides some great information about the application. It has a timeline and metadata.

13) Under the timeline, we can get the details on how the request is fulfilled. It shows the period various activities had taken to fulfill the request. Please refer to the below screenshot:



14) Under metadata, we can get various details like transaction id, HTTP details, Host details, Service details, Process details, Agent details, URL details, and User-agent details, etc.

This way we can fetch vital pieces of information for an application using APM.


Other Blogs on Elastic Stack:

How to create Elasticsearch Cluster
Bucket Aggregation in Elasticsearch

Metrics Aggregation in Elasticsearch
Configure Logstash to push MySQL data into Elasticsearch 
Wildcard and Boolean Search in Elasticsearch
Elasticsearch Rest API
Basics of Data Search in Elasticsearch
Elasticsearch Rest API
Log analysis with Elastic stack 
Elasticsearch Installation and Configuration on Ubuntu 14.04
Introduction to Elasticsearch
Configure Logstash to push MongoDB data into Elasticsearch
Load CSV Data into Elasticsearch

In case of any doubt please leave your comments. You can also follow me on Twitter:https://twitter.com/anu4udilse

If you found this article interesting, then you can explore “Mastering Kibana 6.0”, “Kibana 7 Quick Start Guide”, “Learning Kibana 7”, and “Elasticsearch 7 Quick Start Guide” books to get more insight about Elastic Stack, how to perform data analysis, and how you can create dashboards for key performance indicators using Kibana.




Comments (0)

Leave a comment

Related Blogs

preview thumbnail
Introduction to Logstash

Dec 20, 2019, 11:38:31 AM | Anurag Srivastava

preview thumbnail
Importing MongoDB data into Elasticsearch

Mar 9, 2019, 8:20:38 AM | Anurag Srivastava

preview thumbnail
Importing MySQL data into Elasticsearch

Feb 9, 2019, 12:06:18 PM | Anurag Srivastava

preview thumbnail
Snapshot and Restore Elasticsearch Indices

Sep 16, 2019, 5:55:06 AM | Anurag Srivastava

preview thumbnail
Log analysis with Elastic stack

Jan 31, 2018, 6:11:29 AM | Anurag Srivastava

preview thumbnail
Creating Elasticsearch Cluster

Apr 6, 2019, 8:41:41 PM | Anurag Srivastava

Top Blogs

preview thumbnail
Configure SonarQube Scanner with Jenkins

Jun 21, 2018, 4:58:11 AM | Anurag Srivastava

preview thumbnail
Execute Commands on Remote Machines using sshpass

Jul 16, 2018, 5:00:02 PM | Anurag Srivastava

preview thumbnail
Importing MongoDB data into Elasticsearch

Mar 9, 2019, 8:20:38 AM | Anurag Srivastava

preview thumbnail
Importing MySQL data into Elasticsearch

Feb 9, 2019, 12:06:18 PM | Anurag Srivastava

preview thumbnail
Configure Jenkins for Automated Code Deployment

Jun 13, 2018, 3:44:01 PM | Anurag Srivastava

preview thumbnail
Deploying Angular code using Python script

Jun 26, 2018, 4:50:18 PM | Anurag Srivastava