# How to get started with Elastic APM?

**URL:** https://discuss.elastic.co/t/how-to-get-started-with-elastic-apm/328124
**Category:** APM
**Tags:** server
**Created:** [March 21, 2023, 4:34am UTC](https://discuss.elastic.co/t/how-to-get-started-with-elastic-apm/328124 "2023-03-21T04:34:40Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Shoeb\_Masum](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/shoeb_masum/32/118691_2.png) [@Shoeb\_Masum](https://discuss.elastic.co/u/Shoeb_Masum)
#### Post date: [March 21, 2023, 4:34am UTC](https://discuss.elastic.co/t/how-to-get-started-with-elastic-apm/328124/1 "2023-03-21T04:34:40Z")

</div>

I want to explore Elastic APM to be used in some of our IT applications. The plan is to go with the free version of the self-managed Elastic APM. I learned four components of the Elastic APM solution - APM agents, APM Server/APM integration, Elasticsearch & Kibana. APM Agent needs to be installed in the servers which need to be under APM monitoring. However, rest three components need to be installed in separate servers/VM. I saw the installation guide to install these components which should be ok to start. I tried but was still unable to find some relevant information to prepare a complete plan to begin. It would be helpful if I get some references for the following information.

> 1. Does it require three separate servers/VM to install the components - APM Server/APM integration, Elasticsearch & Kibana? or a single instance is ok.
> 2. How can I get the infrastructure (CPU, Memory, storage) requirement for these 3 components?
> 3. How to calculate bandwidth requirements?
> 4. What is the impact on the server utilization after APM Agent installation? e.g, CPU & RAM usage.

To all respected members,  
If anyone already did small-scale self-managed Elastic APM, it would be a great help if you can share dimensioning, deployment architecture, learning, and suggestion.

---

<div class="post-metadata">

### Author: ![Wave](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/wave/32/117242_2.png) [@Wave](https://discuss.elastic.co/u/Wave)
#### Post date: [March 24, 2023, 5:49pm UTC](https://discuss.elastic.co/t/how-to-get-started-with-elastic-apm/328124/2 "2023-03-24T17:49:45Z")

</div>

Hi @Shoeb_Masum,

First of all a big complement for you to want to learn how to set everything up and doing it thoughtfully. All these answers are assuming a 1 node elastic cluster.

> [@Shoeb\_Masum](#):
>
> Does it require three separate servers/VM to install the components - APM Server/APM integration, Elasticsearch & Kibana? or a single instance is ok.

You could use a single instance but I'd recommend doing two. One instance for the APM integration (read Elastic Agent), and the other for Elasticsearch and Kibana.

> [@Shoeb\_Masum](#):
>
> How can I get the infrastructure (CPU, Memory, storage) requirement for these 3 components?

It really depends how much data you are going to be sending and saving, but elastic says to try [4GB](https://www.elastic.co/guide/en/elasticsearch/reference/current/run-elasticsearch-locally.html#_start_elasticsearch) when running locally in docker. Personally, I'd start at 8G. Sounds like you are using VMs so adding more space shouldn't be a big deal, but start at 500G. CPU should be fine at normal defaults.

> [@Shoeb\_Masum](#):
>
> How to calculate bandwidth requirements?

If it is just APM it's going to look like: c \* a \* o = bandwidth, where c is the number of apm clients, a is the amount of data each client sends in a given time period, and o is a constant to factor in the network communication overhead. In reality though starting small and adding one or two apm clients at a time will give you the concreate numbers you can use to project bandwidth (and infrastructure resources).

> [@Shoeb\_Masum](#):
>
> What is the impact on the server utilization after APM Agent installation? e.g, CPU & RAM usage.

From my understanding the [apm agents are going to talk to Elastic Agent](https://www.elastic.co/guide/en/apm/guide/8.6/apm-components.html) (either through [fleet](https://www.elastic.co/guide/en/fleet/8.6/fleet-overview.html) or installed as a stand alone program). The elastic agent will then send all the data on to the elastic cluster from there. Therefore adding more apm agents should just cause a slight increase in resources at the elastic agent host. Speaking of that here's what I recommend:

- VM instance 1 (elastic & kibana), 8GB memory, 500GB storage.
- VM instance 2 (Elastic agent), 8GB memory, 50GB storage. Probably can get away with less storage.

I think you'll need to decide if you are going to install elastic agent with fleet, or as a [standalone install](https://www.elastic.co/guide/en/fleet/8.6/install-standalone-elastic-agent.html).

As your needs grow you can add dedicated master nodes, additional data nodes, split out kibana to it's own vm instances, etc.

Good luck!

---

<div class="post-metadata">

### Author: ![Shoeb\_Masum](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/shoeb_masum/32/118691_2.png) [@Shoeb\_Masum](https://discuss.elastic.co/u/Shoeb_Masum)
#### Post date: [April 6, 2023, 6:11am UTC](https://discuss.elastic.co/t/how-to-get-started-with-elastic-apm/328124/3 "2023-04-06T06:11:18Z")

</div>

I'm trying to manage 2 VM as per your suggestion. Please let me know if there is any issue with using RHEL 8.

As the standalone elastic agent is for the advanced user, I want to go with Fleet-managed Elastic Agents. I've gone through some documentation to start installing the components; I'll start following all those after making the VMs ready. However, if there is any consolidated documentation with sequential steps to install and make the whole APM solution ready, please share.

---

<div class="post-metadata">

### Author: ![Wave](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/wave/32/117242_2.png) [@Wave](https://discuss.elastic.co/u/Wave)
#### Post date: [April 6, 2023, 12:09pm UTC](https://discuss.elastic.co/t/how-to-get-started-with-elastic-apm/328124/4 "2023-04-06T12:09:52Z")

</div>

As long as you are the 8.x version you should be fine with RHEL 8. Here's the [support matrix](https://www.elastic.co/support/matrix) for the nitty gritty. These [elastic docs](https://www.elastic.co/guide/en/fleet/8.6/add-fleet-server-on-prem.html) about on premises fleet install should help you out with the install if I'm understanding your requirements right. One final bit concerning RHEL 8 is you might run into issue with SELinux making it harder to configure services. This has nothing to do with elastic, but is still a hurdle that sometimes pops up. If you do run into issues with SELinux I highly recommend this [post from RedHat](https://access.redhat.com/articles/2191331). Good luck.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [April 27, 2023, 8:10am UTC](https://discuss.elastic.co/t/how-to-get-started-with-elastic-apm/328124/5 "2023-04-27T08:10:30Z")

</div>

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.
