Depricated
The development of this template is no longer ongoing after the release of the official template for Proxmox by the Zabbix team
- Proxmox VE by HTTP
Monitors PVE VMs and nodes by PVE HTTP API
XML tested on Zabbix 5.0.18 and PVE 7.1 YAML tested on Zabbix 5.4.7 and PVE 7.1
- Port to Zabbix 5.0
- Port to Zabbix 5.4
- Add update monitoring
- Add PBS monitoring (maybe...)
- Go to PVE WEB UI -> Datacenter -> Api Tokens
- Click "Add"
- Select User (usualy -
root@pam
) - Enter Token ID (for example -
monitoring
) - Uncheck "Privelege separation"
- Click "Add"
You will see "Token ID" (example - root@pam!monitoring
) and "Secret" (some UUID). Save "Secret" value, because you can't display it again!
- Import template into Zabbix (XML for Zabbix < 5.4, YAML for Zabbix 5.4+)
- Attach template to any server you want, and fill macroses (described below)
Macro | Description | Example |
---|---|---|
{$PVE_API_HOST} |
PVE web UI address | pve.example.org |
{$PVE_API_PORT} |
PVE web UI Port | 8006 |
{$PVE_API_TOKEN} |
PVE API Token | root@pam!monitoring=69ab8098-f2aa-455c-add3-e387aef0a47e |
{$PVE_IGNORE_ID} |
Ignore VMs with this IDs. Regexp. | `100 |
{$PVE_IGNORE_STORAGE} |
Ignore storages with this name. Regexp. | z.* |
{$PVE_FORCE_ID} |
Force monitor VMs with this IDs. Regexp. | `100 |
{$PVE_FORCE_STORAGE} |
Force monitor storages with this name. Regexp. | z.* |
Item | Description | Example |
---|---|---|
PVE API Log warnings | JSON Response for https://{$PVE_API_HOST}:{$PVE_API_PORT}/api2/json/cluster/resources/ HTTP Query, filtered by pri < 4 |
|
PVE Log - Warnings - Last | Last warning JSON in logs | |
PVE Log - Warnings - Last message | Last warning message in logs | end task UPID:ns514098:00094DAC:07019DD0:61A73310:vncproxy:903:root@pam: Failed to run vncproxy. |
PVE Log - Warnings - Last time | Time of last warning message in logs | 2021-12-01 08:32:17 |
PVE API Cluster resources | Gets https://{$PVE_API_HOST}:{$PVE_API_PORT}/api2/json/cluster/resources/ for autodiscovery |
|
https://{$PVE_API_HOST}:{$PVE_API_PORT}/api2/json/cluster/status/ | Gets https://{$PVE_API_HOST}:{$PVE_API_PORT}/api2/json/cluster/status/ for autodiscovery |
Trigger | Severity | Description |
---|---|---|
PVE Log Warnings - New warning | Warning | New warning in PVE Log (only manual close) |
PVE API - No data last 30m | High | No data from API last 30 m |
Filter pve.cluster.resources
and creates items, triggers and graphs
Item | Description | Example |
---|---|---|
PVE Cluster {#NAME} status | JSON Response for https://{$PVE_API_HOST}:{$PVE_API_PORT}/api2/json/cluster/resources/ HTTP Query |
|
PVE Cluster {#NAME} nodes | Cluster node count | 3 |
PVE Cluster {#NAME} quorum | If 1 - Cluster in quorum | 1 |
Trigger | Severity | Description |
---|---|---|
PVE Cluster {#NAME} node count changed | Information | Node count was changed since last check |
PVE Cluster {#NAME} not in quorum | High | Cluster not in quorum |
Filter pve.cluster.status
and creates items, triggers and graphs
Item | Description | Example |
---|---|---|
PVE Node {#NODE} status | JSON Response for https://{$PVE_API_HOST}:{$PVE_API_PORT}/api2/json/nodes/{#NODE}/status/ HTTP Query |
|
PVE Node {#NODE} memory free | Free RAM in bytes | 30.24 Gb |
PVE Node {#NODE} memory size | Total RAM size in bytes | 64 Gb |
PVE Node {#NODE} memory used | Used RAM in bytes | 33.76 Gb |
PVE Node {#NODE} memory used in % | Used RAM in % | 15 % |
PVE Node {#NODE} pveversion | PVE Version on node | pve-manager/7.1-5/6fe299a0 |
PVE Node {#NODE} rootfs available | Available size in / in bytes |
13.46 Gb |
PVE Node {#NODE} rootfs free | Free size in / in bytes |
14.55 Gb |
PVE Node {#NODE} rootfs size | Total size in / in bytes |
20.99 Gb |
PVE Node {#NODE} rootfs used | Used size in / in bytes |
6.43 Gb |
PVE Node {#NODE} rootfs used in % | Used size in / in % |
80 % |
PVE Node {#NODE} swap free | Free SWAP size in bytes | 462.49 Mb |
PVE Node {#NODE} swap size | Total SWAP size in bytes | 2.15 Gb |
PVE Node {#NODE} swap used | Used SWAP size in bytes | 1.68 Gb |
PVE Node {#NODE} swap used in % | Used SWAP size in % | 80 % |
PVE Node {#NODE} uptime | Node uptime in seconds | 12d 13h 30m |
PVE Node {#NODE} CPU usage in % | Node CPU usage in % | 15.252 % |
PVE Node {#NODE} updated packages | JSON Response for https://{$PVE_API_HOST}:{$PVE_API_PORT}/api2/json/nodes/{#NODE}/apt/update HTTP Query |
Trigger | Severity | Description |
---|---|---|
PVE Node {#NODE} pve version changed | Information | pveversion was changed since last check |
PVE Node {#NODE} uptime lesser than 10m | Warning | Node has been restarted and node uptime is < 600s |
PVE Node {#NODE} swap usage > 90% | High | Node SWAP usage > 90% |
PVE Node {#NODE} swap usage > 80% | Warning | Node SWAP usage > 80% |
PVE Node {#NODE} memory usage > 90% | High | Node RAM usage > 90% |
PVE Node {#NODE} memory usage > 80% | Warning | Node RAM usage > 80% |
PVE Node {#NODE} rootfs usage > 90% | High | Node rootfs usage > 90% |
PVE Node {#NODE} rootfs usage > 80% | Warning | Node rootfs usage > 80% |
PVE Node {#NODE} rootfs usage > 80% | Warning | Node rootfs usage > 80% |
PVE Node {#NODE} CPU usage > 80% | High | Node CPU usage > 80% |
PVE Node {#NODE} has updates | Information | PVE Node {#NODE} has updates |
Graph | Description |
---|---|
PVE Node {#NODE} memory | Shows free and total RAM of node |
PVE Node {#NODE} rootfs | Shows free and total size in / of node |
PVE Node {#NODE} swap | Shows free and total SWAP of node |
PVE Node {#NODE} CPU | CPU usage of node |
Filter pve.cluster.resources
and creates items, triggers and graphs
Item | Description | Example |
---|---|---|
PVE Vm {#VMID} - {#NAME} | JSON Response for https://{$PVE_API_HOST}:{$PVE_API_PORT}/api2/json/nodes/{#NODE}/qemu/{#VMID}/status/current HTTP Query |
|
PVE Vm {#VMID} - {#NAME} cpu usage | VM CPU Usage in % | 4.427 % |
PVE Vm {#VMID} - {#NAME} status | String, current VM state | running |
PVE Vm {#VMID} - {#NAME} uptime | VM uptime in seconds | 12d 13h 38m |
Trigger | Severity | Description |
---|---|---|
PVE Vm {#VMID} - {#NAME} high CPU usage | Warning | VM CPU usage > 80% |
PVE Vm {#VMID} - {#NAME} is not running | Warning | VM state is not "running" |
PVE Vm {#VMID} - {#NAME} uptime < 10m | Warning | VM uptime is < 600s |
Graph | Description |
---|---|
PVE Vm {#VMID} - {#NAME} CPU usage | CPU usage of VM |
Host creation is disabled by default!
Prototype | Host name | Visible name | Groups | Description |
---|---|---|---|---|
PVE Vm {#VMID} - {#NAME} | {#NAME} | PVE Vm {#VMID} - {#NAME} | {#NODE} Vms, Discovered hosts | Create new host |
Filter pve.cluster.resources
and creates items, triggers and graphs
Item | Description | Example |
---|---|---|
PVE Ct {#VMID} - {#NAME} | JSON Response for https://{$PVE_API_HOST}:{$PVE_API_PORT}/api2/json/nodes/{#NODE}/lxc/{#VMID}/status/current HTTP Query |
|
PVE Ct {#VMID} - {#NAME} cpu usage | Container CPU Usage in % | 4.427 % |
PVE Ct {#VMID} - {#NAME} status | String, current container state | running |
PVE Ct {#VMID} - {#NAME} uptime | Container uptime in seconds | 12d 13h 38m |
PVE Ct {#VMID} - {#NAME} disk size | Container disk size in bytes | 8 Gb |
PVE Ct {#VMID} - {#NAME} disk usage | Container disk usage in bytes | 2 Gb |
PVE Ct {#VMID} - {#NAME} disk usage in % | Container disk usage in % | 20 % |
PVE Ct {#VMID} - {#NAME} swap size | Container SWAP size in bytes | 2 Gb |
PVE Ct {#VMID} - {#NAME} swap usage | Container SWAP usage in bytes | 1 Gb |
PVE Ct {#VMID} - {#NAME} swap usage in % | Container SWAP usage in % | 50 % |
PVE Ct {#VMID} - {#NAME} memory size | Container RAM size in bytes | 1 Gb |
PVE Ct {#VMID} - {#NAME} memory usage | Container RAM usage in bytes | 512 Mb |
PVE Ct {#VMID} - {#NAME} memory usage in % | Container RAM usage in % | 50 % |
Trigger | Severity | Description |
---|---|---|
PVE Ct {#VMID} - {#NAME} high CPU usage | Warning | Container CPU usage > 80% |
PVE Ct {#VMID} - {#NAME} is not running | Warning | Container state is not "running" |
PVE Ct {#VMID} - {#NAME} uptime < 10m | Warning | Container uptime is < 600s |
PVE Ct {#VMID} - {#NAME} RAM usage > 80% | Warning | Container RAM usage > 80% |
PVE Ct {#VMID} - {#NAME} RAM usage > 90% | High | Container RAM usage > 90% |
PVE Ct {#VMID} - {#NAME} SWAP usage > 80% | Warning | Container SWAP usage > 80% |
PVE Ct {#VMID} - {#NAME} SWAP usage > 90% | High | Container SWAP usage > 90% |
PVE Ct {#VMID} - {#NAME} disk usage > 80% | Warning | Container disk usage > 80% |
PVE Ct {#VMID} - {#NAME} disk usage > 90% | High | Container disk usage > 90% |
Graph | Description |
---|---|
PVE Ct {#VMID} - {#NAME} CPU usage | CPU usage of Container |
PVE Ct {#VMID} - {#NAME} RAM usage | RAM usage of Container |
PVE Ct {#VMID} - {#NAME} disk usage | disk usage of Container |
PVE Ct {#VMID} - {#NAME} SWAP usage | SWAP usage of Container |
Host creation is disabled by default!
Prototype | Host name | Visible name | Groups | Description |
---|---|---|---|---|
PVE Ct {#VMID} - {#NAME} | {#NAME} | PVE Ct {#VMID} - {#NAME} | {#NODE} Containers, Discovered hosts | Create new host |
Filter pve.cluster.resources
and creates items, triggers and graphs
Item | Description | Example |
---|---|---|
PVE Storage {#NODE} - {#NAME} | JSON Response for https://{$PVE_API_HOST}:{$PVE_API_PORT}/api2/json/nodes/{#NODE}/storage/{#NAME}/status HTTP Query |
|
PVE Storage {#NODE} - {#NAME} active | Storage is active if value is 1 | 1 |
PVE Storage {#NODE} - {#NAME} enabled | Storage is enabled if value is 1 | 1 |
PVE Storage {#NODE} - {#NAME} available | Available size in storage in bytes | 10 Gb |
PVE Storage {#NODE} - {#NAME} size | Total size of storage in bytes | 100 Gb |
PVE Storage {#NODE} - {#NAME} used | Used storage size in bytes | 90 Gb |
PVE Storage {#NODE} - {#NAME} used in % | Used storage size in % | 90 % |
Trigger | Severity | Description |
---|---|---|
PVE Storage {#NODE} - {#NAME} unavailable | High | Storage is unavailable |
PVE Storage {#NODE} - {#NAME} disabled | Warning | Storage is disabled |
PVE Storage {#NODE} - {#NAME} used > 80 % | Warning | Storage usage > 80% |
PVE Storage {#NODE} - {#NAME} used > 90 % | High | Storage usage > 90% |
Graph | Description |
---|---|
PVE Storage {#NODE} - {#NAME} usage | Storage usage |