How to Monitor Proxmox VE with PRTG using SNMP

Read more about dedicated sensors using PowerShell for VM/LXC monitoring here

Part 1: Install and Configure SNMP on Proxmox
Part 2: Configure PRTG to Monitor Proxmox
Part 3: Special Considerations for PRTG Running as a Proxmox VM

This guide explains how to configure Proxmox to be monitored by PRTG Network Monitor using SNMP (while running within a VM in Proxmox). It covers SNMP installation, configuration, and firewall rules required for successful monitoring.

Prerequisites

  • Proxmox VE server (this guide uses IP 10.0.0.1 as an example)
  • PRTG Network Monitor server (this guide uses IP 10.0.0.40 as an example)
  • SSH access to your Proxmox host
  • Administrative access to PRTG

Note: Replace the IP addresses in this guide with your actual Proxmox and PRTG server IPs, in case of Remote Probes use the Remote Probe’s IP address.

Part 1: Install and Configure SNMP on Proxmox

Step 1: Install SNMP daemon

Connect to your Proxmox server via SSH (or use the build-in “Shell” Button in the GUI from your node) and run:

apt-get update
apt-get install snmpd

Step 2: Backup the original configuration

cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.backup

Step 3: Configure SNMP

Edit the SNMP configuration file:

nano /etc/snmp/snmpd.conf

Delete all existing content or and replace with / modify your original:

# System Information
sysLocation    Your Location Here
sysContact     Your Name <your@email.com>
sysServices    72

# Agent Operating Mode
master  agentx
agentaddress udp:161

# Access Control
view   allview    included   .1

rocommunity  public 10.0.0.40 -V allview
rocommunity  public 127.0.0.1 -V allview

Important configuration notes:

  • agentaddress udp:161 – SNMP listens on all interfaces on port 161
  • rocommunity public 10.0.0.40 -V allview – Allows your PRTG server read-only access to all SNMP data
  • rocommunity public 127.0.0.1 -V allview – Allows local testing
  • If your sensor is running on a Remote Probe, you need to adjust the IP from the PRTG Server to the PRTG Remote Probe Server.

Save and exit:

  • Press Ctrl+O to save
  • Press Enter to confirm
  • Press Ctrl+X to exit

Step 4: Restart and enable SNMP

systemctl restart snmpd
systemctl enable snmpd

Step 5: Verify SNMP is running

systemctl status snmpd

You should see “active (running)” in the output.

(Optional) Step 6: Test SNMP locally

Install SNMP utilities for testing:

apt-get install snmp

Test the SNMP connection:

snmpwalk -v2c -c public 127.0.0.1 .1.3.6.1.2.1.1

You should see system information including your hostname and location.

Part 2: Configure PRTG to Monitor Proxmox

Step 1: Add Proxmox as a device

  1. Log in to your PRTG web interface
  2. Navigate to DevicesAdd Device
  3. Enter the following:
    • Device Name: Your Proxmox hostname (e.g., Proxmox-S01)
    • IP Address/DNS Name: 10.0.0.1 (your Proxmox IP)
  4. Click OK

Step 2: Configure SNMP settings

  1. Go to the device settings
  2. Under SNMP Settings, configure:
    • SNMP Version: v2c
    • Community String: public
  3. Save the settings

Step 3: Add sensors

Option A: Auto-Discovery

  1. Right-click on the device
  2. Select Auto-Discovery
  3. PRTG will automatically find available SNMP sensors

Option B: Manual sensor addition

  1. Right-click on the device
  2. Select Add Sensor
  3. Search for SNMP Library
  4. Select Basic Linux Library (UCD-SNMP and LM-SENSORS MIB)

Recommended sensors

After discovery or manual addition, you should have sensors for:

Part 3: Special Considerations for PRTG Running as a Proxmox VM

If your PRTG server runs as a VM on the same Proxmox host you want to monitor, additional firewall configuration may be required.

If you have the Proxmox firewall enabled, you need to allow SNMP and ICMP traffic from your PRTG server.

Step 1: Check firewall status

pve-firewall status

If the firewall is disabled, you can skip to Part 3.

Step 2: Configure host firewall rules

more info in Step 4

Edit the host firewall configuration:

nano /etc/pve/nodes/YOUR_NODE_NAME/host.fw

Replace YOUR_NODE_NAME with your actual Proxmox node name (e.g., S01).

Add the following rules under [RULES]:

[RULES]

IN ACCEPT -source 10.0.0.40 -p udp -dport 161 -log nolog
IN ACCEPT -source 10.0.0.40 -p icmp -log nolog
IN ACCEPT -source 10.0.0.0/24 -p tcp -dport 8006 -log nolog
IN ACCEPT -source 10.0.0.0/24 -p tcp -dport 22 -log nolog

Rule explanations:

  • UDP 161 – Allows SNMP traffic from PRTG
  • ICMP – Allows ping from PRTG (for connectivity checks)
  • TCP 8006 – Allows Proxmox Web UI access from your network
  • TCP 22 – Allows SSH access from your network

Save and exit (Ctrl+O, Enter, Ctrl+X).

Step 3: Reload the firewall

pve-firewall reload

Troubleshooting

SNMP connection timeout

  1. Verify SNMP is running on Proxmox CLI: systemctl status snmpd
  2. Check SNMP is listening on Proxmox CLI: ss -ulnp | grep 161
  3. Test locally on Proxmox CLI: snmpwalk -v2c -c public 127.0.0.1 .1.3.6.1.2.1.1
  4. Use the free Paessler PRTG SNMP Tester for troubleshooting from PRTG Server. (Manual)

Security Recommendations

  1. Change the community string – Replace public with a unique, complex string in both the Proxmox SNMP config and PRTG device settings
  2. Restrict access by IP – Only allow your PRTG server’s IP address in the SNMP configuration
  3. Consider SNMPv3 – For enhanced security, consider using SNMPv3 with authentication and encryption
  4. Limit firewall rules – Only open the ports that are absolutely necessary

Quick Reference

Files to configure:

  • SNMP configuration: /etc/snmp/snmpd.conf
  • Host firewall: /etc/pve/nodes/NODENAME/host.fw
  • Cluster firewall: /etc/pve/firewall/cluster.fw

Key commands:

  • Restart SNMP: systemctl restart snmpd
  • Check SNMP status: systemctl status snmpd
  • Reload firewall: pve-firewall reload
  • Stop firewall (testing): pve-firewall stop
  • Start firewall: pve-firewall start

PRTG sensor to use: SNMP Library → Basic Linux Library

Leave a Reply

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

WordPress Appliance - Powered by TurnKey Linux