Monitoring Application using Elastic APM
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
Introduction to Logstash
Dec 20, 2019, 11:38:31 AM | Anurag Srivastava
Importing MongoDB data into Elasticsearch
Mar 9, 2019, 8:20:38 AM | Anurag Srivastava
Importing MySQL data into Elasticsearch
Feb 9, 2019, 12:06:18 PM | Anurag Srivastava
Snapshot and Restore Elasticsearch Indices
Sep 16, 2019, 5:55:06 AM | Anurag Srivastava
Log analysis with Elastic stack
Jan 31, 2018, 6:11:29 AM | Anurag Srivastava
Creating Elasticsearch Cluster
Apr 6, 2019, 8:41:41 PM | Anurag Srivastava
Top Blogs
Configure SonarQube Scanner with Jenkins
Jun 21, 2018, 4:58:11 AM | Anurag Srivastava
Execute Commands on Remote Machines using sshpass
Jul 16, 2018, 5:00:02 PM | Anurag Srivastava
Importing MongoDB data into Elasticsearch
Mar 9, 2019, 8:20:38 AM | Anurag Srivastava
Importing MySQL data into Elasticsearch
Feb 9, 2019, 12:06:18 PM | Anurag Srivastava
Configure Jenkins for Automated Code Deployment
Jun 13, 2018, 3:44:01 PM | Anurag Srivastava
Deploying Angular code using Python script
Jun 26, 2018, 4:50:18 PM | Anurag Srivastava