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
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
|