APM mainly consists of four different components, which work together to monitor the application. These components are as follows:
- APM Agents
- APM Server
- Elasticsearch
- Kibana
We can configure APM Agents as a library for an application, to send application metrics and data to the APM Server, from where data can be pushed to the Elasticsearch Cluster. Once data is pushed to Elasticsearch, we can view and analyze the data using the Kibana APM UI or Dashboard. Now, let's understand what each of these components does and how they can be configured with a different application:
In the preceding diagram, we have three APM Agents, which are sending data to a central APM Server, from where data is pushed to an Elasticsearch cluster, and then using Kibana, we can visualize and analyze this data through the APM UI or the Dashboard of Kibana.