You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1933 lines
76 KiB

zabbix_export:
version: '7.0'
template_groups:
- uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
name: Templates/Applications
templates:
- uuid: 4958b76448d74ff1b6d7d6280449beee
template: 'Proxmox VE by HTTP'
name: 'Proxmox VE by HTTP'
description: 'Generated by official Zabbix template tool "Templator" 2.0.0'
vendor:
name: Zabbix
version: 7.0-0
groups:
- name: Templates/Applications
items:
- uuid: 75f8f8c507774f529ade4bc4255f5fd2
name: 'Proxmox: API service status'
type: SCRIPT
key: proxmox.api.available
delay: 5m
history: 7d
params: |
try {
var params = JSON.parse(value);
var req = new HttpRequest();
req.addHeader('Authorization: PVEAPIToken=' + params.token + '=' + params.secret);
req.get(encodeURI('https://' + params.url + ':' + params.port + '/api2/json/version'));
} catch (error) {
Zabbix.log(3, "Proxmox API failed: " + params.url + " Error: " + error);
if (!Number.isInteger(error))
return 520;
}
return req.getStatus();
description: 'Get API service status.'
valuemap:
name: 'HTTP response status code'
preprocessing:
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 12h
timeout: 10s
parameters:
- name: token
value: '{$PVE.TOKEN.ID}'
- name: secret
value: '{$PVE.TOKEN.SECRET}'
- name: url
value: '{HOST.CONN}'
- name: port
value: '{$PVE.URL.PORT}'
tags:
- tag: component
value: system
triggers:
- uuid: 7ef8290fd6e242339d0e56d5e8eedb1a
expression: 'last(/Proxmox VE by HTTP/proxmox.api.available) <> 200'
name: 'Proxmox: API service not available'
opdata: 'Current value: {ITEM.LASTVALUE1}'
priority: HIGH
description: 'The API service is not available. Check your network and authorization settings.'
tags:
- tag: scope
value: availability
- uuid: 4fe4fa1323cd481f8aff3bfb716eeae2
name: 'Proxmox: Get cluster resources'
type: HTTP_AGENT
key: proxmox.cluster.resources
delay: 5m
history: '0'
trends: '0'
value_type: TEXT
description: 'Resources index.'
preprocessing:
- type: CHECK_NOT_SUPPORTED
parameters:
- ''
error_handler: CUSTOM_VALUE
error_handler_params: 'Error getting data'
url: 'https://{HOST.CONN}:{$PVE.URL.PORT}/api2/json/cluster/resources'
headers:
- name: Authorization
value: 'PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}'
tags:
- tag: component
value: raw
- uuid: 6e6a5046b8154bafad375813ca210e1f
name: 'Proxmox: Get cluster status'
type: HTTP_AGENT
key: proxmox.cluster.status
delay: 5m
history: '0'
trends: '0'
value_type: TEXT
description: 'Get cluster status information.'
preprocessing:
- type: CHECK_NOT_SUPPORTED
parameters:
- ''
error_handler: CUSTOM_VALUE
error_handler_params: 'Error getting data'
url: 'https://{HOST.CONN}:{$PVE.URL.PORT}/api2/json/cluster/status'
headers:
- name: Authorization
value: 'PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}'
tags:
- tag: component
value: raw
discovery_rules:
- uuid: e01bb8d7614144ba82e31d91618dee31
name: 'Cluster discovery'
type: DEPENDENT
key: proxmox.cluster.discovery
delay: '0'
filter:
evaltype: AND
conditions:
- macro: '{#RESOURCE.TYPE}'
value: ^cluster$
formulaid: A
item_prototypes:
- uuid: 4b5d9197cfa042ceac1415a524912b63
name: 'Proxmox: Cluster [{#RESOURCE.NAME}]: Quorate'
type: DEPENDENT
key: 'proxmox.cluster.quorate[{#RESOURCE.NAME}]'
delay: '0'
history: 7d
description: 'Indicates if there is a majority of nodes online to make decisions.'
valuemap:
name: 'Cluster quorate'
preprocessing:
- type: JSONPATH
parameters:
- '$.data.[?(@.name == ''{#RESOURCE.NAME}'' && @.type == ''cluster'')].quorate.first()'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: proxmox.cluster.status
tags:
- tag: cluster
value: '{#RESOURCE.NAME}'
- tag: component
value: system
trigger_prototypes:
- uuid: 142e02d47b8a4ac9a9ad28b68b097ebd
expression: 'last(/Proxmox VE by HTTP/proxmox.cluster.quorate[{#RESOURCE.NAME}]) <> 1'
name: 'Proxmox: Cluster [{#RESOURCE.NAME}] not quorum'
opdata: 'Current value: {ITEM.LASTVALUE}'
priority: HIGH
description: 'Proxmox VE use a quorum-based technique to provide a consistent state among all cluster nodes.'
tags:
- tag: scope
value: availability
master_item:
key: proxmox.cluster.status
lld_macro_paths:
- lld_macro: '{#RESOURCE.TYPE}'
path: $.type
- lld_macro: '{#RESOURCE.NAME}'
path: $.name
- uuid: 78a4018328954d408e415aa0ce7ce41c
name: 'LXC discovery'
type: DEPENDENT
key: proxmox.lxc.discovery
delay: '0'
filter:
evaltype: AND
conditions:
- macro: '{#RESOURCE.TYPE}'
value: ^lxc$
formulaid: A
item_prototypes:
- uuid: dda211b14d7b4c419196a98ee5153307
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: CPU usage'
type: DEPENDENT
key: 'proxmox.lxc.cpu[{#LXC.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: '%'
description: 'CPU load.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.cpu
- type: MULTIPLIER
parameters:
- '100'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.lxc.status[{#LXC.ID}]'
tags:
- tag: component
value: cpu
- tag: lxc
value: '{#LXC.ID}'
- tag: name
value: '{#LXC.NAME}'
- tag: node
value: '{#NODE.NAME}'
trigger_prototypes:
- uuid: c0436342a19d4d6482fac70d2f04f530
expression: 'min(/Proxmox VE by HTTP/proxmox.lxc.cpu[{#LXC.ID}],5m) > {$PVE.LXC.CPU.PUSE.MAX.WARN:"{#LXC.ID}"}'
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})] high CPU usage'
event_name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})] high CPU usage (over {$PVE.LXC.CPU.PUSE.MAX.WARN:"{#LXC.ID}"}% use)'
opdata: 'Current use: {ITEM.LASTVALUE1}'
priority: WARNING
description: 'CPU usage.'
tags:
- tag: scope
value: performance
- uuid: 8bc1bb78bf1340f3ab8d9f888d081e23
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Disk read, rate'
type: DEPENDENT
key: 'proxmox.lxc.diskread[{#LXC.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: Bps
description: 'Disk read.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.diskread
- type: CHANGE_PER_SECOND
parameters:
- ''
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.lxc.status[{#LXC.ID}]'
tags:
- tag: component
value: storage
- tag: lxc
value: '{#LXC.ID}'
- tag: name
value: '{#LXC.NAME}'
- tag: node
value: '{#NODE.NAME}'
- uuid: cee89da9e4a842228b30cc708e4d7745
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Disk write, rate'
type: DEPENDENT
key: 'proxmox.lxc.diskwrite[{#LXC.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: Bps
description: 'Disk write.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.diskwrite
- type: CHANGE_PER_SECOND
parameters:
- ''
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.lxc.status[{#LXC.ID}]'
tags:
- tag: component
value: storage
- tag: lxc
value: '{#LXC.ID}'
- tag: name
value: '{#LXC.NAME}'
- tag: node
value: '{#NODE.NAME}'
- uuid: 686490c2a07f4a859bc7f1d56056cc5e
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Memory total'
type: DEPENDENT
key: 'proxmox.lxc.maxmem[{#LXC.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: B
description: 'The total memory expressed in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.maxmem
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.lxc.status[{#LXC.ID}]'
tags:
- tag: component
value: memory
- tag: lxc
value: '{#LXC.ID}'
- tag: name
value: '{#LXC.NAME}'
- tag: node
value: '{#NODE.NAME}'
- uuid: a60eaec875d347bd9247a174ba84f21e
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Memory usage'
type: DEPENDENT
key: 'proxmox.lxc.mem[{#LXC.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: B
description: 'Used memory in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.mem
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.lxc.status[{#LXC.ID}]'
tags:
- tag: component
value: memory
- tag: lxc
value: '{#LXC.ID}'
- tag: name
value: '{#LXC.NAME}'
- tag: node
value: '{#NODE.NAME}'
- uuid: b19b6b5895d64ed9b4942f955e66dc81
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Incoming data, rate'
type: DEPENDENT
key: 'proxmox.lxc.netin[{#LXC.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: bps
description: 'Incoming data rate.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.netin
- type: CHANGE_PER_SECOND
parameters:
- ''
- type: MULTIPLIER
parameters:
- '8'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.lxc.status[{#LXC.ID}]'
tags:
- tag: component
value: network
- tag: lxc
value: '{#LXC.ID}'
- tag: name
value: '{#LXC.NAME}'
- tag: node
value: '{#NODE.NAME}'
- uuid: 5ac20ae95e664a3cb62b58cde4f67471
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Outgoing data, rate'
type: DEPENDENT
key: 'proxmox.lxc.netout[{#LXC.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: bps
description: 'Outgoing data rate.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.netout
- type: CHANGE_PER_SECOND
parameters:
- ''
- type: MULTIPLIER
parameters:
- '8'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.lxc.status[{#LXC.ID}]'
tags:
- tag: component
value: network
- tag: lxc
value: '{#LXC.ID}'
- tag: name
value: '{#LXC.NAME}'
- tag: node
value: '{#NODE.NAME}'
- uuid: 58efec1a4bb94bfab59d5985d036811e
name: 'Proxmox: LXC [{#LXC.NAME}/{#LXC.NAME}]: Status'
type: HTTP_AGENT
key: 'proxmox.lxc.status[{#LXC.ID}]'
history: '0'
trends: '0'
value_type: TEXT
description: 'Read LXC status.'
url: 'https://{HOST.CONN}:{$PVE.URL.PORT}/api2/json/nodes/{#NODE.NAME}/{#LXC.ID}/status/current'
headers:
- name: Authorization
value: 'PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}'
tags:
- tag: component
value: raw
- uuid: bd213f6de4db4e1e84894b80acffa330
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Uptime'
type: DEPENDENT
key: 'proxmox.lxc.uptime[{#LXC.ID}]'
delay: '0'
history: 2w
trends: '0'
units: uptime
description: 'The system uptime expressed in the following format: "N days, hh:mm:ss".'
preprocessing:
- type: JSONPATH
parameters:
- $.data.uptime
master_item:
key: 'proxmox.lxc.status[{#LXC.ID}]'
tags:
- tag: component
value: system
trigger_prototypes:
- uuid: 0e55935a79b94bc096b6213d500f4f59
expression: 'last(/Proxmox VE by HTTP/proxmox.lxc.uptime[{#LXC.ID}])<10m'
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME}]: has been restarted'
event_name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME}]: has been restarted (uptime < 10m)'
priority: INFO
description: 'Uptime is less than 10 minutes.'
manual_close: 'YES'
dependencies:
- name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Not running'
expression: 'last(/Proxmox VE by HTTP/proxmox.lxc.vmstatus[{#LXC.ID}])<>"running"'
tags:
- tag: scope
value: notice
- uuid: 535f521800564b0f83211740aabbc137
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Status'
type: DEPENDENT
key: 'proxmox.lxc.vmstatus[{#LXC.ID}]'
delay: '0'
history: 7d
trends: '0'
value_type: CHAR
preprocessing:
- type: JSONPATH
parameters:
- $.data.status
master_item:
key: 'proxmox.lxc.status[{#LXC.ID}]'
tags:
- tag: component
value: system
trigger_prototypes:
- uuid: 71623950edf44bcb9453b2e8e63cb97b
expression: 'last(/Proxmox VE by HTTP/proxmox.lxc.vmstatus[{#LXC.ID}])<>"running"'
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Not running'
opdata: 'Current value: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'LXC state is not "running".'
tags:
- tag: scope
value: notice
trigger_prototypes:
- uuid: f59e43f9de01419897aec1b9d4539b48
expression: 'min(/Proxmox VE by HTTP/proxmox.lxc.mem[{#LXC.ID}],5m) / last(/Proxmox VE by HTTP/proxmox.lxc.maxmem[{#LXC.ID}]) * 100 >{$PVE.LXC.MEMORY.PUSE.MAX.WARN:"{#LXC.ID}"}'
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})] high memory usage'
event_name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})] high memory usage (over {$PVE.LXC.MEMORY.PUSE.MAX.WARN:"{#LXC.ID}"}% use)'
opdata: 'Current use: {ITEM.LASTVALUE1} of {ITEM.LASTVALUE2}'
priority: WARNING
description: 'Memory usage.'
tags:
- tag: scope
value: performance
graph_prototypes:
- uuid: faad4c399e6047ea9fd95ffea40ce511
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: CPU usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.lxc.cpu[{#LXC.ID}]'
- uuid: 2a850f53e5064ee3b4fb99aa191d411d
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Disk usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.lxc.diskwrite[{#LXC.ID}]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.lxc.diskread[{#LXC.ID}]'
- uuid: 54e79a1949ed40988a3901acf21bc3af
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Memory usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.lxc.mem[{#LXC.ID}]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.lxc.maxmem[{#LXC.ID}]'
- uuid: c6f2970f22294c7d8de7548a177596de
name: 'Proxmox: LXC [{#NODE.NAME}/{#LXC.NAME} ({#LXC.ID})]: Network usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.lxc.netin[{#LXC.ID}]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.lxc.netout[{#LXC.ID}]'
master_item:
key: proxmox.cluster.resources
lld_macro_paths:
- lld_macro: '{#RESOURCE.TYPE}'
path: $.type
- lld_macro: '{#NODE.NAME}'
path: $.node
- lld_macro: '{#LXC.NAME}'
path: $.name
- lld_macro: '{#LXC.ID}'
path: $.id
- uuid: ba55f69b12ee46faa319203483d8008f
name: 'Node discovery'
type: DEPENDENT
key: proxmox.node.discovery
delay: '0'
filter:
evaltype: AND
conditions:
- macro: '{#RESOURCE.TYPE}'
value: ^node$
formulaid: A
item_prototypes:
- uuid: c5e50056abda49f190e21f46f8cf7379
name: 'Proxmox: Node [{#NODE.NAME}]: CPU, usage'
type: DEPENDENT
key: 'proxmox.node.cpu[{#NODE.NAME}]'
delay: '0'
history: 7d
value_type: FLOAT
units: '%'
description: 'CPU usage.'
preprocessing:
- type: JSONPATH
parameters:
- $.cpu
- type: MULTIPLIER
parameters:
- '100'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.node.rrd[{#NODE.NAME}]'
tags:
- tag: component
value: cpu
- tag: node
value: '{#NODE.NAME}'
trigger_prototypes:
- uuid: 84041dcb7c84426dad538ab32375fdb1
expression: 'min(/Proxmox VE by HTTP/proxmox.node.cpu[{#NODE.NAME}],5m) > {$PVE.CPU.PUSE.MAX.WARN:"{#NODE.NAME}"}'
name: 'Proxmox: Node [{#NODE.NAME}] high CPU usage'
event_name: 'Proxmox: Node [{#NODE.NAME}] high CPU usage (over {$PVE.CPU.PUSE.MAX.WARN:"{#NODE.NAME}"}% use)'
opdata: 'Current use: {ITEM.LASTVALUE1}'
priority: WARNING
description: 'CPU usage.'
tags:
- tag: scope
value: performance
- uuid: 78e02931cf5c4c93b9c0092bd407a897
name: 'Proxmox: Node [{#NODE.NAME}]: CPU, iowait'
type: DEPENDENT
key: 'proxmox.node.iowait[{#NODE.NAME}]'
delay: '0'
history: 7d
value_type: FLOAT
units: '%'
description: 'CPU iowait time.'
preprocessing:
- type: JSONPATH
parameters:
- $.iowait
- type: MULTIPLIER
parameters:
- '100'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.node.rrd[{#NODE.NAME}]'
tags:
- tag: component
value: cpu
- tag: node
value: '{#NODE.NAME}'
- uuid: c31b9d3f9f4d4f6fa5611038bb9a8401
name: 'Proxmox: Node [{#NODE.NAME}]: Kernel version'
type: DEPENDENT
key: 'proxmox.node.kernelversion[{#NODE.NAME}]'
delay: '0'
history: 2w
trends: '0'
value_type: CHAR
description: 'Kernel version info.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.kversion
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1d
master_item:
key: 'proxmox.node.status[{#NODE.NAME}]'
tags:
- tag: component
value: system
trigger_prototypes:
- uuid: 4020236474e840acb1bc480eb8c52a1f
expression: 'last(/Proxmox VE by HTTP/proxmox.node.kernelversion[{#NODE.NAME}],#1)<>last(/Proxmox VE by HTTP/proxmox.node.kernelversion[{#NODE.NAME}],#2) and length(last(/Proxmox VE by HTTP/proxmox.node.kernelversion[{#NODE.NAME}]))>0'
name: 'Proxmox: Node [{#NODE.NAME}]: Kernel version has changed'
opdata: 'Current value: {ITEM.LASTVALUE1}'
priority: INFO
description: 'Firmware version has changed. Acknowledge to close the problem manually.'
manual_close: 'YES'
tags:
- tag: scope
value: notice
- uuid: 155bcbfd12f54614ab55d29e0fb5c2aa
name: 'Proxmox: Node [{#NODE.NAME}]: CPU, loadavg'
type: DEPENDENT
key: 'proxmox.node.loadavg[{#NODE.NAME}]'
delay: '0'
history: 7d
value_type: FLOAT
units: '%'
description: 'CPU average load.'
preprocessing:
- type: JSONPATH
parameters:
- $.loadavg
- type: MULTIPLIER
parameters:
- '100'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.node.rrd[{#NODE.NAME}]'
tags:
- tag: component
value: cpu
- tag: node
value: '{#NODE.NAME}'
- uuid: 59aab7121b1f4ff0b98a38cc75f39fb3
name: 'Proxmox: Node [{#NODE.NAME}]: Localtime'
type: DEPENDENT
key: 'proxmox.node.localtime[{#NODE.NAME}]'
delay: '0'
history: 7d
units: unixtime
description: 'Seconds since 1970-01-01 00:00:00 (local time).'
preprocessing:
- type: JSONPATH
parameters:
- $.data.localtime
master_item:
key: 'proxmox.node.time[{#NODE.NAME}]'
tags:
- tag: component
value: system
- tag: node
value: '{#NODE.NAME}'
- uuid: 0bb66733d10843438a090bf39eae92e2
name: 'Proxmox: Node [{#NODE.NAME}]: Memory, total'
type: DEPENDENT
key: 'proxmox.node.memtotal[{#NODE.NAME}]'
delay: '0'
history: 7d
value_type: FLOAT
units: B
description: 'Memory total.'
preprocessing:
- type: JSONPATH
parameters:
- $.memtotal
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.node.rrd[{#NODE.NAME}]'
tags:
- tag: component
value: memory
- tag: node
value: '{#NODE.NAME}'
- uuid: 04a2028e5d6640958da01c372f4407ec
name: 'Proxmox: Node [{#NODE.NAME}]: Memory, used'
type: DEPENDENT
key: 'proxmox.node.memused[{#NODE.NAME}]'
delay: '0'
history: 7d
value_type: FLOAT
units: B
description: 'Memory usage.'
preprocessing:
- type: JSONPATH
parameters:
- $.memused
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.node.rrd[{#NODE.NAME}]'
tags:
- tag: component
value: memory
- tag: node
value: '{#NODE.NAME}'
- uuid: 892f3b733a25475cb8fe30eeca3750f2
name: 'Proxmox: Node [{#NODE.NAME}]: Incoming data, rate'
type: DEPENDENT
key: 'proxmox.node.netin[{#NODE.NAME}]'
delay: '0'
history: 7d
value_type: FLOAT
units: bps
description: 'Network usage.'
preprocessing:
- type: JSONPATH
parameters:
- $.netin
- type: MULTIPLIER
parameters:
- '8'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.node.rrd[{#NODE.NAME}]'
tags:
- tag: component
value: network
- tag: node
value: '{#NODE.NAME}'
- uuid: 3048c6c023bc4fb58a8710d7306052fb
name: 'Proxmox: Node [{#NODE.NAME}]: Outgoing data, rate'
type: DEPENDENT
key: 'proxmox.node.netout[{#NODE.NAME}]'
delay: '0'
history: 7d
value_type: FLOAT
units: bps
description: 'Network usage.'
preprocessing:
- type: JSONPATH
parameters:
- $.netout
- type: MULTIPLIER
parameters:
- '8'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.node.rrd[{#NODE.NAME}]'
tags:
- tag: component
value: network
- tag: node
value: '{#NODE.NAME}'
- uuid: b8c3ff9544d5490286c668d3320d2ee0
name: 'Proxmox: Node [{#NODE.NAME}]: Status'
type: DEPENDENT
key: 'proxmox.node.online[{#NODE.NAME}]'
delay: '0'
history: 7d
description: 'Indicates if the node is online or offline.'
valuemap:
name: 'Node online'
preprocessing:
- type: JSONPATH
parameters:
- '$.data.[?(@.name == ''{#NODE.NAME}'' && @.type == ''node'')].online.first()'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: proxmox.cluster.status
tags:
- tag: component
value: cluster
- tag: node
value: '{#NODE.NAME}'
trigger_prototypes:
- uuid: 41b7efb8822948b08de8adace2e124a9
expression: 'last(/Proxmox VE by HTTP/proxmox.node.online[{#NODE.NAME}]) <> 1'
name: 'Proxmox: Node [{#NODE.NAME}] offline'
opdata: 'Current value: {ITEM.LASTVALUE}'
priority: HIGH
description: 'Node offline.'
tags:
- tag: scope
value: availability
- uuid: f220249168d947b6b8b99c068af35650
name: 'Proxmox: Node [{#NODE.NAME}]: PVE version'
type: DEPENDENT
key: 'proxmox.node.pveversion[{#NODE.NAME}]'
delay: '0'
history: 2w
trends: '0'
value_type: CHAR
description: 'PVE manager version.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.pveversion
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1d
master_item:
key: 'proxmox.node.status[{#NODE.NAME}]'
tags:
- tag: component
value: system
trigger_prototypes:
- uuid: 5b92af55dbd84181bcab0f39e6effbe0
expression: 'last(/Proxmox VE by HTTP/proxmox.node.pveversion[{#NODE.NAME}],#1)<>last(/Proxmox VE by HTTP/proxmox.node.pveversion[{#NODE.NAME}],#2) and length(last(/Proxmox VE by HTTP/proxmox.node.pveversion[{#NODE.NAME}]))>0'
name: 'Proxmox: Node [{#NODE.NAME}]: PVE manager has changed'
opdata: 'Current value: {ITEM.LASTVALUE1}'
priority: INFO
description: 'Firmware version has changed. Acknowledge to close the problem manually.'
manual_close: 'YES'
tags:
- tag: scope
value: notice
- uuid: 067954795121482093dd7967c6ca6ede
name: 'Proxmox: Node [{#NODE.NAME}]: Root filesystem, total'
type: DEPENDENT
key: 'proxmox.node.roottotal[{#NODE.NAME}]'
delay: '0'
history: 7d
value_type: FLOAT
units: B
description: 'Root filesystem total.'
preprocessing:
- type: JSONPATH
parameters:
- $.roottotal
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.node.rrd[{#NODE.NAME}]'
tags:
- tag: component
value: storage
- tag: node
value: '{#NODE.NAME}'
- uuid: 2beadf6ba8b04a21b008ddf63bd2fa6b
name: 'Proxmox: Node [{#NODE.NAME}]: Root filesystem, used'
type: DEPENDENT
key: 'proxmox.node.rootused[{#NODE.NAME}]'
delay: '0'
history: 7d
value_type: FLOAT
units: B
description: 'Root filesystem usage.'
preprocessing:
- type: JSONPATH
parameters:
- $.rootused
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.node.rrd[{#NODE.NAME}]'
tags:
- tag: component
value: storage
- tag: node
value: '{#NODE.NAME}'
- uuid: fa2a60a98fd4445eadff4398ae6872bd
name: 'Proxmox: Node [{#NODE.NAME}]: RRD statistics'
type: HTTP_AGENT
key: 'proxmox.node.rrd[{#NODE.NAME}]'
history: '0'
trends: '0'
value_type: TEXT
description: 'Read node RRD statistics.'
preprocessing:
- type: JAVASCRIPT
parameters:
- |
var rrd_data = JSON.parse(value).data;
return JSON.stringify(rrd_data[rrd_data.length - 2])
url: 'https://{HOST.CONN}:{$PVE.URL.PORT}/api2/json/nodes/{#NODE.NAME}/rrddata'
query_fields:
- name: timeframe
value: hour
- name: cf
value: AVERAGE
headers:
- name: Authorization
value: 'PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}'
tags:
- tag: component
value: raw
- uuid: c1ea4d4f83114c9b96fe81069602f060
name: 'Proxmox: Node [{#NODE.NAME}]: Status'
type: HTTP_AGENT
key: 'proxmox.node.status[{#NODE.NAME}]'
history: '0'
trends: '0'
value_type: TEXT
description: 'Read node status.'
url: 'https://{HOST.CONN}:{$PVE.URL.PORT}/api2/json/nodes/{#NODE.NAME}/status'
headers:
- name: Authorization
value: 'PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}'
tags:
- tag: component
value: raw
- uuid: 0dce6e5edd6d4ddab69932796b4301c0
name: 'Proxmox: Node [{#NODE.NAME}]: Swap filesystem, total'
type: DEPENDENT
key: 'proxmox.node.swaptotal[{#NODE.NAME}]'
delay: '0'
history: 7d
value_type: FLOAT
units: B
description: 'Swap total.'
preprocessing:
- type: JSONPATH
parameters:
- $.swaptotal
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.node.rrd[{#NODE.NAME}]'
tags:
- tag: component
value: storage
- tag: node
value: '{#NODE.NAME}'
- uuid: 5f42addb719a412da6fd448d38d1a7d0
name: 'Proxmox: Node [{#NODE.NAME}]: Swap filesystem, used'
type: DEPENDENT
key: 'proxmox.node.swapused[{#NODE.NAME}]'
delay: '0'
history: 7d
value_type: FLOAT
units: B
description: 'Swap used.'
preprocessing:
- type: JSONPATH
parameters:
- $.swapused
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.node.rrd[{#NODE.NAME}]'
tags:
- tag: component
value: storage
- tag: node
value: '{#NODE.NAME}'
- uuid: 42d7b4ff315a4cfa9af1aed5e141661d
name: 'Proxmox: Node [{#NODE.NAME}]: Time zone'
type: DEPENDENT
key: 'proxmox.node.timezone[{#NODE.NAME}]'
delay: '0'
history: 7d
trends: '0'
value_type: CHAR
description: 'Time zone.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.timezone
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 12h
master_item:
key: 'proxmox.node.time[{#NODE.NAME}]'
tags:
- tag: component
value: system
- tag: node
value: '{#NODE.NAME}'
- uuid: c0c03653a0af426b8f61c77cabab38a4
name: 'Proxmox: Node [{#NODE.NAME}]: Time'
type: HTTP_AGENT
key: 'proxmox.node.time[{#NODE.NAME}]'
history: '0'
trends: '0'
value_type: TEXT
description: 'Read server time and time zone settings.'
url: 'https://{HOST.CONN}:{$PVE.URL.PORT}/api2/json/nodes/{#NODE.NAME}/time'
headers:
- name: Authorization
value: 'PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}'
tags:
- tag: component
value: raw
- uuid: fc7f5811d338484bba5393a8a5718f67
name: 'Proxmox: Node [{#NODE.NAME}]: Uptime'
type: DEPENDENT
key: 'proxmox.node.uptime[{#NODE.NAME}]'
delay: '0'
history: 2w
trends: '0'
units: uptime
description: 'The system uptime expressed in the following format: "N days, hh:mm:ss".'
preprocessing:
- type: JSONPATH
parameters:
- $.data.uptime
master_item:
key: 'proxmox.node.status[{#NODE.NAME}]'
tags:
- tag: component
value: system
trigger_prototypes:
- uuid: 529b69b98a86409d914d3464569b7901
expression: 'last(/Proxmox VE by HTTP/proxmox.node.uptime[{#NODE.NAME}])<10m'
name: 'Proxmox: Node [{#NODE.NAME}]: has been restarted'
event_name: 'Proxmox: Node [{#NODE.NAME}]: has been restarted (uptime < 10m)'
priority: INFO
description: 'Uptime is less than 10 minutes.'
manual_close: 'YES'
dependencies:
- name: 'Proxmox: Node [{#NODE.NAME}] offline'
expression: 'last(/Proxmox VE by HTTP/proxmox.node.online[{#NODE.NAME}]) <> 1'
tags:
- tag: scope
value: notice
- uuid: 384d479a04f044b192a74743f0a459b4
name: 'Proxmox: Node [{#NODE.NAME}]: Time'
type: DEPENDENT
key: 'proxmox.node.utctime[{#NODE.NAME}]'
delay: '0'
history: 7d
units: unixtime
description: 'Seconds since 1970-01-01 00:00:00 UTC.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.time
master_item:
key: 'proxmox.node.time[{#NODE.NAME}]'
tags:
- tag: component
value: system
- tag: node
value: '{#NODE.NAME}'
trigger_prototypes:
- uuid: a0445b4e1ffd451595ecea0468b4a6a6
expression: 'min(/Proxmox VE by HTTP/proxmox.node.memused[{#NODE.NAME}],5m) / last(/Proxmox VE by HTTP/proxmox.node.memtotal[{#NODE.NAME}]) * 100 >{$PVE.MEMORY.PUSE.MAX.WARN:"{#NODE.NAME}"}'
name: 'Proxmox: Node [{#NODE.NAME}] high memory usage'
event_name: 'Proxmox: Node [{#NODE.NAME}] high memory usage (over {$PVE.MEMORY.PUSE.MAX.WARN:"{#NODE.NAME}"}% use)'
opdata: 'Current use: {ITEM.LASTVALUE1} of {ITEM.LASTVALUE2}'
priority: WARNING
description: 'Memory usage.'
tags:
- tag: scope
value: performance
- uuid: 3f88526e10a14319983fe14621ef10f9
expression: 'min(/Proxmox VE by HTTP/proxmox.node.rootused[{#NODE.NAME}],5m) / last(/Proxmox VE by HTTP/proxmox.node.roottotal[{#NODE.NAME}]) * 100 >{$PVE.ROOT.PUSE.MAX.WARN:"{#NODE.NAME}"}'
name: 'Proxmox: Node [{#NODE.NAME}] high root filesystem space usage'
event_name: 'Proxmox: Node [{#NODE.NAME}] high root filesystem space usage (over {$PVE.ROOT.PUSE.MAX.WARN:"{#NODE.NAME}"}% use)'
opdata: 'Current use: {ITEM.LASTVALUE1} of {ITEM.LASTVALUE2}'
priority: WARNING
description: 'Root filesystem space usage.'
tags:
- tag: scope
value: capacity
- uuid: f38ccc2e0e40430e801bf98b488e12e4
expression: 'min(/Proxmox VE by HTTP/proxmox.node.swapused[{#NODE.NAME}],5m) / last(/Proxmox VE by HTTP/proxmox.node.swaptotal[{#NODE.NAME}]) * 100 > {$PVE.SWAP.PUSE.MAX.WARN:"{#NODE.NAME}"} and last(/Proxmox VE by HTTP/proxmox.node.swaptotal[{#NODE.NAME}]) > 0'
name: 'Proxmox: Node [{#NODE.NAME}] high root filesystem space usage'
event_name: 'Proxmox: Node [{#NODE.NAME}] high root filesystem space usage (over {$PVE.SWAP.PUSE.MAX.WARN:"{#NODE.NAME}"}% use)'
opdata: 'Current use: {ITEM.LASTVALUE1} of {ITEM.LASTVALUE2}'
priority: WARNING
description: 'If there is no swap configured, this trigger is ignored.'
tags:
- tag: scope
value: capacity
graph_prototypes:
- uuid: 6c4fddd2a12d4e87987e47611e4a925f
name: 'Proxmox: Node [{#NODE.NAME}]: CPU usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.cpu[{#NODE.NAME}]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.iowait[{#NODE.NAME}]'
- sortorder: '2'
drawtype: GRADIENT_LINE
color: 00611C
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.loadavg[{#NODE.NAME}]'
- uuid: 0d59c329f12b494ebc8ff458a6b4714a
name: 'Proxmox: Node [{#NODE.NAME}]: Memory usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.memused[{#NODE.NAME}]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.memtotal[{#NODE.NAME}]'
- uuid: f07213b83a964aac9f51e2857936bef2
name: 'Proxmox: Node [{#NODE.NAME}]: Network usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.netin[{#NODE.NAME}]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.netout[{#NODE.NAME}]'
- uuid: f24340ea09324dd594f84c140f2797cc
name: 'Proxmox: Node [{#NODE.NAME}]: Root filesystem usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.rootused[{#NODE.NAME}]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.roottotal[{#NODE.NAME}]'
- uuid: f47c4c734737403d97a630f5f10b7d84
name: 'Proxmox: Node [{#NODE.NAME}]: Swap usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.swapused[{#NODE.NAME}]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.swaptotal[{#NODE.NAME}]'
master_item:
key: proxmox.cluster.resources
lld_macro_paths:
- lld_macro: '{#RESOURCE.TYPE}'
path: $.type
- lld_macro: '{#NODE.NAME}'
path: $.node
- uuid: 31aa7234aa294fce8f4735a9216ddf31
name: 'QEMU discovery'
type: DEPENDENT
key: proxmox.qemu.discovery
delay: '0'
filter:
evaltype: AND
conditions:
- macro: '{#RESOURCE.TYPE}'
value: ^qemu$
formulaid: A
item_prototypes:
- uuid: 196bf027d77742ea8960e350d9ea579e
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: CPU usage'
type: DEPENDENT
key: 'proxmox.qemu.cpu[{#QEMU.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: '%'
description: 'CPU load.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.cpu
- type: MULTIPLIER
parameters:
- '100'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.qemu.status[{#QEMU.ID}]'
tags:
- tag: component
value: cpu
- tag: name
value: '{#QEMU.NAME}'
- tag: node
value: '{#NODE.NAME}'
- tag: qemu
value: '{#QEMU.ID}'
trigger_prototypes:
- uuid: 84ed68d7cf2b48a48fc44e9c7a0d9b92
expression: 'min(/Proxmox VE by HTTP/proxmox.qemu.cpu[{#QEMU.ID}],5m) > {$PVE.VM.CPU.PUSE.MAX.WARN:"{#QEMU.ID}"}'
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})] high CPU usage'
event_name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})] high CPU usage (over {$PVE.VM.CPU.PUSE.MAX.WARN:"{#QEMU.ID}"}% use)'
opdata: 'Current use: {ITEM.LASTVALUE1}'
priority: WARNING
description: 'CPU usage.'
tags:
- tag: scope
value: performance
- uuid: ffd3c0a6e9764d9ea0091d2fcf0234e2
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Disk read, rate'
type: DEPENDENT
key: 'proxmox.qemu.diskread[{#QEMU.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: Bps
description: 'Disk read.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.diskread
- type: CHANGE_PER_SECOND
parameters:
- ''
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.qemu.status[{#QEMU.ID}]'
tags:
- tag: component
value: storage
- tag: name
value: '{#QEMU.NAME}'
- tag: node
value: '{#NODE.NAME}'
- tag: qemu
value: '{#QEMU.ID}'
- uuid: 7c02301822414849b8dc38ae26c74a7b
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Disk write, rate'
type: DEPENDENT
key: 'proxmox.qemu.diskwrite[{#QEMU.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: Bps
description: 'Disk write.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.diskwrite
- type: CHANGE_PER_SECOND
parameters:
- ''
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.qemu.status[{#QEMU.ID}]'
tags:
- tag: component
value: storage
- tag: name
value: '{#QEMU.NAME}'
- tag: node
value: '{#NODE.NAME}'
- tag: qemu
value: '{#QEMU.ID}'
- uuid: 3c46d7e2f07049fc8f749157cf5627e9
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Memory total'
type: DEPENDENT
key: 'proxmox.qemu.maxmem[{#QEMU.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: B
description: 'The total memory expressed in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.maxmem
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.qemu.status[{#QEMU.ID}]'
tags:
- tag: component
value: memory
- tag: name
value: '{#QEMU.NAME}'
- tag: node
value: '{#NODE.NAME}'
- tag: qemu
value: '{#QEMU.ID}'
- uuid: 9f4402482af549288f32f108ab801950
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Memory usage'
type: DEPENDENT
key: 'proxmox.qemu.mem[{#QEMU.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: B
description: 'Used memory in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.mem
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.qemu.status[{#QEMU.ID}]'
tags:
- tag: component
value: memory
- tag: name
value: '{#QEMU.NAME}'
- tag: node
value: '{#NODE.NAME}'
- tag: qemu
value: '{#QEMU.ID}'
- uuid: c3cb5366103743c2823f522482e9f2e4
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Incoming data, rate'
type: DEPENDENT
key: 'proxmox.qemu.netin[{#QEMU.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: bps
description: 'Incoming data rate.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.netin
- type: CHANGE_PER_SECOND
parameters:
- ''
- type: MULTIPLIER
parameters:
- '8'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.qemu.status[{#QEMU.ID}]'
tags:
- tag: component
value: network
- tag: name
value: '{#QEMU.NAME}'
- tag: node
value: '{#NODE.NAME}'
- tag: qemu
value: '{#QEMU.ID}'
- uuid: 2cd398f1b9814551a7fad7e2bc66f6af
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Outgoing data, rate'
type: DEPENDENT
key: 'proxmox.qemu.netout[{#QEMU.ID}]'
delay: '0'
history: 7d
value_type: FLOAT
units: bps
description: 'Outgoing data rate.'
preprocessing:
- type: JSONPATH
parameters:
- $.data.netout
- type: CHANGE_PER_SECOND
parameters:
- ''
- type: MULTIPLIER
parameters:
- '8'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: 'proxmox.qemu.status[{#QEMU.ID}]'
tags:
- tag: component
value: network
- tag: name
value: '{#QEMU.NAME}'
- tag: node
value: '{#NODE.NAME}'
- tag: qemu
value: '{#QEMU.ID}'
- uuid: a3562f2f48834a88842da612fb6f464c
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME}]: Status'
type: HTTP_AGENT
key: 'proxmox.qemu.status[{#QEMU.ID}]'
history: '0'
trends: '0'
value_type: TEXT
description: 'Read VM status.'
url: 'https://{HOST.CONN}:{$PVE.URL.PORT}/api2/json/nodes/{#NODE.NAME}/{#QEMU.ID}/status/current'
headers:
- name: Authorization
value: 'PVEAPIToken={$PVE.TOKEN.ID}={$PVE.TOKEN.SECRET}'
tags:
- tag: component
value: raw
- uuid: 77ba70e0ce6f486585f870d3b57033ba
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Uptime'
type: DEPENDENT
key: 'proxmox.qemu.uptime[{#QEMU.ID}]'
delay: '0'
history: 2w
trends: '0'
units: uptime
description: 'The system uptime expressed in the following format: "N days, hh:mm:ss".'
preprocessing:
- type: JSONPATH
parameters:
- $.data.uptime
master_item:
key: 'proxmox.qemu.status[{#QEMU.ID}]'
tags:
- tag: component
value: system
trigger_prototypes:
- uuid: d4ba1faeb67940a192c1b50460793813
expression: 'last(/Proxmox VE by HTTP/proxmox.qemu.uptime[{#QEMU.ID}])<10m'
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME}]: has been restarted'
event_name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME}]: has been restarted (uptime < 10m)'
priority: INFO
description: 'Uptime is less than 10 minutes.'
manual_close: 'YES'
dependencies:
- name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Not running'
expression: 'last(/Proxmox VE by HTTP/proxmox.qemu.vmstatus[{#QEMU.ID}])<>"running"'
tags:
- tag: scope
value: notice
- uuid: 9b6de7e610c64950a3b477b9dc666751
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Status'
type: DEPENDENT
key: 'proxmox.qemu.vmstatus[{#QEMU.ID}]'
delay: '0'
history: 7d
trends: '0'
value_type: CHAR
preprocessing:
- type: JSONPATH
parameters:
- $.data.status
master_item:
key: 'proxmox.qemu.status[{#QEMU.ID}]'
tags:
- tag: component
value: system
trigger_prototypes:
- uuid: 8f57d13f278b459299c565846b4091f5
expression: 'last(/Proxmox VE by HTTP/proxmox.qemu.vmstatus[{#QEMU.ID}])<>"running"'
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Not running'
opdata: 'Current value: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'VM state is not "running".'
tags:
- tag: scope
value: notice
trigger_prototypes:
- uuid: 5305bf2b71aa4b74917379c6e1b3c065
expression: 'min(/Proxmox VE by HTTP/proxmox.qemu.mem[{#QEMU.ID}],5m) / last(/Proxmox VE by HTTP/proxmox.qemu.maxmem[{#QEMU.ID}]) * 100 >{$PVE.VM.MEMORY.PUSE.MAX.WARN:"{#QEMU.ID}"}'
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})] high memory usage'
event_name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})] high memory usage (over {$PVE.VM.MEMORY.PUSE.MAX.WARN:"{#QEMU.ID}"}% use)'
opdata: 'Current use: {ITEM.LASTVALUE1} of {ITEM.LASTVALUE2}'
priority: WARNING
description: 'Memory usage.'
tags:
- tag: scope
value: performance
graph_prototypes:
- uuid: 602ae1d9d65149ada7aa56cc2d7d9309
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: CPU usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.qemu.cpu[{#QEMU.ID}]'
- uuid: 391421ce25c74c14abe35723965f3357
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Disk usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.qemu.diskwrite[{#QEMU.ID}]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.qemu.diskread[{#QEMU.ID}]'
- uuid: 8522e98f30104f67bfdd1aff8b94d280
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Memory usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.qemu.mem[{#QEMU.ID}]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.qemu.maxmem[{#QEMU.ID}]'
- uuid: 7141231d90914090a285f35b5630deda
name: 'Proxmox: VM [{#NODE.NAME}/{#QEMU.NAME} ({#QEMU.ID})]: Network usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.qemu.netin[{#QEMU.ID}]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.qemu.netout[{#QEMU.ID}]'
master_item:
key: proxmox.cluster.resources
lld_macro_paths:
- lld_macro: '{#RESOURCE.TYPE}'
path: $.type
- lld_macro: '{#NODE.NAME}'
path: $.node
- lld_macro: '{#QEMU.NAME}'
path: $.name
- lld_macro: '{#QEMU.ID}'
path: $.id
- uuid: 61faca6204854bc4af8dc6c5c63ddcd1
name: 'Storage discovery'
type: DEPENDENT
key: proxmox.storage.discovery
delay: '0'
filter:
evaltype: AND
conditions:
- macro: '{#RESOURCE.TYPE}'
value: ^storage$
formulaid: A
item_prototypes:
- uuid: c803813b43f24390b7e0d79fda824a54
name: 'Proxmox: Storage [{#NODE.NAME}/{#STORAGE.NAME}]: Content'
type: DEPENDENT
key: 'proxmox.node.content[{#NODE.NAME},{#STORAGE.NAME}]'
delay: '0'
history: 7d
trends: '0'
value_type: CHAR
description: 'Allowed storage content types.'
preprocessing:
- type: JSONPATH
parameters:
- '$.data[?(@.id == "storage/{#NODE.NAME}/{#STORAGE.NAME}")].content.first()'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 12h
master_item:
key: proxmox.cluster.resources
tags:
- tag: component
value: storage
- tag: name
value: '{#STORAGE.NAME}'
- tag: node
value: '{#NODE.NAME}'
- uuid: 0edb3506231648c9820103a337486d63
name: 'Proxmox: Storage [{#NODE.NAME}/{#STORAGE.NAME}]: Used'
type: DEPENDENT
key: 'proxmox.node.disk[{#NODE.NAME},{#STORAGE.NAME}]'
delay: '0'
history: 7d
units: B
description: 'Used disk space in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- '$.data[?(@.id == "storage/{#NODE.NAME}/{#STORAGE.NAME}")].disk.first()'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: proxmox.cluster.resources
tags:
- tag: component
value: storage
- tag: name
value: '{#STORAGE.NAME}'
- tag: node
value: '{#NODE.NAME}'
- uuid: ced02242ff46454f9c49f3d44bf0de9a
name: 'Proxmox: Storage [{#NODE.NAME}/{#STORAGE.NAME}]: Size'
type: DEPENDENT
key: 'proxmox.node.maxdisk[{#NODE.NAME},{#STORAGE.NAME}]'
delay: '0'
history: 7d
units: B
description: 'Storage size in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- '$.data[?(@.id == "storage/{#NODE.NAME}/{#STORAGE.NAME}")].maxdisk.first()'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
master_item:
key: proxmox.cluster.resources
tags:
- tag: component
value: storage
- tag: name
value: '{#STORAGE.NAME}'
- tag: node
value: '{#NODE.NAME}'
- uuid: 4360858342254aecba7a77eb315cc2bb
name: 'Proxmox: Storage [{#NODE.NAME}/{#STORAGE.NAME}]: Type'
type: DEPENDENT
key: 'proxmox.node.plugintype[{#NODE.NAME},{#STORAGE.NAME}]'
delay: '0'
history: 7d
trends: '0'
value_type: CHAR
description: 'More specific type, if available.'
preprocessing:
- type: JSONPATH
parameters:
- '$.data[?(@.id == "storage/{#NODE.NAME}/{#STORAGE.NAME}")].plugintype.first()'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 12h
master_item:
key: proxmox.cluster.resources
tags:
- tag: component
value: storage
- tag: name
value: '{#STORAGE.NAME}'
- tag: node
value: '{#NODE.NAME}'
trigger_prototypes:
- uuid: 404d9a8a6fa54d8c880006c9ec32f55a
expression: 'min(/Proxmox VE by HTTP/proxmox.node.disk[{#NODE.NAME},{#STORAGE.NAME}],5m) / last(/Proxmox VE by HTTP/proxmox.node.maxdisk[{#NODE.NAME},{#STORAGE.NAME}]) * 100 >{$PVE.STORAGE.PUSE.MAX.WARN:"{#NODE.NAME}/{#STORAGE.NAME}"}'
name: 'Proxmox: Storage [{#NODE.NAME}/{#STORAGE.NAME}] high filesystem space usage'
event_name: 'Proxmox: Storage [{#NODE.NAME}/{#STORAGE.NAME}] high filesystem space usage (over {$PVE.STORAGE.PUSE.MAX.WARN:"{#NODE.NAME}/{#STORAGE.NAME}"}% use)'
opdata: 'Current use: {ITEM.LASTVALUE1} of {ITEM.LASTVALUE2}'
priority: WARNING
description: 'Root filesystem space usage.'
tags:
- tag: scope
value: capacity
graph_prototypes:
- uuid: 726dbf7dd13b40c8b240cb58f753a9bf
name: 'Proxmox: Storage [{#NODE.NAME}/{#STORAGE.NAME}]: Usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.disk[{#NODE.NAME},{#STORAGE.NAME}]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Proxmox VE by HTTP'
key: 'proxmox.node.maxdisk[{#NODE.NAME},{#STORAGE.NAME}]'
master_item:
key: proxmox.cluster.resources
lld_macro_paths:
- lld_macro: '{#RESOURCE.TYPE}'
path: $.type
- lld_macro: '{#NODE.NAME}'
path: $.node
- lld_macro: '{#STORAGE.NAME}'
path: $.storage
tags:
- tag: class
value: software
- tag: target
value: proxmox
macros:
- macro: '{$PVE.CPU.PUSE.MAX.WARN}'
value: '90'
description: 'Maximum used CPU in percentage.'
- macro: '{$PVE.LXC.CPU.PUSE.MAX.WARN}'
value: '90'
description: 'Maximum used CPU in percentage.'
- macro: '{$PVE.LXC.MEMORY.PUSE.MAX.WARN}'
value: '90'
description: 'Maximum used memory in percentage.'
- macro: '{$PVE.MEMORY.PUSE.MAX.WARN}'
value: '90'
description: 'Maximum used memory in percentage.'
- macro: '{$PVE.ROOT.PUSE.MAX.WARN}'
value: '90'
description: 'Maximum used root space in percentage.'
- macro: '{$PVE.STORAGE.PUSE.MAX.WARN}'
value: '90'
description: 'Maximum used storage space in percentage.'
- macro: '{$PVE.SWAP.PUSE.MAX.WARN}'
value: '90'
description: 'Maximum used swap space in percentage.'
- macro: '{$PVE.TOKEN.ID}'
value: USER@REALM!TOKENID
description: 'API tokens allow stateless access to most parts of the REST API by another system, software or API client.'
- macro: '{$PVE.TOKEN.SECRET}'
value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
description: 'Secret key.'
- macro: '{$PVE.URL.PORT}'
value: '8006'
description: 'The API uses the HTTPS protocol and the server listens to port 8006 by default.'
- macro: '{$PVE.VM.CPU.PUSE.MAX.WARN}'
value: '90'
description: 'Maximum used CPU in percentage.'
- macro: '{$PVE.VM.MEMORY.PUSE.MAX.WARN}'
value: '90'
description: 'Maximum used memory in percentage.'
valuemaps:
- uuid: d4bbd08f3a324a57af97a17f819cb3f3
name: 'Cluster quorate'
mappings:
- value: '1'
newvalue: 'Yes'
- value: '0'
newvalue: 'No'
- uuid: 87034fae192c44dba6c8bb568cd90bbd
name: 'HTTP response status code'
mappings:
- value: '100'
newvalue: Continue
- value: '101'
newvalue: 'Switching Protocols'
- value: '102'
newvalue: Processing
- value: '200'
newvalue: OK
- value: '201'
newvalue: Created
- value: '202'
newvalue: Accepted
- value: '203'
newvalue: 'Non-Authoritative Information'
- value: '204'
newvalue: 'No Content'
- value: '205'
newvalue: 'Reset Content'
- value: '206'
newvalue: 'Partial Content'
- value: '207'
newvalue: Multi-Status
- value: '208'
newvalue: 'Already Reported'
- value: '226'
newvalue: 'IM Used'
- value: '300'
newvalue: 'Multiple Choices'
- value: '301'
newvalue: 'Moved Permanently'
- value: '302'
newvalue: Found
- value: '303'
newvalue: 'See Other'
- value: '304'
newvalue: 'Not Modified'
- value: '305'
newvalue: 'Use Proxy'
- value: '306'
newvalue: 'Switch Proxy'
- value: '307'
newvalue: 'Temporary Redirect'
- value: '308'
newvalue: 'Permanent Redirect/Resume Incomplete'
- value: '400'
newvalue: 'Bad Request'
- value: '401'
newvalue: Unauthorized
- value: '402'
newvalue: 'Payment Required'
- value: '403'
newvalue: Forbidden
- value: '404'
newvalue: 'Not Found'
- value: '405'
newvalue: 'Method Not Allowed'
- value: '406'
newvalue: 'Not Acceptable'
- value: '407'
newvalue: 'Proxy Authentication Required'
- value: '408'
newvalue: 'Request Timeout'
- value: '409'
newvalue: Conflict
- value: '410'
newvalue: Gone
- value: '411'
newvalue: 'Length Required'
- value: '412'
newvalue: 'Precondition Failed'
- value: '413'
newvalue: 'Payload Too Large'
- value: '414'
newvalue: 'Request-URI Too Long'
- value: '415'
newvalue: 'Unsupported Media Type'
- value: '416'
newvalue: 'Requested Range Not Satisfiable'
- value: '417'
newvalue: 'Expectation Failed'
- value: '418'
newvalue: 'I''m a Teapot'
- value: '419'
newvalue: 'Authentication Timeout'
- value: '420'
newvalue: 'Method Failure/Enhance Your Calm'
- value: '421'
newvalue: 'Misdirected Request'
- value: '422'
newvalue: 'Unprocessable Entity'
- value: '423'
newvalue: Locked
- value: '424'
newvalue: 'Failed Dependency'
- value: '426'
newvalue: 'Upgrade Required'
- value: '428'
newvalue: 'Precondition Required'
- value: '429'
newvalue: 'Too Many Requests'
- value: '431'
newvalue: 'Request Header Fields Too Large'
- value: '440'
newvalue: 'Login Timeout'
- value: '444'
newvalue: 'No Response'
- value: '449'
newvalue: 'Retry With'
- value: '450'
newvalue: 'Blocked by Windows Parental Controls'
- value: '451'
newvalue: 'Unavailable for Legal Reasons/Redirect'
- value: '494'
newvalue: 'Request Header Too Large'
- value: '495'
newvalue: 'Cert Error'
- value: '496'
newvalue: 'No Cert'
- value: '497'
newvalue: 'HTTP to HTTPS'
- value: '498'
newvalue: 'Token Expired/Invalid'
- value: '499'
newvalue: 'Client Closed Request/Token Required'
- value: '500'
newvalue: 'Internal Server Error'
- value: '501'
newvalue: 'Not Implemented'
- value: '502'
newvalue: 'Bad Gateway'
- value: '503'
newvalue: 'Service Unavailable'
- value: '504'
newvalue: 'Gateway Timeout'
- value: '505'
newvalue: 'HTTP Version Not Supported'
- value: '506'
newvalue: 'Variant Also Negotiates'
- value: '507'
newvalue: 'Insufficient Storage'
- value: '508'
newvalue: 'Loop Detected'
- value: '509'
newvalue: 'Bandwidth Limit Exceeded'
- value: '510'
newvalue: 'Not Extended'
- value: '511'
newvalue: 'Network Authentication Required'
- value: '520'
newvalue: 'Unknown Error'
- value: '598'
newvalue: 'Network Read Timeout Error'
- value: '599'
newvalue: 'Network Connect Timeout Error'
- uuid: 99c0bc65efb34d298586320bdcf14209
name: 'Node online'
mappings:
- value: '1'
newvalue: Online
- value: '0'
newvalue: Offline