# System\_monitor - BEAM VM telemetry collector (from Klarna)

**URL:** <https://erlangforums.com/t/system-monitor-beam-vm-telemetry-collector-from-klarna/3152>\
**Category:** Libraries\
**Tags:** beam, erlang\
**Created:** [December 27, 2023, 6:20pm UTC](https://erlangforums.com/t/system-monitor-beam-vm-telemetry-collector-from-klarna/3152 "2023-12-27T18:20:25Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![etnt](https://erlangforums.com/user_avatar/erlangforums.com/etnt/32/892_2.png) [@etnt](https://erlangforums.com/u/etnt)\
**Post date:** [December 27, 2023, 6:20pm UTC](https://erlangforums.com/t/system-monitor-beam-vm-telemetry-collector-from-klarna/3152/1 "2023-12-27T18:20:25Z")

</div>

I don’t think the klarna/system\_monitor has been announced here before which is a pity.  
It is a very cool application, as its blurb says:

```
`system_monitor` is a BEAM VM monitoring and introspection application that helps 
 in troubleshooting live systems. It collects various information about Erlang processes
 and applications.

```

It is very easy to set it up to store the collected metric in Postgres to be viewed by Grafana.  
Read about it here:

> **[GitHub - klarna/system\_monitor: BEAM VM telemetry collector](https://github.com/klarna/system_monitor)**
>
> BEAM VM telemetry collector. Contribute to klarna/system\_monitor development by creating an account on GitHub.

Now, I have done some additional work on it.

1. Split it into a (optional) frontend/backend where the frontend runs in the target node, gathering the metrics which then is sent over TLS to the backend which store it into Postgres.
2. An easy way to add custom metrics and as a first example a memory collector has been created that store Total/Free/Allocated/Used memory of the BEAM as well as the memory used by the ERTS allocators.

Read about it here:

> <https://github.com/etnt/system_monitor/blob/master/CONSUMER_PRODUCER.md>

and here:

> <https://github.com/etnt/system_monitor/blob/master/CUSTOM_METRICS.md>

Cheers, Tobbe
