Checkmk on Raspberry Pi

Hello World,

in case someone else is also interested in running the Raw Edition on a Raspberry Pi:

  • The official site does not offer packages for the Pi
  • I found this one on Github which is quite up to date (Oct. 2021): GitHub - chrisss404/check-mk-arm: Checkmk for Raspberry Pi.
  • I used a Raspberry Pi 3 B+ (1 GB RAM)
  • Initially I used Ubuntu 20.04.3 LTS (Focal Fossa) on the Raspberry. It turned out that this is a 64bit OS which has some major drawbacks in “memory usage overhead”, ref: Distributed Monitoring possible? · Issue #44 · chrisss404/check-mk-arm · GitHub
  • This resulted in a completely frozen Pi! It was not responding anymore after a couple of seconds and I had to reboot it via power off and on. While the CPU was not exhausted the memory was. Hence the load average:
  • I then changed the OS to Raspberry Pi OS (32bit). ← This was the trick because now it IS running. :wink: The peak while activating changes on the checkmk instance looks as follows:
  • That is: The load average only increases up to 2, the memory is not only “used” but has still some space for buffers/cache, while the Swap is used.
  • This problem will probably not occur on a Raspberry Pi 4 with 2/4/8 GB RAM.

I am using this Pi for a remote instance of checkmk within the “Distributed Monitoring”. I’m happy with it.


Only do this if you Pi has a real disc and is not running on SDCard.

Why? Because of speed or because of to many I/O?
AFAIK every Pi is run by an SD-card. Of course you can add an external hard drive, but the OS is always run from the SD, isn’t it?

Your SD will be dead in a very short time because the CMK/rrdcached does many small write requests to card. It is better to use some alternative with native SATA/SSD support.

As example - if someone is viewing a service from the remote instance and this service has performance data. Every time the display is refreshed the system issues a flush data command to rrdcached to get the latest graph data what leads to a small write to the storage for this graph data.