unraid-zabbix_agent/zabbix_template.xml

945 lines
42 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>5.0</version>
<date>2020-09-05T12:40:25Z</date>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<templates>
<template>
<template>Unraid server</template>
<name>Unraid server</name>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<applications>
<application>
<name>CPUs</name>
</application>
<application>
<name>Disks</name>
</application>
<application>
<name>Memory</name>
</application>
<application>
<name>System</name>
</application>
<application>
<name>VMs</name>
</application>
</applications>
<items>
<item>
<name>Zabbix agent ping</name>
<key>agent.ping</key>
<triggers>
<trigger>
<expression>{nodata(10m)}=1</expression>
<name>Zabbix agent is offline</name>
<priority>HIGH</priority>
</trigger>
</triggers>
</item>
<item>
<name>CPU total utilisation guest</name>
<key>system.cpu.util[all,guest,avg1]</key>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>CPUs</name>
</application>
</applications>
</item>
<item>
<name>CPU total utilisation idle</name>
<key>system.cpu.util[all,idle,avg1]</key>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>CPUs</name>
</application>
</applications>
</item>
<item>
<name>CPU total utilisation iowait</name>
<key>system.cpu.util[all,iowait,avg1]</key>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>CPUs</name>
</application>
</applications>
</item>
<item>
<name>CPU total utilisation system</name>
<key>system.cpu.util[all,system,avg1]</key>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>CPUs</name>
</application>
</applications>
</item>
<item>
<name>CPU total utilisation user</name>
<key>system.cpu.util[all,user,avg1]</key>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>CPUs</name>
</application>
</applications>
</item>
<item>
<name>Disk totals</name>
<key>unraid.disks.totals</key>
<history>0</history>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
</item>
<item>
<name>Total cache free</name>
<type>DEPENDENT</type>
<key>unraid.disks.totals[cache,free]</key>
<delay>0</delay>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.cache.free</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disks.totals</key>
</master_item>
</item>
<item>
<name>Total cache size</name>
<type>DEPENDENT</type>
<key>unraid.disks.totals[cache,size]</key>
<delay>0</delay>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.cache.size</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disks.totals</key>
</master_item>
</item>
<item>
<name>Total cache used</name>
<type>DEPENDENT</type>
<key>unraid.disks.totals[cache,used]</key>
<delay>0</delay>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.cache.used</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disks.totals</key>
</master_item>
</item>
<item>
<name>Total data free</name>
<type>DEPENDENT</type>
<key>unraid.disks.totals[data,free]</key>
<delay>0</delay>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.data.free</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disks.totals</key>
</master_item>
</item>
<item>
<name>Total data size</name>
<type>DEPENDENT</type>
<key>unraid.disks.totals[data,size]</key>
<delay>0</delay>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.data.size</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disks.totals</key>
</master_item>
</item>
<item>
<name>Total data used</name>
<type>DEPENDENT</type>
<key>unraid.disks.totals[data,used]</key>
<delay>0</delay>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.data.used</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disks.totals</key>
</master_item>
</item>
<item>
<name>Temperature data</name>
<key>unraid.temperatures</key>
<delay>2m</delay>
<history>1d</history>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>System</name>
</application>
</applications>
</item>
<item>
<name>Temperature CPU</name>
<type>DEPENDENT</type>
<key>unraid.temperatures[cpu]</key>
<delay>0</delay>
<value_type>FLOAT</value_type>
<units>°C</units>
<applications>
<application>
<name>System</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.cpu</params>
</step>
</preprocessing>
<master_item>
<key>unraid.temperatures</key>
</master_item>
</item>
<item>
<name>Temperature Mainboard</name>
<type>DEPENDENT</type>
<key>unraid.temperatures[mainboard]</key>
<delay>0</delay>
<value_type>FLOAT</value_type>
<units>°C</units>
<applications>
<application>
<name>System</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.mainboard</params>
</step>
</preprocessing>
<master_item>
<key>unraid.temperatures</key>
</master_item>
</item>
<item>
<name>Memory available</name>
<key>vm.memory.size[available]</key>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
</item>
<item>
<name>Memory used</name>
<key>vm.memory.size[used]</key>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
</item>
</items>
<discovery_rules>
<discovery_rule>
<name>CPUs</name>
<key>system.cpu.discovery</key>
<delay>1h</delay>
<item_prototypes>
<item_prototype>
<name>CPU #{#CPU.NUMBER} utilisation guest</name>
<key>system.cpu.util[{#CPU.NUMBER},guest,avg1]</key>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>CPUs</name>
</application>
</applications>
</item_prototype>
<item_prototype>
<name>CPU #{#CPU.NUMBER} utilisation idle</name>
<key>system.cpu.util[{#CPU.NUMBER},idle,avg1]</key>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>CPUs</name>
</application>
</applications>
</item_prototype>
<item_prototype>
<name>CPU #{#CPU.NUMBER} utilisation iowait</name>
<key>system.cpu.util[{#CPU.NUMBER},iowait,avg1]</key>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>CPUs</name>
</application>
</applications>
</item_prototype>
<item_prototype>
<name>CPU #{#CPU.NUMBER} utilisation system</name>
<key>system.cpu.util[{#CPU.NUMBER},system,avg1]</key>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>CPUs</name>
</application>
</applications>
</item_prototype>
<item_prototype>
<name>CPU #{#CPU.NUMBER} utilisation user</name>
<key>system.cpu.util[{#CPU.NUMBER},user,avg1]</key>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>CPUs</name>
</application>
</applications>
</item_prototype>
</item_prototypes>
</discovery_rule>
<discovery_rule>
<name>Disks</name>
<key>unraid.disks.discovery</key>
<delay>10m</delay>
<item_prototypes>
<item_prototype>
<name>Disk {#ID} current reading</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},bytes_reading]</key>
<delay>0</delay>
<units>B/s</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.bytes_reading</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} current writing</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},bytes_writing]</key>
<delay>0</delay>
<units>B/s</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.bytes_writing</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} device</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},device]</key>
<delay>0</delay>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.device</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} FS free</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},fs_free]</key>
<delay>0</delay>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.fs_free</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} FS size</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},fs_size]</key>
<delay>0</delay>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.fs_size</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} FS used</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},fs_used]</key>
<delay>0</delay>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.fs_used</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} name</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},name]</key>
<delay>0</delay>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.name</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} errors</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},num_errors]</key>
<delay>0</delay>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.num_errors</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
<trigger_prototypes>
<trigger_prototype>
<expression>{change()}&gt;0</expression>
<recovery_mode>NONE</recovery_mode>
<name>Disk {#ID} errored</name>
<priority>HIGH</priority>
<manual_close>YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype>
<name>Disk {#ID} reads</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},num_reads]</key>
<delay>0</delay>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.num_reads</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} writes</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},num_writes]</key>
<delay>0</delay>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.num_writes</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} running</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},running]</key>
<delay>0</delay>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<valuemap>
<name>Yes/No</name>
</valuemap>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.running</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} size</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},size]</key>
<delay>0</delay>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.size</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} status</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},status]</key>
<delay>0</delay>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.status</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
<trigger_prototypes>
<trigger_prototype>
<expression>{str(DISK_OK)}=0</expression>
<name>Disk {#ID} state is $1</name>
<priority>HIGH</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype>
<name>Disk {#ID} temp</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},temp]</key>
<delay>0</delay>
<units>°C</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.temp</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} type</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},type]</key>
<delay>0</delay>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.type</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>Disk {#ID} data</name>
<key>unraid.disk[{#ID}]</key>
<history>0</history>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
</item_prototype>
</item_prototypes>
</discovery_rule>
<discovery_rule>
<name>VMs</name>
<key>unraid.qemu.discovery</key>
<delay>10m</delay>
<item_prototypes>
<item_prototype>
<name>VM {#VM} CPUs</name>
<type>DEPENDENT</type>
<key>unraid.qemu[{#VM},cpus]</key>
<delay>0</delay>
<applications>
<application>
<name>VMs</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.cpus</params>
</step>
</preprocessing>
<master_item>
<key>unraid.qemu[{#VM}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>VM {#VM} CPU percentage</name>
<type>DEPENDENT</type>
<key>unraid.qemu[{#VM},cpu_percentage]</key>
<delay>0</delay>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>VMs</name>
</application>
</applications>
<preprocessing>
<step>
<type>JAVASCRIPT</type>
<params>j=JSON.parse(value);
return j.cpu_time / j.cpus * 100;</params>
</step>
<step>
<type>CHANGE_PER_SECOND</type>
<params/>
</step>
</preprocessing>
<master_item>
<key>unraid.qemu[{#VM}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>VM {#VM} CPU time</name>
<type>DEPENDENT</type>
<key>unraid.qemu[{#VM},cpu_time]</key>
<delay>0</delay>
<value_type>FLOAT</value_type>
<units>s</units>
<applications>
<application>
<name>VMs</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.cpu_time</params>
</step>
</preprocessing>
<master_item>
<key>unraid.qemu[{#VM}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>VM {#VM} Memory max</name>
<type>DEPENDENT</type>
<key>unraid.qemu[{#VM},memory_max]</key>
<delay>0</delay>
<units>B</units>
<applications>
<application>
<name>VMs</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.memory_max</params>
</step>
</preprocessing>
<master_item>
<key>unraid.qemu[{#VM}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>VM {#VM} Memory used</name>
<type>DEPENDENT</type>
<key>unraid.qemu[{#VM},memory_used]</key>
<delay>0</delay>
<units>B</units>
<applications>
<application>
<name>VMs</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.memory_used</params>
</step>
</preprocessing>
<master_item>
<key>unraid.qemu[{#VM}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>VM {#VM} Network In</name>
<type>DEPENDENT</type>
<key>unraid.qemu[{#VM},network_in]</key>
<delay>0</delay>
<units>B/s</units>
<applications>
<application>
<name>VMs</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.network_bytes_in</params>
</step>
<step>
<type>CHANGE_PER_SECOND</type>
<params/>
</step>
</preprocessing>
<master_item>
<key>unraid.qemu[{#VM}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>VM {#VM} Network Out</name>
<type>DEPENDENT</type>
<key>unraid.qemu[{#VM},network_out]</key>
<delay>0</delay>
<units>B/s</units>
<applications>
<application>
<name>VMs</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.network_bytes_out</params>
</step>
<step>
<type>CHANGE_PER_SECOND</type>
<params/>
</step>
</preprocessing>
<master_item>
<key>unraid.qemu[{#VM}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>VM {#VM} state</name>
<type>DEPENDENT</type>
<key>unraid.qemu[{#VM},state]</key>
<delay>0</delay>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>VMs</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.state</params>
</step>
</preprocessing>
<master_item>
<key>unraid.qemu[{#VM}]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>VM {#VM} data</name>
<key>unraid.qemu[{#VM}]</key>
<history>0</history>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>VMs</name>
</application>
</applications>
</item_prototype>
</item_prototypes>
</discovery_rule>
</discovery_rules>
</template>
</templates>
<value_maps>
<value_map>
<name>Yes/No</name>
<mappings>
<mapping>
<value>0</value>
<newvalue>No</newvalue>
</mapping>
<mapping>
<value>1</value>
<newvalue>Yes</newvalue>
</mapping>
</mappings>
</value_map>
</value_maps>
</zabbix_export>