Proxmox

Monitor Proxmox with CheckMK Open Source Monitoring

Learn how to Monitor Proxmox with CheckMK including installing the agent, adding the host, and setting up the monitoring rule

Many are utilizing Proxmox VE Server in their home labs. Proxmox is a great option for running virtual machines and containers and self-hosting. You will likely want to monitor your Proxmox environment with some type of tool to make sure everything is running as expected. CheckMK Raw edition is a free and open source monitoring solution that allows you to monitor your Proxmox VE Servers. Let’s take a look at how to Monitor Promxox with CheckMK and see how this is setup.

What is CheckMK?

First of all, let’s take a closer look at CheckMK and see what it is exactly. CheckMK has both a free and open source editon (CheckMK Raw edition) and a commercial version of the product. It is designed to monitor your servers, networks, applications, and even cloud environments. It will monitor Windows, Linux, and virtual environments as well.

It allows you to have visibility into the performance of your system and gather health metrics and availability information. It can monitor infrastructure using both an agentless approach and also has an agent as well, which we will be showing how to use to monitor Proxmox.

One of the things I really like about CheckMK is that it is super easy to spin up using a Docker container. You can literally be up and running in a few seconds from running a Docker container, letting the image pull down, and then logging into the web interface.

What is Proxmox?

Proxmox needs no introduction and I have said for a while now that it is a “home lab darling” hypervisor as everyone and their brother are running Proxmox VE server at home to self-host their apps, virtual machines, containers, Kubernetes clusters, etc.

Proxmox is also an open-source solution that provides a virtualization platform based on Kernel Virtual Machine (KVM). It also uses Linux Containers (LXC) for very lightweight, VM-like containers. It is one of the easiest open-source hypervisor solutions out there and has all the features you would want to have for running high availability virtual resources, including clustering, software-defined storage (Ceph, ZFS) and also has software-defined networking features.

Proxmox Virtual Environment (VE) is an open-source virtualization platform based on KVM (Kernel-based Virtual Machine) and LXC (Linux Containers). It provides an easy-to-use web interface and powerful enterprise-grade features such as high availability (HA), software-defined storage (Ceph, ZFS), and robust networking options.

Why is monitoring important?

It is important to monitor your environment, whether it is Proxmox, VMware, Hyper-V, or any other hypervisor. When you are running multiple virtual instances of servers on a single host or even a few hosts in a cluster, it is more important than ever to know that your hosts are operating and running cas expected.

Monitoring a Proxmox VE environment ensures that administrators can detect performance issues early, optimize resource allocation, and prevent failures.

CheckMK provides good features for Proxmox monitoring:

  • Real-time monitoring: Keeps track of CPU, RAM, disk usage, network traffic, and VM/container health.
  • Alerts: Notifies admins via email, Slack, or other channels when critical thresholds are breached.
  • Historical data: Helps analyze trends and plan resource scaling.
  • Dashboards: Visualize performance metrics efficiently.
  • Agent-based or Agentless Monitoring: Supports both approaches for flexibility.

Install the CheckMK agent for Debian Linux in Proxmox

Before we get started doing the setup inside of CheckMK, we need to install the CheckMK agent for Debian Linux in Proxmox.

Downloading the checkmk agent for debian linux
Downloading the checkmk agent for debian linux

Next, you can copy the .deb file over to your Proxmox host and then use the following command to install:

dpkg -i check-mk-agent<version>.deb
Installing the checkmk debian linux agent in proxmox ve server
Installing the checkmk debian linux agent in proxmox ve server

Add Proxmox VE Server host to CheckMK

Navigate to Setup > Hosts. Here you will click the Add host button. This will allow us to Monitor Proxmox with CheckMK as an added host.

Beginning to add a proxmox ve server host to monitor using the host monitoring rule
Beginning to add a proxmox ve server host to monitor using the host monitoring rule

