Proxmox

Proxmox Virtual Environment is an open-source server virtualization management platform. It is a Debian-based Linux distribution with a modified Ubuntu LTS kernel and allows deployment and management of virtual machines and containers.

Available solutions




This template is for Zabbix version: 7.4

Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/proxmox?at=release/7.4

Proxmox VE by HTTP

Overview

Proxmox VE is a complete open-source platform for enterprise virtualization. It tightly integrates two virtualization technologies: KVM for virtual machines and LXC for containers, on a single platform.

Requirements

Zabbix version: 7.4 and higher.

Tested versions

This template has been tested on:

  • Proxmox VE 8.4.0.

Configuration

Zabbix should be configured according to the instructions in the Templates out of the box section.

Setup

To use this template, you need to have a Proxmox VE server set up and accessible via HTTP. Ensure that you have the necessary API access configured on your Proxmox VE server. Check the API documentation for details.

  1. Create an API token for the monitoring user. Important note: for security reasons, it is recommended to create a separate user (Datacenter - Permissions).

Please provide the necessary access levels for both the User and the Token:

  • /cluster/resources
  • /cluster/status
  • /access/users
  • /nodes
  • /nodes/{#NODE.NAME}/apt/update
  • /nodes/{#NODE.NAME}/certificates/info
  • /nodes/{#NODE.NAME}/disks/list
  • /nodes/{#NODE.NAME}/disks/smart?disk={#DISK.NAME}
  • /nodes/{#NODE.NAME}/hardware/pci
  • /nodes/{#NODE.NAME}/hardware/usb
  • /nodes/{#NODE.NAME}/lxc
  • /nodes/{#NODE.NAME}/lxc/{#LXC.VMID}/status/current
  • /nodes/{#NODE.NAME}/qemu
  • /nodes/{#NODE.NAME}/qemu/{#QEMU.VMID}/agent/get-fsinfo
  • /nodes/{#NODE.NAME}/qemu/{#QEMU.VMID}/agent/get-osinfo
  • /nodes/{#NODE.NAME}/qemu/{#QEMU.VMID}/agent/get-time
  • /nodes/{#NODE.NAME}/qemu/{#QEMU.VMID}/agent/get-timezone
  • /nodes/{#NODE.NAME}/qemu/{#QEMU.VMID}/agent/info
  • /nodes/{#NODE.NAME}/qemu/{#QEMU.VMID}/agent/network-get-interfaces
  • /nodes/{#NODE.NAME}/qemu/{#QEMU.VMID}/status/current
  • /nodes/{#NODE.NAME}/storage
  • /nodes/{#NODE.NAME}/time
  • /nodes/{#NODE.NAME}/version
  1. Copy the resulting Token ID and Secret into the host macros {$PVE.TOKEN.ID} and {$PVE.TOKEN.SECRET}.

  2. Set the hostname or IP address of the Proxmox API VE host in the {$PVE.URL.HOST} macro. You can also change the API port in the {$PVE.URL.PORT} macro if necessary.

Macros used

Name Description Default
{$PVE.URL.HOST}

The hostname or IP address of the Proxmox VE API host.

{$PVE.URL.PORT}

The port number of the Proxmox VE API host.

8006
{$PVE.TOKEN.ID}

API tokens allow stateless access to most parts of the REST API by another system, software or API client.

USER@REALM!TOKENID
{$PVE.TOKEN.SECRET}

Secret key.

{$PVE.PROXY}

Proxy settings for the Proxmox VE API.

{$PVE.PARAMS.INTERVAL.CLUSTER}

Interval for cluster data retrieval.

1m
{$PVE.PARAMS.INTERVAL.USER}

Interval for user data retrieval.

1h
{$PVE.PARAMS.INTERVAL.NODE}

Interval for node data retrieval.

1m
{$PVE.FILTER.USER.MATCH}

Filter for user discovery by fullname.

.*
{$PVE.FILTER.USER.NOTMATCH}

Exclude filter for user discovery by fullname.

CHANGE_ME_IF_NEEDED
{$PVE.FILTER.NODE.MATCH}

Filter for node discovery by name.

.*
{$PVE.FILTER.NODE.NOTMATCH}

Exclude filter for node discovery by name.

CHANGE_ME_IF_NEEDED
{$PVE.FILTER.NODE.STATUS}

Filter for node discovery by status.

.*
{$PVE.TRIGGER.UPTIME}

Threshold for uptime triggers. This macro support context.

15m
{$PVE.TRIGGER.CPU.WARNING}

Threshold for CPU utilization warning triggers in percentage. This macro support context.

90
{$PVE.TRIGGER.MEMORY.WARNING}

Threshold for memory usage warning triggers in percentage. This macro support context.

90
{$PVE.TRIGGER.DISK.WARNING}

Threshold for disk usage warning triggers in percentage. This macro support context.

90
{$PVE.TRIGGER.SWAP.WARNING}

Threshold for swap usage warning triggers in percentage. This macro support context.

90
{$PVE.LLD.ENABLE.CERT}

Enable discovery of node certificates.

.*
{$PVE.LLD.ENABLE.DISK}

Enable discovery of node disks.

.*
{$PVE.LLD.ENABLE.STORAGE}

Enable discovery of node storage.

.*
{$PVE.FILTER.CERT.FILE.MATCH}

Filter for certificate file discovery by name.

.*
{$PVE.FILTER.CERT.FILE.NOTMATCH}

Exclude filter for certificate file discovery by name.

CHANGE_ME_IF_NEEDED
{$PVE.PARAMS.INTERVAL.CERT}

Interval for certificate data retrieval.

1h
{$PVE.FILTER.DISK.MATCH}

Filter for disk discovery by name.

.*
{$PVE.FILTER.DISK.NOTMATCH}

Exclude filter for disk discovery by name.

CHANGE_ME_IF_NEEDED
{$PVE.PARAMS.INTERVAL.DISK}

Interval for disk discovery.

1h
{$PVE.FILTER.QEMULXC.STATUS.MATCH}

Filter for QEMU and LXC discovery by status.

.*
{$PVE.FILTER.LXC.MATCH}

Filter for LXC discovery by name.

.*
{$PVE.FILTER.LXC.NOTMATCH}

Exclude filter for LXC discovery by name.

CHANGE_ME_IF_NEEDED
{$PVE.FILTER.QEMU.MATCH}

Filter for QEMU virtual machine discovery by name.

.*
{$PVE.FILTER.QEMU.NOTMATCH}

Exclude filter for QEMU virtual machine discovery by name.

CHANGE_ME_IF_NEEDED
{$PVE.FILTER.QEMU.FS.MOUNT_POINT.MATCH}

Filter for QEMU virtual machine filesystem discovery by mount point.

.*
{$PVE.FILTER.QEMU.FS.MOUNT_POINT.NOTMATCH}

Exclude filter for QEMU virtual machine filesystem discovery by mount point.

CHANGE_ME_IF_NEEDED
{$PVE.FILTER.QEMU.FS.TYPE.MATCH}

Filter for QEMU virtual machine filesystem discovery by type.

.*
{$PVE.FILTER.QEMU.FS.TYPE.NOTMATCH}

Exclude filter for QEMU virtual machine filesystem discovery by type.

CHANGE_ME_IF_NEEDED
{$PVE.PARAMS.INTERVAL.QEMU.FS}

Interval for QEMU virtual machine filesystem discover.

1h
{$PVE.FILTER.QEMU.OS.METRIC.MATCH}

Filter for QEMU virtual machine OS metric discovery by name.

.*
{$PVE.FILTER.QEMU.OS.METRIC.NOTMATCH}

Exclude filter for QEMU virtual machine OS metric discovery by name.

CHANGE_ME_IF_NEEDED
{$PVE.PARAMS.INTERVAL.QEMU.OS}

Interval for QEMU virtual machine OS metric data retrieval.

12h
{$PVE.FILTER.QEMU.NET.IFACE.NAME.MATCH}

Filter for QEMU virtual machine network interface discovery by name.

.*
{$PVE.FILTER.QEMU.NET.IFACE.NAME.NOTMATCH}

Exclude filter for QEMU virtual machine network interface discovery by name.

lo|Loopback.*
{$PVE.PARAMS.INTERVAL.QEMU.NETWORK}

Interval for QEMU virtual machine network interface discovery.

12h
{$PVE.FILTER.STORAGE.NAME.MATCH}

Filter for storage discovery by name.

.*
{$PVE.FILTER.STORAGE.NAME.NOTMATCH}

Exclude filter for storage discovery by name.

CHANGE_ME_IF_NEEDED
{$PVE.PARAMS.INTERVAL.STORAGE}

Interval for storage discovery.

12h

Items

Name Description Type Key and additional info
Cluster: Get user data

Retrieves the list of users from the Proxmox VE API.

HTTP agent proxmox_ve.get_user_data

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Cluster: Get node data

Retrieves the list of nodes from the Proxmox VE API.

HTTP agent proxmox_ve.get_node_data

Preprocessing

  • JSON Path: $.data

    ⛔️Custom on fail: Set error to: Error retrieving node data

Cluster: Get resources

Retrieves the list of cluster resources from the Proxmox VE API.

Script proxmox_ve.cluster.resources.get
Cluster: Quorum status

Retrieves the cluster quorum status from the Proxmox VE API.

Dependent item proxmox_ve.cluster.quorum.status

Preprocessing

  • JSON Path: $.data.cluster.quorate

  • Discard unchanged with heartbeat: 1h

Cluster: Number of cluster nodes

Retrieves the number of nodes in the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.nodes

Preprocessing

  • JSON Path: $.data.cluster.nodes

  • Discard unchanged with heartbeat: 1h

Cluster: Number of cluster nodes online

Retrieves the number of online nodes in the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.nodes.online

Preprocessing

  • JSON Path: $.data.cluster.node_online

  • Discard unchanged with heartbeat: 1h

Cluster: Number of cluster nodes offline

Retrieves the number of offline nodes in the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.nodes.offline

Preprocessing

  • JSON Path: $.data.cluster.node_offline

  • Discard unchanged with heartbeat: 1h

Cluster: Number of running virtual machines

Retrieves the number of running virtual machines in the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.vms.running

Preprocessing

  • JSON Path: $.data.cluster.qemu_running

  • Discard unchanged with heartbeat: 1h

Cluster: Number of stopped virtual machines

Retrieves the number of stopped virtual machines in the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.vms.stopped

Preprocessing

  • JSON Path: $.data.cluster.qemu_stopped

  • Discard unchanged with heartbeat: 1h

Cluster: Number of running LXC containers

Retrieves the number of running LXC containers in the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.lxc.running

Preprocessing

  • JSON Path: $.data.cluster.lxc_running

  • Discard unchanged with heartbeat: 1h

Cluster: Number of stopped LXC containers

Retrieves the number of stopped LXC containers in the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.lxc.stopped

Preprocessing

  • JSON Path: $.data.cluster.lxc_stopped

  • Discard unchanged with heartbeat: 1h

Cluster: Number of CPUs

Retrieves the total number of CPUs in the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.cpu.count

Preprocessing

  • JSON Path: $.data.cluster.cpu_count

  • Discard unchanged with heartbeat: 1h

Cluster: CPU utilization

Retrieves the CPU utilization percentage for the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.cpu.utilization

Preprocessing

  • JSON Path: $.data.cluster.cpu_average

  • Discard unchanged with heartbeat: 1h

Cluster: Memory used

Retrieves the total memory used in the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.memory.used

Preprocessing

  • JSON Path: $.data.cluster.memory_used

  • Discard unchanged with heartbeat: 1h

Cluster: Memory total

Retrieves the total memory available in the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.memory.total

Preprocessing

  • JSON Path: $.data.cluster.memory_total

  • Discard unchanged with heartbeat: 1h

Cluster: Memory utilization

Retrieves the memory utilization percentage for the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.memory.utilization

Preprocessing

  • JSON Path: $.data.cluster.memory_utilization

  • Discard unchanged with heartbeat: 1h

Cluster: Storage used

Retrieves the total storage used in the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.storage.used

Preprocessing

  • JSON Path: $.data.storage.used

  • Discard unchanged with heartbeat: 1h

Cluster: Storage total

Retrieves the total storage available in the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.storage.total

Preprocessing

  • JSON Path: $.data.storage.total

  • Discard unchanged with heartbeat: 1h

Cluster: Storage utilization

Retrieves the storage utilization percentage for the Proxmox VE cluster.

Dependent item proxmox_ve.cluster.storage.utilization

Preprocessing

  • JSON Path: $.data.storage.utilization

  • Discard unchanged with heartbeat: 1h

Triggers

Name Description Expression Severity Dependencies and additional info
Proxmox VE: Cluster resources update error

An error occurred while retrieving cluster resources from the Proxmox VE API.

jsonpath(last(/Proxmox VE by HTTP/proxmox_ve.cluster.resources.get), "$.status") <> 0 or jsonpath(last(/Proxmox VE by HTTP/proxmox_ve.cluster.resources.get), "$.message") <> "" High
Proxmox VE: Cluster quorum status changed

No majority of nodes for decision making.

last(/Proxmox VE by HTTP/proxmox_ve.cluster.quorum.status) = 0 Warning Manual close: Yes

LLD rule Proxmox shared storage discovery

Name Description Type Key and additional info
Proxmox shared storage discovery Dependent item proxmox_ve.shared.storage.discovery

Preprocessing

  • JSON Path: $.data.storage.list

    ⛔️Custom on fail: Set value to: []

Item prototypes for Proxmox shared storage discovery

Name Description Type Key and additional info
Storage [{#STORAGE.NAME}]: Type

Retrieves the type of shared storage {#STORAGE.NAME}.

Dependent item proxmox_ve.storage.type[{#STORAGE.NAME}]

Preprocessing

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Set value to: unknown

  • Discard unchanged with heartbeat: 1h

Storage [{#STORAGE.NAME}]: Total

Retrieves the total size of shared storage {#STORAGE.NAME}.

Dependent item proxmox_ve.storage.total[{#STORAGE.NAME}]

Preprocessing

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Set value to: 0

  • Discard unchanged with heartbeat: 1h

Storage [{#STORAGE.NAME}]: Used

Retrieves the used size of shared storage {#STORAGE.NAME}.

Dependent item proxmox_ve.storage.used[{#STORAGE.NAME}]

Preprocessing

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Set value to: 0

  • Discard unchanged with heartbeat: 1h

Storage [{#STORAGE.NAME}]: Utilization

Retrieves the storage utilization percentage for shared storage {#STORAGE.NAME}.

Calculated proxmox_ve.storage.utilization[{#STORAGE.NAME}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Storage [{#STORAGE.NAME}]: Content

Retrieves the content type of shared storage {#STORAGE.NAME}.

Dependent item proxmox_ve.storage.content[{#STORAGE.NAME}]

Preprocessing

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Set value to: unknown

  • Discard unchanged with heartbeat: 1h

LLD rule Proxmox users discovery

Name Description Type Key and additional info
Proxmox users discovery Dependent item proxmox_ve.users.discovery

Item prototypes for Proxmox users discovery

Name Description Type Key and additional info
User [{#USER.FULLNAME}]: Expire after

Retrieves the expiration time for the user {#USER.FULLNAME}.

The value is calculated as the difference between the current time and the expiration time.

Dependent item proxmox_ve.user.expire[{#USER.ID}]

Preprocessing

  • JSON Path: $.data[?(@.userid == "{#USER.ID}")].expire.first()

    ⛔️Custom on fail: Set value to: 0

  • JavaScript: The text is too long. Please see the template.

User [{#USER.FULLNAME}]: Enabled

Retrieves enabled status for the user {#USER.FIRSTNAME} {#USER.LASTNAME} ({#USER.ID}).

Dependent item proxmox_ve.user.enabled[{#USER.ID}]

Preprocessing

  • JSON Path: $.data[?(@.userid == "{#USER.ID}")].enable.first()

    ⛔️Custom on fail: Set value to: 0

Trigger prototypes for Proxmox users discovery

Name Description Expression Severity Dependencies and additional info
Proxmox VE: User [{#USER.FULLNAME}] expired

The user {#USER.FULLNAME} has expired.

last(/Proxmox VE by HTTP/proxmox_ve.user.expire[{#USER.ID}]) = 0 and last(/Proxmox VE by HTTP/proxmox_ve.user.enabled[{#USER.ID}]) = 1 Info Manual close: Yes
Proxmox VE: User [{#USER.FULLNAME}] enabled status changed

The user {#USER.FULLNAME} enabled status has changed.

change(/Proxmox VE by HTTP/proxmox_ve.user.enabled[{#USER.ID}]) <> 0 Info Manual close: Yes

LLD rule Proxmox nodes discovery

Name Description Type Key and additional info
Proxmox nodes discovery Dependent item proxmox_ve.nodes.discovery

Item prototypes for Proxmox nodes discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: Status

Retrieves the status of the node {#NODE.NAME}.

Dependent item proxmox_ve.node.status[{#NODE.ID}]

Preprocessing

  • JSON Path: $.[?(@.id == "{#NODE.ID}")].status.first()

    ⛔️Custom on fail: Set value to: unknown

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Uptime

Retrieves the uptime of the node {#NODE.NAME}.

Dependent item proxmox_ve.node.uptime[{#NODE.ID}]

Preprocessing

  • JSON Path: $.[?(@.id == "{#NODE.ID}")].uptime.first()

    ⛔️Custom on fail: Discard value

Node [{#NODE.NAME}]: CPU utilization

Retrieves the CPU utilization of the node {#NODE.NAME}.

Dependent item proxmox_ve.node.cpu[{#NODE.ID}]

Preprocessing

  • JSON Path: $.[?(@.id == "{#NODE.ID}")].cpu.first()

    ⛔️Custom on fail: Discard value

  • Custom multiplier: 100.0

Node [{#NODE.NAME}]: CPU count

Retrieves the maximum CPU count of the node {#NODE.NAME}.

Dependent item proxmox_ve.node.cpu.max[{#NODE.ID}]

Preprocessing

  • JSON Path: $.[?(@.id == "{#NODE.ID}")].maxcpu.first()

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Memory used

Retrieves the memory used by the node {#NODE.NAME}.

Dependent item proxmox_ve.node.mem[{#NODE.ID}]

Preprocessing

  • JSON Path: $.[?(@.id == "{#NODE.ID}")].mem.first()

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: Memory total

Retrieves the total memory on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.maxmem[{#NODE.ID}]

Preprocessing

  • JSON Path: $.[?(@.id == "{#NODE.ID}")].maxmem.first()

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Memory utilization

Retrieves the memory utilization percentage for the node {#NODE.NAME}.

Calculated proxmox_ve.node.mem.utilization[{#NODE.ID}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: Disk used

Retrieves the disk used by the node {#NODE.NAME}.

Dependent item proxmox_ve.node.disk[{#NODE.ID}]

Preprocessing

  • JSON Path: $.[?(@.id == "{#NODE.ID}")].disk.first()

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: Disk total

Retrieves the total disk space on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.maxdisk[{#NODE.ID}]

Preprocessing

  • JSON Path: $.[?(@.id == "{#NODE.ID}")].maxdisk.first()

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Disk utilization

Retrieves the disk utilization percentage for the node {#NODE.NAME}.

Calculated proxmox_ve.node.disk.utilization[{#NODE.ID}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: Available updates HTTP agent proxmox_ve.node.updates[{#NODE.ID}]

Preprocessing

  • JSON Path: $.data.length()

    ⛔️Custom on fail: Set value to: 0

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Number of USB devices

Retrieves the number of USB devices on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.hardware.usb[{#NODE.ID}]

Preprocessing

  • JSON Path: $.data.length()

    ⛔️Custom on fail: Set value to: 0

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Number of PCI devices

Retrieves the number of PCI devices on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.hardware.pci[{#NODE.ID}]

Preprocessing

  • JSON Path: $.data.length()

    ⛔️Custom on fail: Set value to: 0

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Time info

Retrieves the current time on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.time.info[{#NODE.ID}]

Preprocessing

  • JSON Path: $.data

    ⛔️Custom on fail: Set value to: 0

Node [{#NODE.NAME}]: Time

Retrieves the current time on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.time[{#NODE.ID}]

Preprocessing

  • JSON Path: $.time

    ⛔️Custom on fail: Set value to: 0

Node [{#NODE.NAME}]: Time zone

Retrieves the timezone of the node {#NODE.NAME}.

Dependent item proxmox_ve.node.timezone[{#NODE.ID}]

Preprocessing

  • JSON Path: $.timezone

    ⛔️Custom on fail: Set value to: Unknown

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Time (local)

Retrieves the local time of the node {#NODE.NAME}.

Dependent item proxmox_ve.node.localtime[{#NODE.ID}]

Preprocessing

  • JSON Path: $.localtime

    ⛔️Custom on fail: Set value to: 0

Node [{#NODE.NAME}]: Version

Retrieves the version of the Proxmox VE on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.version[{#NODE.ID}]

Preprocessing

  • JSON Path: $.data.version

    ⛔️Custom on fail: Set value to: Unknown

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: IP address

Retrieves the IP address of the node {#NODE.NAME}.

Dependent item proxmox_ve.node.ip[{#NODE.ID}]

Preprocessing

  • JSON Path: $.data.nodes["{#NODE.NAME}"].ip

    ⛔️Custom on fail: Set value to: Unknown

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Subscribe level

Retrieves the subscription level of the node {#NODE.NAME}.

Dependent item proxmox_ve.node.subscribe[{#NODE.ID}]

Preprocessing

  • JSON Path: $.data.nodes["{#NODE.NAME}"].level

    ⛔️Custom on fail: Set value to: ``

  • Discard unchanged with heartbeat: 12h

Trigger prototypes for Proxmox nodes discovery

Name Description Expression Severity Dependencies and additional info
Proxmox VE: Node [{#NODE.NAME}] not online

The node {#NODE.NAME} is not online.

last(/Proxmox VE by HTTP/proxmox_ve.node.status[{#NODE.ID}]) <> 10 Warning Manual close: Yes
Proxmox VE: Node [{#NODE.NAME}] has been restarted

The node {#NODE.NAME} has been restarted.

last(/Proxmox VE by HTTP/proxmox_ve.node.uptime[{#NODE.ID}]) < {$PVE.TRIGGER.UPTIME:"{#NODE.NAME}"} Info
Proxmox VE: Node [{#NODE.NAME}] CPU utilization high

The CPU utilization of the node {#NODE.NAME} is high.

avg(/Proxmox VE by HTTP/proxmox_ve.node.cpu[{#NODE.ID}], 5m) > {$PVE.TRIGGER.CPU.WARNING:"{#NODE.NAME}"} Warning
Proxmox VE: Node [{#NODE.NAME}] memory utilization high

The memory utilization of the node {#NODE.NAME} is high.

avg(/Proxmox VE by HTTP/proxmox_ve.node.mem.utilization[{#NODE.ID}], 5m) > {$PVE.TRIGGER.MEMORY.WARNING:"{#NODE.NAME}"} Warning
Proxmox VE: Node [{#NODE.NAME}] disk utilization high

The disk utilization of the node {#NODE.NAME} is high.

avg(/Proxmox VE by HTTP/proxmox_ve.node.disk.utilization[{#NODE.ID}], 5m) > {$PVE.TRIGGER.DISK.WARNING:"{#NODE.NAME}"} Warning
Proxmox VE: Node [{#NODE.NAME}] has available updates

The node {#NODE.NAME} has available updates.

last(/Proxmox VE by HTTP/proxmox_ve.node.updates[{#NODE.ID}]) > 0 Info
Proxmox VE: Node [{#NODE.NAME}] changed number of USB devices

The number of USB devices on the node {#NODE.NAME} has changed.

change(/Proxmox VE by HTTP/proxmox_ve.node.hardware.usb[{#NODE.ID}]) <> 0 Info Manual close: Yes
Proxmox VE: Node [{#NODE.NAME}] changed number of PCI devices

The number of PCI devices on the node {#NODE.NAME} has changed.

change(/Proxmox VE by HTTP/proxmox_ve.node.hardware.pci[{#NODE.ID}]) <> 0 Info Manual close: Yes
Proxmox VE: Node [{#NODE.NAME}] version changed

The version of Proxmox VE on the node {#NODE.NAME} has changed.

change(/Proxmox VE by HTTP/proxmox_ve.node.version[{#NODE.ID}]) = 1 Info Manual close: Yes

LLD rule Node [{#NODE.NAME}]: Certificate discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: Certificate discovery

Discovers certificates on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.certificates.discovery[{#NODE.ID}]

Preprocessing

  • JSON Path: $.data

  • Discard unchanged with heartbeat: 12h

Item prototypes for Node [{#NODE.NAME}]: Certificate discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: Certificate [{#CERT.FILENAME}]: Get info

Retrieves info for the certificate {#CERT.FILENAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.certificates.expire[{#NODE.ID},{#CERT.FILENAME}]

Preprocessing

  • JSON Path: $.data.[?(@.filename == "{#CERT.FILENAME}")].first()

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Certificate [{#CERT.FILENAME}]: Issuer

Retrieves the issuer for the certificate {#CERT.FILENAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.certificates.issuer[{#NODE.ID},{#CERT.FILENAME}]

Preprocessing

  • JSON Path: $.issuer

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Certificate [{#CERT.FILENAME}]: Subject

Retrieves the subject for the certificate {#CERT.FILENAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.certificates.subject[{#NODE.ID},{#CERT.FILENAME}]

Preprocessing

  • JSON Path: $.subject

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Certificate [{#CERT.FILENAME}]: Fingerprint

Retrieves the fingerprint for the certificate {#CERT.FILENAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.certificates.fingerprint[{#NODE.ID},{#CERT.FILENAME}]

Preprocessing

  • JSON Path: $.fingerprint

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Certificate [{#CERT.FILENAME}]: Valid not before

Retrieves the not before date for the certificate {#CERT.FILENAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.certificates.notbefore[{#NODE.ID},{#CERT.FILENAME}]

Preprocessing

  • JSON Path: $.notbefore

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Certificate [{#CERT.FILENAME}]: Valid not after

Retrieves the not after date for the certificate {#CERT.FILENAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.certificates.notafter[{#NODE.ID},{#CERT.FILENAME}]

Preprocessing

  • JSON Path: $.notafter

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Trigger prototypes for Node [{#NODE.NAME}]: Certificate discovery

Name Description Expression Severity Dependencies and additional info
Proxmox VE: Node [{#NODE.NAME}]: Certificate [{#CERT.FILENAME}]: Not valid

The certificate {#CERT.FILENAME} on the node {#NODE.NAME} expires in less than 7 days.

last(/Proxmox VE by HTTP/proxmox_ve.node.certificates.notafter[{#NODE.ID},{#CERT.FILENAME}]) < now() or last(/Proxmox VE by HTTP/proxmox_ve.node.certificates.notbefore[{#NODE.ID},{#CERT.FILENAME}]) > now() Average

LLD rule Node [{#NODE.NAME}]: Disks discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: Disks discovery

Discovers disks on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.disks.discovery[{#NODE.ID}]

Preprocessing

  • JSON Path: $.data

  • Discard unchanged with heartbeat: 12h

Item prototypes for Node [{#NODE.NAME}]: Disks discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: Disk [{#DISK.NAME}]: Get info

Retrieves info for the disk {#DISK.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.disk.info[{#NODE.ID},{#DISK.NAME}]

Preprocessing

  • JSON Path: $.data.[?(@.devpath == "{#DISK.NAME}")].first()

    ⛔️Custom on fail: Discard value

Node [{#NODE.NAME}]: Disk [{#DISK.NAME}]: Vendor

Retrieves the vendor for the disk {#DISK.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.disk.vendor[{#NODE.ID},{#DISK.NAME}]

Preprocessing

  • JSON Path: $.vendor

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Disk [{#DISK.NAME}]: Model

Retrieves the model for the disk {#DISK.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.disk.model[{#NODE.ID},{#DISK.NAME}]

Preprocessing

  • JSON Path: $.model

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Disk [{#DISK.NAME}]: Serial

Retrieves the serial number for the disk {#DISK.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.disk.serial[{#NODE.ID},{#DISK.NAME}]

Preprocessing

  • JSON Path: $.serial

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Disk [{#DISK.NAME}]: Type

Retrieves the type for the disk {#DISK.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.disk.type[{#NODE.ID},{#DISK.NAME}]

Preprocessing

  • JSON Path: $.type

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Disk [{#DISK.NAME}]: SMART status

Retrieves the SMART status for the disk {#DISK.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.disk.smart[{#NODE.ID},{#DISK.NAME}]

Preprocessing

  • JSON Path: $.data.health

    ⛔️Custom on fail: Discard value

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 12h

Trigger prototypes for Node [{#NODE.NAME}]: Disks discovery

Name Description Expression Severity Dependencies and additional info
Proxmox VE: Node [{#NODE.NAME}]: Disk [{#DISK.NAME}]: SMART status fail

The SMART status for the disk {#DISK.NAME} on the node {#NODE.NAME} is not healthy.

last(/Proxmox VE by HTTP/proxmox_ve.node.disk.smart[{#NODE.ID},{#DISK.NAME}]) <> 1 High

LLD rule Node [{#NODE.NAME}]: Storage discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: Storage discovery

Discovers storage devices on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.storage.discovery[{#NODE.ID}]

Preprocessing

  • JSON Path: $.data

    ⛔️Custom on fail: Set value to: []

  • Discard unchanged with heartbeat: 12h

Item prototypes for Node [{#NODE.NAME}]: Storage discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: Storage [{#STORAGE.NAME}]: Get info

Retrieves information about the storage device "{#STORAGE.NAME}" on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.storage[{#NODE.ID},{#STORAGE.NAME}]

Preprocessing

  • JSON Path: $.data[?(@.storage=="{#STORAGE.NAME}")].first()

    ⛔️Custom on fail: Discard value

Node [{#NODE.NAME}]: Storage [{#STORAGE.NAME}]: Type

Retrieves the type of the storage device "{#STORAGE.NAME}" on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.storage.type[{#NODE.ID},{#STORAGE.NAME}]

Preprocessing

  • JSON Path: $.type

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Storage [{#STORAGE.NAME}]: Content

Retrieves the content type of the storage device "{#STORAGE.NAME}" on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.storage.content[{#NODE.ID},{#STORAGE.NAME}]

Preprocessing

  • JSON Path: $.content

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Storage [{#STORAGE.NAME}]: Used

Retrieves the used space of the storage device "{#STORAGE.NAME}" on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.storage.used[{#NODE.ID},{#STORAGE.NAME}]

Preprocessing

  • JSON Path: $.used

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Storage [{#STORAGE.NAME}]: Total

Retrieves the total space of the storage device "{#STORAGE.NAME}" on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.storage.total[{#NODE.ID},{#STORAGE.NAME}]

Preprocessing

  • JSON Path: $.total

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: Storage [{#STORAGE.NAME}]: Utilization

Retrieves the utilization percentage of the storage device "{#STORAGE.NAME}" on the node {#NODE.NAME}.

Calculated proxmox_ve.node.storage.utilization[{#NODE.ID},{#STORAGE.NAME}]

Preprocessing

  • Discard unchanged with heartbeat: 12h

Trigger prototypes for Node [{#NODE.NAME}]: Storage discovery

Name Description Expression Severity Dependencies and additional info
Proxmox VE: Node [{#NODE.NAME}]: Storage [{#STORAGE.NAME}]: Usage high

The storage usage of {#STORAGE.NAME} on the node {#NODE.NAME} is high.

last(/Proxmox VE by HTTP/proxmox_ve.node.storage.used[{#NODE.ID},{#STORAGE.NAME}]) / last(/Proxmox VE by HTTP/proxmox_ve.node.storage.total[{#NODE.ID},{#STORAGE.NAME}]) * 100 > {$PVE.TRIGGER.DISK.WARNING:"{#STORAGE.NAME}"} Warning
Proxmox VE: Node [{#NODE.NAME}]: Storage [{#STORAGE.NAME}]: Usage high

The storage usage of {#STORAGE.NAME} on the node {#NODE.NAME} is high.

last(/Proxmox VE by HTTP/proxmox_ve.node.storage.utilization[{#NODE.ID},{#STORAGE.NAME}]) > {$PVE.TRIGGER.DISK.WARNING:"{#STORAGE.NAME}"} Warning

LLD rule Proxmox LXC discovery

Name Description Type Key and additional info
Proxmox LXC discovery

Discovers LXC containers on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.discovery[{#NODE.ID}]

Preprocessing

  • JSON Path: $.data.lxc

  • Discard unchanged with heartbeat: 12h

Item prototypes for Proxmox LXC discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Get info

Retrieves information about the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.lxc[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.data

    ⛔️Custom on fail: Set value to: {}

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Worked node

Retrieves the node where the LXC container {#LXC.NAME} is running.

Dependent item proxmox_ve.node.lxc.node[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.data.lxc[?(@.vmid == "{#LXC.VMID}")].node.first()

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Status

Retrieves the status of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.status[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.status

    ⛔️Custom on fail: Set value to: unknown

  • Discard unchanged with heartbeat: 12h

  • JavaScript: The text is too long. Please see the template.

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: CPU utilization

Retrieves the CPU utilization of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.cpu[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.cpu

    ⛔️Custom on fail: Discard value

  • Custom multiplier: 100.0

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: CPU count

Retrieves CPU count of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.cpu.count[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.cpus

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Disk used

Retrieves the Root disk usage of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.disk.usage[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.disk

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Disk total

Retrieves the Root disk total of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.disk.maxdisk[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.maxdisk

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Disk utilization

Retrieves disk utilization of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Calculated proxmox_ve.node.lxc.disk.utilization[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Disk read speed

Retrieves disk read speed of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.disk.read[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.diskread

    ⛔️Custom on fail: Discard value

  • Change per second
  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Disk write speed

Retrieves disk write speed of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.disk.write[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.diskwrite

    ⛔️Custom on fail: Discard value

  • Change per second
  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Memory used

Retrieves the memory usage of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.memory.usage[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.mem

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Memory total

Retrieves the total memory of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.memory.max[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.maxmem

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Memory utilization

Retrieves memory utilization of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Calculated proxmox_ve.node.lxc.memory.utilization[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Swap used

Retrieves the swap usage of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.swap.usage[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.swap

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Swap total

Retrieves the total swap of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.maxswap[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.maxswap

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Network input speed

Retrieves network input speed of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.network.input[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.netin

    ⛔️Custom on fail: Discard value

  • Change per second
  • Custom multiplier: 8

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Network output speed

Retrieves network output speed of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.network.output[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.netout

    ⛔️Custom on fail: Discard value

  • Change per second
  • Custom multiplier: 8

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Uptime

Retrieves the uptime of the LXC container {#LXC.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.lxc.uptime[{#NODE.ID},{#LXC.VMID}]

Preprocessing

  • JSON Path: $.uptime

    ⛔️Custom on fail: Discard value

Trigger prototypes for Proxmox LXC discovery

Name Description Expression Severity Dependencies and additional info
Proxmox VE: Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Changed worked node

The LXC container {#LXC.NAME} migrated to another node.

last(/Proxmox VE by HTTP/proxmox_ve.node.lxc.node[{#NODE.ID},{#LXC.VMID}], #1) <> last(/Proxmox VE by HTTP/proxmox_ve.node.lxc.node[{#NODE.ID},{#LXC.VMID}], #2) Info Manual close: Yes
Proxmox VE: Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Not running

The LXC container {#LXC.NAME} on the node {#NODE.NAME} is not running.

last(/Proxmox VE by HTTP/proxmox_ve.node.lxc.status[{#NODE.ID},{#LXC.VMID}]) <> 2 Warning Manual close: Yes
Proxmox VE: Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: CPU utilization high

The CPU utilization of the LXC container {#LXC.NAME} on the node {#NODE.NAME} is high.

avg(/Proxmox VE by HTTP/proxmox_ve.node.lxc.cpu[{#NODE.ID},{#LXC.VMID}], 5m) > {$PVE.TRIGGER.CPU.WARNING:"{#LXC.NAME}"} Warning
Proxmox VE: Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Disk usage high

The disk usage of the LXC container {#LXC.NAME} on the node {#NODE.NAME} is high.

last(/Proxmox VE by HTTP/proxmox_ve.node.lxc.disk.utilization[{#NODE.ID},{#LXC.VMID}]) > {$PVE.TRIGGER.DISK.WARNING:"{#LXC.NAME}"} Warning
Proxmox VE: Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Memory usage high

The memory usage of the LXC container {#LXC.NAME} on the node {#NODE.NAME} is high.

last(/Proxmox VE by HTTP/proxmox_ve.node.lxc.memory.utilization[{#NODE.ID},{#LXC.VMID}]) > {$PVE.TRIGGER.MEMORY.WARNING:"{#LXC.NAME}"} Warning
Proxmox VE: Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Swap usage high

The swap usage of the LXC container {#LXC.NAME} on the node {#NODE.NAME} is high.

avg(/Proxmox VE by HTTP/proxmox_ve.node.lxc.swap.usage[{#NODE.ID},{#LXC.VMID}],5m) / last(/Proxmox VE by HTTP/proxmox_ve.node.lxc.maxswap[{#NODE.ID},{#LXC.VMID}]) * 100 > {$PVE.TRIGGER.SWAP.WARNING:"{#LXC.NAME}"} Warning
Proxmox VE: Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Has been restarted

The LXC container {#LXC.NAME} on the node {#NODE.NAME} has been restarted.

last(/Proxmox VE by HTTP/proxmox_ve.node.lxc.uptime[{#NODE.ID},{#LXC.VMID}]) < {$PVE.TRIGGER.UPTIME:"{#LXC.NAME}"} Warning Depends on:
  • Proxmox VE: Node [{#NODE.NAME}]: LXC [{#LXC.NAME}]: Not running

LLD rule Proxmox QEMU discovery

Name Description Type Key and additional info
Proxmox QEMU discovery

Discovers QEMU virtual machines on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.discovery[{#NODE.ID}]

Preprocessing

  • JSON Path: $.data.qemu

  • Discard unchanged with heartbeat: 12h

Item prototypes for Proxmox QEMU discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Get info

Retrieves information about the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.qemu[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.data

    ⛔️Custom on fail: Set value to: {}

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Worked node

Retrieves the node where the QEMU virtual machine {#QEMU.NAME} is running.

Dependent item proxmox_ve.node.qemu.node[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.data.qemu[?(@.vmid == "{#QEMU.VMID}")].node.first()

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Guest agent

Retrieves the QEMU guest agent status for the virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.agent[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.agent

    ⛔️Custom on fail: Set value to: 3

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Guest agent version

Retrieves the QEMU guest agent version for the virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.qemu.agent.version[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.data.result.version

    ⛔️Custom on fail: Set value to: Unknown

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: CPU utilization

Retrieves the QEMU CPU utilization for the virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.cpu.usage[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.cpu

    ⛔️Custom on fail: Discard value

  • Custom multiplier: 100.0

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: CPU count

Retrieves CPU count of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.cpu.count[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.cpus

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Disk read speed

Retrieves disk read speed of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.disk.read[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.diskread

    ⛔️Custom on fail: Discard value

  • Change per second
  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Disk write speed

Retrieves disk write speed of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.disk.write[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.diskwrite

    ⛔️Custom on fail: Discard value

  • Change per second
  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Memory used

Retrieves the memory usage of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.memory.usage[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.mem

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Memory total

Retrieves the total memory of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.memory.maxmem[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.maxmem

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Memory utilization

Retrieves memory utilization of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Calculated proxmox_ve.node.qemu.memory.utilization[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Network input speed

Retrieves network input speed of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.network.input[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.netin

    ⛔️Custom on fail: Discard value

  • Change per second
  • Custom multiplier: 8

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Network output speed

Retrieves network output speed of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.network.output[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.netout

    ⛔️Custom on fail: Discard value

  • Change per second
  • Custom multiplier: 8

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Uptime

Retrieves the uptime of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.uptime[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.uptime

    ⛔️Custom on fail: Discard value

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Status

Retrieves the status of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.status[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.status

    ⛔️Custom on fail: Set value to: unknown

  • Discard unchanged with heartbeat: 1h

  • JavaScript: The text is too long. Please see the template.

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Time

Retrieves the system time of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.qemu.time[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.data.result

    ⛔️Custom on fail: Discard value

  • Custom multiplier: 1e-09

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Time zone

Retrieves the system timezone of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.qemu.timezone[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.data.result.zone

    ⛔️Custom on fail: Set value to: Unknown

  • Discard unchanged with heartbeat: 12h

Trigger prototypes for Proxmox QEMU discovery

Name Description Expression Severity Dependencies and additional info
Proxmox VE: Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Changed worked node

The QEMU virtual machine {#QEMU.NAME} migrated to another node.

last(/Proxmox VE by HTTP/proxmox_ve.node.qemu.node[{#NODE.ID},{#QEMU.VMID}], #1) <> last(/Proxmox VE by HTTP/proxmox_ve.node.qemu.node[{#NODE.ID},{#QEMU.VMID}], #2) Info Manual close: Yes
Proxmox VE: Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Agent is not enabled

The QEMU guest agent for the virtual machine {#QEMU.NAME} on the node {#NODE.NAME} is not enabled.

last(/Proxmox VE by HTTP/proxmox_ve.node.qemu.agent[{#NODE.ID},{#QEMU.VMID}]) <> 1 Info
Proxmox VE: Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Error getting guest agent data

Error retrieving the QEMU guest agent data for the virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.
The guest agent may not be running.

last(/Proxmox VE by HTTP/proxmox_ve.node.qemu.agent.version[{#NODE.ID},{#QEMU.VMID}])="Unknown" Warning Depends on:
  • Proxmox VE: Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Agent is not enabled
Proxmox VE: Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: CPU utilization high

The CPU utilization of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME} is high.

avg(/Proxmox VE by HTTP/proxmox_ve.node.qemu.cpu.usage[{#NODE.ID},{#QEMU.VMID}], 5m) > {$PVE.TRIGGER.CPU.WARNING:"{#QEMU.NAME}"} Warning
Proxmox VE: Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Memory usage high

The memory usage of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME} is high.

avg(/Proxmox VE by HTTP/proxmox_ve.node.qemu.memory.utilization[{#NODE.ID},{#QEMU.VMID}],5m) > {$PVE.TRIGGER.MEMORY.WARNING:"{#QEMU.NAME}"} Warning
Proxmox VE: Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Has been restarted

The QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME} has been restarted.

last(/Proxmox VE by HTTP/proxmox_ve.node.qemu.uptime[{#NODE.ID},{#QEMU.VMID}]) < {$PVE.TRIGGER.UPTIME:"{#QEMU.NAME}"} Warning Depends on:
  • Proxmox VE: Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Not running
Proxmox VE: Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Not running

The QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME} is not running.

last(/Proxmox VE by HTTP/proxmox_ve.node.qemu.status[{#NODE.ID},{#QEMU.VMID}]) <> 2 Warning

LLD rule Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Filesystem discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Filesystem discovery

Discovers filesystems of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.qemu.filesystem.discovery[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.data.result

    ⛔️Custom on fail: Set value to: []

  • Discard unchanged with heartbeat: 1h

Item prototypes for Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Filesystem discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.FS.MOUNTPOINT}]: Filesystem get info

Retrieves information about the filesystem mounted at {#QEMU.FS.MOUNTPOINT} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.qemu.filesystem[{#NODE.ID},{#QEMU.VMID},{#QEMU.FS.MOUNTPOINT}]

Preprocessing

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.FS.MOUNTPOINT}]: Filesystem used

Retrieves the used space of the filesystem mounted at {#QEMU.FS.MOUNTPOINT} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.filesystem.usage[{#NODE.ID},{#QEMU.VMID},{#QEMU.FS.MOUNTPOINT}]

Preprocessing

  • JSON Path: $["used-bytes"]

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.FS.MOUNTPOINT}]: Filesystem total

Retrieves the total space of the filesystem mounted at {#QEMU.FS.MOUNTPOINT} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.filesystem.total[{#NODE.ID},{#QEMU.VMID},{#QEMU.FS.MOUNTPOINT}]

Preprocessing

  • JSON Path: $["total-bytes"]

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.FS.MOUNTPOINT}]: Filesystem utilization

Retrieves filesystem utilization of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Calculated proxmox_ve.node.qemu.filesystem.utilization[{#NODE.ID},{#QEMU.VMID},{#QEMU.FS.MOUNTPOINT}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.FS.MOUNTPOINT}]: Filesystem total (privileged)

Retrieves the total space of the privileged filesystem mounted at {#QEMU.FS.MOUNTPOINT} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.filesystem.total.privileged[{#NODE.ID},{#QEMU.VMID},{#QEMU.FS.MOUNTPOINT}]

Preprocessing

  • JSON Path: $["total-bytes-privileged"]

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Trigger prototypes for Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Filesystem discovery

Name Description Expression Severity Dependencies and additional info
Proxmox VE: Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.FS.MOUNTPOINT}]: Filesystem used high

The filesystem usage of {#QEMU.FS.MOUNTPOINT} on the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME} is high.

last(/Proxmox VE by HTTP/proxmox_ve.node.qemu.filesystem.utilization[{#NODE.ID},{#QEMU.VMID},{#QEMU.FS.MOUNTPOINT}]) > {$PVE.TRIGGER.DISK.WARNING:"{#QEMU.NAME}"} Warning

LLD rule Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: OS info discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: OS info discovery

Discovers operating system information of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.qemu.os.discovery[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.data.result

    ⛔️Custom on fail: Discard value

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 12h

Item prototypes for Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: OS info discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: OS [{#QEMU.OS.METRIC}]

Retrieves the operating system information of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.qemu.os.info[{#NODE.ID},{#QEMU.VMID},{#QEMU.OS.METRIC}]

Preprocessing

  • JSON Path: $.data.result["{#QEMU.OS.METRIC}"]

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

LLD rule Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Network interfaces discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Network interfaces discovery

Discovers network interfaces of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.qemu.network.discovery[{#NODE.ID},{#QEMU.VMID}]

Preprocessing

  • JSON Path: $.data.result

    ⛔️Custom on fail: Set value to: []

Item prototypes for Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}]: Network interfaces discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: Network interface info

Retrieves information about the network interface {#QEMU.NETIF.NAME} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.qemu.network[{#NODE.ID},{#QEMU.VMID},{#QEMU.NETIF.NAME}]

Preprocessing

  • JSON Path: $.data.result[?(@.name=="{#QEMU.NETIF.NAME}")].first()

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: Hardware address

Retrieves the hardware address of the network interface {#QEMU.NETIF.NAME} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.network.mac[{#NODE.ID},{#QEMU.VMID},{#QEMU.NETIF.NAME}]

Preprocessing

  • JSON Path: $["hardware-address"]

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: Network input errors

Retrieves the number of input errors on the network interface {#QEMU.NETIF.NAME} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.network.input.errors[{#NODE.ID},{#QEMU.VMID},{#QEMU.NETIF.NAME}]

Preprocessing

  • JSON Path: $["statistics"]["rx-errs"]

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: Network output errors

Retrieves the number of output errors on the network interface {#QEMU.NETIF.NAME} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.network.output.errors[{#NODE.ID},{#QEMU.VMID},{#QEMU.NETIF.NAME}]

Preprocessing

  • JSON Path: $["statistics"]["tx-errs"]

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: Network input dropped

Retrieves the number of input packets dropped on the network interface {#QEMU.NETIF.NAME} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.network.input.dropped[{#NODE.ID},{#QEMU.VMID},{#QEMU.NETIF.NAME}]

Preprocessing

  • JSON Path: $["statistics"]["rx-dropped"]

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: Network output dropped

Retrieves the number of output packets dropped on the network interface {#QEMU.NETIF.NAME} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.network.output.dropped[{#NODE.ID},{#QEMU.VMID},{#QEMU.NETIF.NAME}]

Preprocessing

  • JSON Path: $["statistics"]["tx-dropped"]

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 12h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: Network input speed (in bps)

Retrieves the input speed of the network interface {#QEMU.NETIF.NAME} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.network.input.speed.bits[{#NODE.ID},{#QEMU.VMID},{#QEMU.NETIF.NAME}]

Preprocessing

  • JSON Path: $["statistics"]["rx-bytes"]

    ⛔️Custom on fail: Discard value

  • Custom multiplier: 8

  • Change per second
  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: Network output speed (in bps)

Retrieves the output speed of the network interface {#QEMU.NETIF.NAME} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.network.output.speed.bits[{#NODE.ID},{#QEMU.VMID},{#QEMU.NETIF.NAME}]

Preprocessing

  • JSON Path: $["statistics"]["tx-bytes"]

    ⛔️Custom on fail: Discard value

  • Custom multiplier: 8

  • Change per second
  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: Network input speed (in packets/s)

Retrieves the input speed in packets of the network interface {#QEMU.NETIF.NAME} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.network.input.speed.packets[{#NODE.ID},{#QEMU.VMID},{#QEMU.NETIF.NAME}]

Preprocessing

  • JSON Path: $["statistics"]["rx-packets"]

    ⛔️Custom on fail: Discard value

  • Change per second
  • Discard unchanged with heartbeat: 1h

Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: Network output speed (in packets/s)

Retrieves the output speed in packets of the network interface {#QEMU.NETIF.NAME} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

Dependent item proxmox_ve.node.qemu.network.output.speed.packets[{#NODE.ID},{#QEMU.VMID},{#QEMU.NETIF.NAME}]

Preprocessing

  • JSON Path: $["statistics"]["tx-packets"]

    ⛔️Custom on fail: Discard value

  • Change per second
  • Discard unchanged with heartbeat: 1h

LLD rule Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: IP addresses discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: IP addresses discovery

Discovers network interfaces of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.qemu.network.ip.discovery[{#NODE.ID},{#QEMU.VMID},{#QEMU.NETIF.NAME}]

Preprocessing

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Set value to: []

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 12h

Item prototypes for Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: IP addresses discovery

Name Description Type Key and additional info
Node [{#NODE.NAME}]: QEMU [{#QEMU.NAME}][{#QEMU.NETIF.NAME}]: IP address #{#QEMU.NETIF.IP.ID}

Retrieves information about the IP address {#QEMU.NETIF.IP.ADDRESS} of the network interface {#QEMU.NETIF.NAME} of the QEMU virtual machine {#QEMU.NAME} on the node {#NODE.NAME}.

HTTP agent proxmox_ve.node.qemu.network.ip[{#NODE.ID},{#QEMU.VMID},{#QEMU.NETIF.NAME},{#QEMU.NETIF.IP.ID}]

Preprocessing

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Discard value

  • JavaScript: The text is too long. Please see the template.

  • JSON Path: $.[?(@.id=="{#QEMU.NETIF.IP.ID}")].first()

    ⛔️Custom on fail: Discard value

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 12h

Feedback

Please report any issues with the template at https://support.zabbix.com

You can also provide feedback, discuss the template, or ask for help at ZABBIX forums

Articles and documentation

+ Propose new article

Sie können die Integration nicht finden, die Sie benötigen?