The Linux template is used for Proxmox, it allows you to create disk usage graphs. However, this is not always possible with external storage.
You can check the usage of volumes on external storage with the pvesm status command.
Here are instructions on how to get this value into SNMP and use it in Cacti.
We will work with volumes named alletra-lvm and local
pvesm status
Name Type Status Total Used Available %
alletra-lvm lvm active 10737401856 1927315456 8810086400 17.95%
local dir active 98497780 23395264 70052968 23.75%apt-get install sudoRun visudo and add line
Debian-snmp ALL=(ALL) NOPASSWD: /usr/sbin/pvesm statusCreate a systemd drop-in file to allow snmpd to call the monitoring script. Use a drop-in rather than editing the service file directly, so package updates do not overwrite your changes:
mkdir -p /etc/systemd/system/snmpd.service.d
cat > /etc/systemd/system/snmpd.service.d/proxmox-monitoring.conf << 'EOF'
[Service]
# Allow snmpd to execute the monitoring script and call sudo pvesm.
# PrivateTmp is disabled because some Proxmox storage backends access
# /tmp during status queries. Narrow this further if your storage
# backends do not require /tmp access.
PrivateTmp=false
EOF
systemctl daemon-reloadNote: Avoid setting
ProtectSystem=offorProtectHome=offunless you have confirmed that pvesm requires broader filesystem access on your specific Proxmox version. The sudoers entry above already restricts the script to a single command, which limits the blast radius of a compromised snmpd process.
Create new shell script /usr/local/bin/monitoring.sh:
#!/bin/bash
STORAGE="$1"
/usr/bin/sudo /usr/sbin/pvesm status | /usr/bin/awk -v lv="$STORAGE" '$1==lv {gsub("%","",$NF); print $NF}'Make it executable:
chmod 755 /usr/local/bin/monitoring.sh
Add these lines to /etc/snmp/snmpd.conf. Alletra-lvm and local are from pvesm status:
extend-sh alletra-lvm /usr/local/bin/monitoring.sh alletra-lvm
extend-sh local /usr/local/bin/monitoring.sh localRestart snmpd:
systemctl daemon-reload
systemctl restart snmpdNow we can check if data are in snmp:
snmpwalk -v2c -c your_community -On localhost .1.3.6.1.4.1.8072.1.3
.1.3.6.1.4.1.8072.1.3.2.1.0 = INTEGER: 2
.1.3.6.1.4.1.8072.1.3.2.2.1.2.5.108.111.99.97.108 = STRING: "/usr/local/bin/monitoring.sh"
.1.3.6.1.4.1.8072.1.3.2.2.1.2.11.97.108.108.101.116.114.97.45.108.118.109 = STRING: "/usr/local/bin/monitoring.sh"
.1.3.6.1.4.1.8072.1.3.2.2.1.3.5.108.111.99.97.108 = STRING: "local"
.1.3.6.1.4.1.8072.1.3.2.2.1.3.11.97.108.108.101.116.114.97.45.108.118.109 = STRING: "alletra-lvm"
.1.3.6.1.4.1.8072.1.3.2.2.1.4.5.108.111.99.97.108 = ""
.1.3.6.1.4.1.8072.1.3.2.2.1.4.11.97.108.108.101.116.114.97.45.108.118.109 = ""
.1.3.6.1.4.1.8072.1.3.2.2.1.5.5.108.111.99.97.108 = INTEGER: 5
.1.3.6.1.4.1.8072.1.3.2.2.1.5.11.97.108.108.101.116.114.97.45.108.118.109 = INTEGER: 5
.1.3.6.1.4.1.8072.1.3.2.2.1.6.5.108.111.99.97.108 = INTEGER: 2
.1.3.6.1.4.1.8072.1.3.2.2.1.6.11.97.108.108.101.116.114.97.45.108.118.109 = INTEGER: 2
.1.3.6.1.4.1.8072.1.3.2.2.1.7.5.108.111.99.97.108 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.2.1.7.11.97.108.108.101.116.114.97.45.108.118.109 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.2.1.20.5.108.111.99.97.108 = INTEGER: 4
.1.3.6.1.4.1.8072.1.3.2.2.1.20.11.97.108.108.101.116.114.97.45.108.118.109 = INTEGER: 4
.1.3.6.1.4.1.8072.1.3.2.2.1.21.5.108.111.99.97.108 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.2.1.21.11.97.108.108.101.116.114.97.45.108.118.109 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.3.1.1.5.108.111.99.97.108 = STRING: "23.75"
.1.3.6.1.4.1.8072.1.3.2.3.1.1.11.97.108.108.101.116.114.97.45.108.118.109 = STRING: "17.95"
.1.3.6.1.4.1.8072.1.3.2.3.1.2.5.108.111.99.97.108 = STRING: "23.75"
.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.97.108.108.101.116.114.97.45.108.118.109 = STRING: "17.95"
.1.3.6.1.4.1.8072.1.3.2.3.1.3.5.108.111.99.97.108 = INTEGER: 1These OIDs contain requested information. OID depends on names used in snmpd.conf:
.1.3.6.1.4.1.8072.1.3.2.3.1.1.5.108.111.99.97.108 = STRING: "23.75"
.1.3.6.1.4.1.8072.1.3.2.3.1.1.11.97.108.108.101.116.114.97.45.108.118.109 = STRING: "17.95"We can graph these OIDs with SNMP - generic OID template (Graph-a-Single-SNMP-OID.md)
Copyright (c) 2004-2026 The Cacti Group