Next, fill in the details of the host in CheckMK. Note the following that I have filled in:

  • Checkmk agent /API integrations – Since we are using the CheckMK agent, we need to select Configured API integrations and Checkmk agent from the dropdown.
Example of setting up your proxmox ve server host for monitoring
Example of setting up your proxmox ve server host for monitoring

Add a Host Monitoring Rule for Proxmox

The first thing we need to do in CheckMK is add a host monitoring rule for Proxmox. This is a “profile” of sorts on the connection information for monitoring your Proxmox servers.

Navigate to Setup > Agents > VM, cloud, container > Proxmox VE. Click the Add rule button.

Getting started adding a host monitoring rule for proxmox
Getting started adding a host monitoring rule for proxmox

Here we fill in the credentials for Proxmox. If you are using your regular root user and password (which for testing and home lab is probably fine), you enter this in the form of root@pam for the username and then enter your password by changing the password dropdown to Explicit.

Also, you will see the option for Explicit hosts. Here we will choose from the dropdown our Proxmox VE server host that we have added in the previous step.

Proxmox ve host monitoring rule example
Proxmox ve host monitoring rule example

Apply your changes in CheckMK

Apply your changes to your CheckMK instance. You should see the pending changes notification in the upper right-hand corner. Click this.

Apply your changes in checkmk
Apply your changes in checkmk

We will now click the Activate on selected sites button.

Activate on selected sites in checkmk
Activate on selected sites in checkmk

Run service discovery

Now, go back to your Setup > Hosts area and choose your Proxmox host. Click the Save & run service discovery button. This will discover services to monitor Proxmox with CheckMK.

Run services discovery on your proxmox ve server host
Run services discovery on your proxmox ve server host

We should see the services discovered and you can click the Monitor undecided services to add everything to CheckMK.

View the unmonitored services and choose to monitor those services
View the unmonitored services and choose to monitor those services

After a bit, you can see metrics flowing in after everything has had a bit to start flowing in.

Viewing monitored services for proxmox ve server
Viewing monitored services for proxmox ve server

Pros and Cons of Using CheckMK

Pros

  • Lightweight and easy to get up and running โ€“ Minimal overhead on Proxmox hosts or any other platform. You can easily spin up in Docker.
  • Pulls all the KPI metrics โ€“ CPU, RAM, Disk, VM stats, etc.
  • Scalability โ€“ You can monitor a Proxmox cluster
  • Alerting โ€“ You can create custom notifications
  • Automation โ€“ You can create automated monitoring setups

Cons

  • Learning Curve โ€“ Even though it is fairly easy to get going, if you aren’t familiar with Docker or other Linux concepts this could be a little bit intimidating at first
  • Configuration complexity โ€“ Advanced monitoring (e.g., API metrics) can be a little bit challenging to wrap your mind around. CheckMK has a few different ways of doing things that you need to experiment with
  • Agent-based โ€“ If you go the route of using agents, this is something that you will have to think about maintaining and lifecycle management

Additional features and integrations with CheckMK to enhance monitoring

  • Grafana : You can add Grafana to CheckMK for better visualizations
  • Logs : You can monitor Proxmox logs for error detection
  • Cluster monitoring: Monitor your Proxmox cluster nodes
  • SNMP: You can include monitoring network devices included in your Proxmox environment

Wrapping up

CheckMK is a neat solution that I think many will enjoy deploying in the home lab. However, it is not just a free and open source solution for home lab and may even be a solution that ones consider for production environments. If you are like me, it is a great opportunity to get used to a solution in the home lab that you like and are comfortable with, this is a great segway to springboarding into monitoring production. As shown, you can monitor Proxmox with CheckMK fairly easily.

Subscribe to VirtualizationHowto via Email ๐Ÿ””

Enter your email address to subscribe to this blog and receive notifications of new posts by email.



Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com, and a 7-time VMware vExpert, with over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, He has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family. Also, he goes through the effort of testing and troubleshooting issues, so you don't have to.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.