Additional scripts for Zabbix agent on Linux to discover and monitor several services
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.
 
 

2042 lines
92 KiB

<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>5.0</version>
<date>2021-09-22T16:03:32Z</date>
<groups>
<group>
<name>Modèles</name>
</group>
</groups>
<templates>
<template>
<template>Template_OS_Linux_minimal</template>
<name>Template_OS_Linux_minimal</name>
<groups>
<group>
<name>Modèles</name>
</group>
</groups>
<applications>
<application>
<name>Applications</name>
</application>
<application>
<name>Disks</name>
</application>
<application>
<name>Hardware</name>
</application>
<application>
<name>Integrity</name>
</application>
<application>
<name>LVM</name>
</application>
<application>
<name>Mémoire</name>
</application>
<application>
<name>Network</name>
</application>
<application>
<name>Processor</name>
</application>
<application>
<name>Various</name>
</application>
</applications>
<items>
<item>
<name>TCP ping of the agent</name>
<key>agent.ping</key>
<delay>5m</delay>
<history>30d</history>
<trends>180d</trends>
<valuemap>
<name>Service state</name>
</valuemap>
<request_method>POST</request_method>
</item>
<item>
<name>Zabbix agent version</name>
<key>agent.version</key>
<delay>2h</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Applications</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Opened files limit</name>
<key>kernel.maxfiles</key>
<delay>1h</delay>
<history>60d</history>
<trends>1095d</trends>
<units>Fichiers</units>
<preprocessing>
<step>
<type>DISCARD_UNCHANGED_HEARTBEAT</type>
<params>1d</params>
</step>
</preprocessing>
<request_method>POST</request_method>
</item>
<item>
<name>Max number of processes</name>
<key>kernel.maxproc</key>
<delay>1h</delay>
<history>60d</history>
<trends>1095d</trends>
<units>!process</units>
<preprocessing>
<step>
<type>DISCARD_UNCHANGED_HEARTBEAT</type>
<params>1d</params>
</step>
</preprocessing>
<request_method>POST</request_method>
</item>
<item>
<name>Opened files</name>
<key>kernel.openedfiles</key>
<delay>5m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>Fichiers</units>
<request_method>POST</request_method>
</item>
<item>
<name>TCP response from the agent</name>
<type>SIMPLE</type>
<key>net.tcp.service[tcp,,{$ZBX_AGENT_PORT}]</key>
<delay>5m</delay>
<history>30d</history>
<trends>0</trends>
<applications>
<application>
<name>Network</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Number of active processes</name>
<key>proc.num[,,run]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{min(300)}&gt;{$MAX_RUNNING_PROCESSES}</expression>
<name>Lots of active processes</name>
<priority>AVERAGE</priority>
</trigger>
</triggers>
</item>
<item>
<name>Number of processes</name>
<key>proc.num[]</key>
<delay>5m</delay>
<history>60d</history>
<trends>1095d</trends>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{last(0)}&gt;{$MAX_PROCESSES} and {last(#2)}&gt;{$MAX_PROCESSES}</expression>
<recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression>{last(0)}&lt;({$MAX_PROCESSES}-20)</recovery_expression>
<name>Lots of processes</name>
<priority>AVERAGE</priority>
</trigger>
</triggers>
</item>
<item>
<name>CPU load</name>
<key>system.cpu.load[,avg1]</key>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>CPU load (5min)</name>
<key>system.cpu.load[,avg5]</key>
<delay>5m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>CPU load (15min)</name>
<key>system.cpu.load[,avg15]</key>
<delay>15m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Number of CPU</name>
<key>system.cpu.num[]</key>
<delay>1d</delay>
<history>60d</history>
<trends>1095d</trends>
<units>cpu</units>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>CPU context switch</name>
<key>system.cpu.switches</key>
<delay>2m</delay>
<history>60d</history>
<trends>1095d</trends>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
<params/>
</step>
</preprocessing>
<request_method>POST</request_method>
</item>
<item>
<name>CPU usage: $2</name>
<key>system.cpu.util[,interrupt,avg1]</key>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>CPU usage: $2</name>
<key>system.cpu.util[,iowait,avg1]</key>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>CPU usage: $2</name>
<key>system.cpu.util[,nice,avg1]</key>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>CPU usage: $2</name>
<key>system.cpu.util[,softirq,avg1]</key>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>CPU usage: $2</name>
<key>system.cpu.util[,system,avg1]</key>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>CPU usage: $2</name>
<key>system.cpu.util[,user,avg1]</key>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Hostname</name>
<key>system.hostname</key>
<delay>2h</delay>
<history>15d</history>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>Network</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Swapped in pages</name>
<key>system.swap.in[,pages]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>pages/s</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
<params/>
</step>
</preprocessing>
<request_method>POST</request_method>
</item>
<item>
<name>Swapped out pages</name>
<key>system.swap.out[,pages]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>pages/s</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
<params/>
</step>
</preprocessing>
<request_method>POST</request_method>
</item>
<item>
<name>Swap: Free</name>
<key>system.swap.size[,free]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Swap : Free %</name>
<key>system.swap.size[,pfree]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Swap: Used %</name>
<key>system.swap.size[,pused]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Swap: Total</name>
<key>system.swap.size[,total]</key>
<delay>1h</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<preprocessing>
<step>
<type>DISCARD_UNCHANGED_HEARTBEAT</type>
<params>6h</params>
</step>
</preprocessing>
<request_method>POST</request_method>
</item>
<item>
<name>Swap: Used</name>
<key>system.swap.size[,used]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Uptime</name>
<key>system.uptime</key>
<delay>10m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>s</units>
<request_method>POST</request_method>
</item>
<item>
<name>Connected users</name>
<key>system.users.num</key>
<delay>5m</delay>
<history>60d</history>
<trends>1095d</trends>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{last(0)}&gt;{$MAX_USERS}</expression>
<name>Lots of connected users</name>
<priority>WARNING</priority>
</trigger>
</triggers>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/bin/bash]</key>
<delay>30m</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Integrity</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff(0)}&gt;0</expression>
<name>/bin/bash changed</name>
<priority>WARNING</priority>
<description>Le hash du fichier a été modifié</description>
<manual_close>YES</manual_close>
</trigger>
</triggers>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/bin/cat]</key>
<delay>30m</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Integrity</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff(0)}&gt;0</expression>
<name>/bin/cat changed</name>
<priority>WARNING</priority>
<manual_close>YES</manual_close>
</trigger>
</triggers>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/bin/cp]</key>
<delay>30m</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Integrity</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff(0)}&gt;0</expression>
<name>/bin/cp changed</name>
<priority>WARNING</priority>
<manual_close>YES</manual_close>
</trigger>
</triggers>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/bin/ln]</key>
<delay>30m</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Integrity</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff(0)}&gt;0</expression>
<name>/bin/ln changed</name>
<priority>WARNING</priority>
<manual_close>YES</manual_close>
</trigger>
</triggers>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/bin/ls]</key>
<delay>30m</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Integrity</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff(0)}&gt;0</expression>
<name>/bin/ls changed</name>
<priority>WARNING</priority>
<description>Le hash du fichier a été modifié</description>
<manual_close>YES</manual_close>
</trigger>
</triggers>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/bin/mkdir]</key>
<delay>30m</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Integrity</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff(0)}&gt;0</expression>
<name>/bin/mkdir changed</name>
<priority>WARNING</priority>
<manual_close>YES</manual_close>
</trigger>
</triggers>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/bin/mv]</key>
<delay>30m</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Integrity</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff(0)}&gt;0</expression>
<name>/bin/mv changed</name>
<priority>WARNING</priority>
<manual_close>YES</manual_close>
</trigger>
</triggers>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/bin/rm]</key>
<delay>30m</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Integrity</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff(0)}&gt;0</expression>
<name>/bin/rm changed</name>
<priority>WARNING</priority>
<manual_close>YES</manual_close>
</trigger>
</triggers>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/bin/touch]</key>
<delay>30m</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Integrity</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff(0)}&gt;0</expression>
<name>/bin/touch changed</name>
<priority>WARNING</priority>
<manual_close>YES</manual_close>
</trigger>
</triggers>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/etc/nsswitch.conf]</key>
<delay>1h</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Integrity</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff(0)}&gt;0</expression>
<name>/etc/nsswitch.conf changed</name>
<priority>INFO</priority>
<manual_close>YES</manual_close>
</trigger>
</triggers>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/etc/passwd]</key>
<delay>1h</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Integrity</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff(0)}&gt;0</expression>
<name>/etc/passwd changed</name>
<priority>INFO</priority>
<manual_close>YES</manual_close>
</trigger>
</triggers>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/etc/services]</key>
<delay>1h</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<applications>
<application>
<name>Integrity</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff(0)}&gt;0</expression>
<name>/etc/services changed</name>
<priority>INFO</priority>
<manual_close>YES</manual_close>
</trigger>
</triggers>
</item>
<item>
<name>Memory: Used %</name>
<type>CALCULATED</type>
<key>vm.memory.size.pused</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<params>100-last(&quot;vm.memory.size[pavailable]&quot;)</params>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: Used</name>
<type>CALCULATED</type>
<key>vm.memory.size.used</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<params>last(&quot;vm.memory.size[total]&quot;)-last(&quot;vm.memory.size[available]&quot;)</params>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: Available</name>
<key>vm.memory.size[available]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
</item>
<item>
<name>Memory: Buffers</name>
<key>vm.memory.size[buffers]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: Cache</name>
<key>vm.memory.size[cached]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: Free</name>
<key>vm.memory.size[free]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: Available %</name>
<key>vm.memory.size[pavailable]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
</item>
<item>
<name>Memory: Total</name>
<key>vm.memory.size[total]</key>
<delay>3m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<applications>
<application>
<name>Mémoire</name>
</application>
</applications>
<preprocessing>
<step>
<type>DISCARD_UNCHANGED_HEARTBEAT</type>
<params>4h</params>
</step>
</preprocessing>
<request_method>POST</request_method>
</item>
</items>
<discovery_rules>
<discovery_rule>
<name>SMART capable disk discovery</name>
<key>hardware.disk.smart.discovery</key>
<delay>3600</delay>
<filter>
<conditions>
<condition>
<macro>{#SMARTDRIVE}</macro>
<value>dev</value>
<formulaid>A</formulaid>
</condition>
</conditions>
</filter>
<lifetime>1w</lifetime>
<item_prototypes>
<item_prototype>
<name>SMART: {#SMARTDRIVE}: $2</name>
<key>hardware.disk.smart[{#SMARTDRIVE},Current_Pending_Sector]</key>
<delay>30m</delay>
<history>60d</history>
<trends>1095d</trends>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>SMART: {#SMARTDRIVE}: $2</name>
<key>hardware.disk.smart[{#SMARTDRIVE},Offline_Uncorrectable]</key>
<delay>30m</delay>
<history>60d</history>
<trends>1095d</trends>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>SMART: {#SMARTDRIVE}: $2</name>
<key>hardware.disk.smart[{#SMARTDRIVE},Power_Cycle_Count]</key>
<delay>1h</delay>
<history>60d</history>
<trends>1095d</trends>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>SMART: {#SMARTDRIVE}: $2</name>
<key>hardware.disk.smart[{#SMARTDRIVE},Power_On_Hours]</key>
<delay>1h</delay>
<history>60d</history>
<trends>1095d</trends>
<units>s</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>MULTIPLIER</type>
<params>3600</params>
</step>
</preprocessing>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>SMART: {#SMARTDRIVE}: $2</name>
<key>hardware.disk.smart[{#SMARTDRIVE},Reallocated_Sector_Ct]</key>
<delay>30m</delay>
<history>60d</history>
<trends>1095d</trends>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
<trigger_prototypes>
<trigger_prototype>
<expression>{change(0)}&gt;0</expression>
<name>{ITEM.LASTVALUE1} reallocated sectors on {#SMARTDRIVE}</name>
<priority>AVERAGE</priority>
</trigger_prototype>
<trigger_prototype>
<expression>{last(0)}&gt;{$MAX_REALLOCATED}</expression>
<name>{ITEM.LASTVALUE1} reallocated sectors on {#SMARTDRIVE}</name>
<priority>HIGH</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
<trigger_prototypes>
<trigger_prototype>
<expression>{Template_OS_Linux_minimal:hardware.disk.smart[{#SMARTDRIVE},Offline_Uncorrectable].last(0)}&gt;{$MAX_UNCORRECTABLE} or {Template_OS_Linux_minimal:hardware.disk.smart[{#SMARTDRIVE},Current_Pending_Sector].last(0)}&gt;{$MAX_PENDING}</expression>
<name>{ITEM.LASTVALUE1} uncorrectable sectors on {#SMARTDRIVE}</name>
<priority>HIGH</priority>
</trigger_prototype>
</trigger_prototypes>
<request_method>POST</request_method>
</discovery_rule>
<discovery_rule>
<name>Temperature sensors discovery</name>
<key>hardware.sensor.discovery</key>
<delay>1800</delay>
<lifetime>10d</lifetime>
<item_prototypes>
<item_prototype>
<name>Temperature $1</name>
<key>hardware.sensor[{#SENSORNAME}]</key>
<delay>5m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>°C</units>
<applications>
<application>
<name>Hardware</name>
</application>
</applications>
<request_method>POST</request_method>
<trigger_prototypes>
<trigger_prototype>
<expression>{last(0)}&gt;{#SENSORTHRESHIGH}</expression>
<recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression>{last(0)}&lt;{#SENSORTHRESLOW}</recovery_expression>
<name>High temperature for {#SENSORNAME}: {ITEM.LASTVALUE1}</name>
<priority>AVERAGE</priority>
<manual_close>YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
<request_method>POST</request_method>
</discovery_rule>
<discovery_rule>
<name>Fan sensors discovery</name>
<key>hardware.sensor.discovery[fan]</key>
<delay>1h</delay>
<lifetime>10d</lifetime>
<item_prototypes>
<item_prototype>
<name>Rotation speed for {#SENSORNAME}</name>
<key>hardware.sensor[{#SENSORNAME},fan]</key>
<delay>10m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>rpm</units>
<applications>
<application>
<name>Hardware</name>
</application>
</applications>
<request_method>POST</request_method>
<trigger_prototypes>
<trigger_prototype>
<expression>{last()}&lt;{#SENSORTHRESLOW}</expression>
<recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression>{last()}&gt;{#SENSORTHRESHIGH}</recovery_expression>
<name>Low fan {#SENSORNAME} speed: {ITEM.LASTVALUE1}</name>
<priority>AVERAGE</priority>
<manual_close>YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
<trigger_prototypes>
<trigger_prototype>
<expression>{Template_OS_Linux_minimal:hardware.sensor[{#SENSORNAME},fan].nodata(3600)}=1 and {Template_OS_Linux_minimal:net.tcp.service[tcp,,{$ZBX_AGENT_PORT}].min(1800)}&gt;0</expression>
<name>No sensors data collected for {#SENSORNAME}</name>
<priority>WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
<request_method>POST</request_method>
</discovery_rule>
<discovery_rule>
<name>Power sensors discovery</name>
<key>hardware.sensor.discovery[power]</key>
<delay>2h</delay>
<lifetime>10d</lifetime>
<item_prototypes>
<item_prototype>
<name>Power consumption ({#SENSORNAME})</name>
<key>hardware.sensor[{#SENSORNAME},power]</key>
<delay>10m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>{#SENSORUNIT}</units>
<applications>
<application>
<name>Hardware</name>
</application>
</applications>
<request_method>POST</request_method>
</item_prototype>
</item_prototypes>
<request_method>POST</request_method>
</discovery_rule>
<discovery_rule>
<name>Network interfaces discovery</name>
<key>net.if.discovery</key>
<delay>1800</delay>
<filter>
<conditions>
<condition>
<macro>{#IFNAME}</macro>
<value>@decouverte_interfaces_rzo</value>
<formulaid>A</formulaid>
</condition>
</conditions>
</filter>
<lifetime>1d</lifetime>
<item_prototypes>
<item_prototype>
<name>Inbound trafic for {#IFNAME}</name>
<key>net.if.in[{#IFNAME},bytes]</key>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>bps</units>
<applications>
<application>
<name>Network</name>
</application>
</applications>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
<params/>
</step>
<step>
<type>MULTIPLIER</type>
<params>8</params>
</step>
</preprocessing>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>Errors on inbound trafic for {#IFNAME}</name>
<key>net.if.in[{#IFNAME},errors]</key>
<delay>15m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>errors</units>
<applications>
<application>
<name>Network</name>
</application>
</applications>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
<params/>
</step>
</preprocessing>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>Outbound trafic for {#IFNAME}</name>
<key>net.if.out[{#IFNAME},bytes]</key>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>bps</units>
<applications>
<application>
<name>Network</name>
</application>
</applications>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
<params/>
</step>
<step>
<type>MULTIPLIER</type>
<params>-8</params>
</step>
</preprocessing>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>Errors on outbound trafic for {#IFNAME}</name>
<key>net.if.out[{#IFNAME},errors]</key>
<delay>15m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>errors</units>
<applications>
<application>
<name>Network</name>
</application>
</applications>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
<params/>
</step>
<step>
<type>MULTIPLIER</type>
<params>-1</params>
</step>
</preprocessing>
<request_method>POST</request_method>
</item_prototype>
</item_prototypes>
<graph_prototypes>
<graph_prototype>
<name>Network: trafic: {#IFNAME}</name>
<graph_items>
<graph_item>
<drawtype>FILLED_REGION</drawtype>
<color>009900</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>net.if.in[{#IFNAME},bytes]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<drawtype>FILLED_REGION</drawtype>
<color>FF6666</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>net.if.out[{#IFNAME},bytes]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<drawtype>BOLD_LINE</drawtype>
<color>EE00EE</color>
<yaxisside>RIGHT</yaxisside>
<item>
<host>Template_OS_Linux_minimal</host>
<key>net.if.in[{#IFNAME},errors]</key>
</item>
</graph_item>
<graph_item>
<sortorder>3</sortorder>
<drawtype>BOLD_LINE</drawtype>
<color>C800C8</color>
<yaxisside>RIGHT</yaxisside>
<item>
<host>Template_OS_Linux_minimal</host>
<key>net.if.out[{#IFNAME},errors]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
<request_method>POST</request_method>
</discovery_rule>
<discovery_rule>
<name>Block device discovery</name>
<key>vfs.dev.discovery</key>
<delay>900</delay>
<filter>
<conditions>
<condition>
<macro>{#DEVNAME}</macro>
<value>@decouverte_block_dev</value>
<formulaid>A</formulaid>
</condition>
</conditions>
</filter>
<lifetime>1h</lifetime>
<item_prototypes>
<item_prototype>
<name>Read operations on {#DEVNAME}</name>
<key>vfs.dev.read[{#DEVNAME},ops]</key>
<delay>2m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>iops</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>Reads on {#DEVNAME}</name>
<key>vfs.dev.read[{#DEVNAME},sectors]</key>
<delay>2m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>B/s</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
<params/>
</step>
<step>
<type>MULTIPLIER</type>
<params>512</params>
</step>
</preprocessing>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>Write operations on {#DEVNAME}</name>
<key>vfs.dev.write[{#DEVNAME},ops]</key>
<delay>2m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>iops</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>MULTIPLIER</type>
<params>-1</params>
</step>
</preprocessing>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>Writes on {#DEVNAME}</name>
<key>vfs.dev.write[{#DEVNAME},sectors]</key>
<delay>2m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>B/s</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
<params/>
</step>
<step>
<type>MULTIPLIER</type>
<params>-512</params>
</step>
</preprocessing>
<request_method>POST</request_method>
</item_prototype>
</item_prototypes>
<request_method>POST</request_method>
</discovery_rule>
<discovery_rule>
<name>Filesystem discovery</name>
<key>vfs.fs.discovery</key>
<delay>600</delay>
<filter>
<evaltype>AND</evaltype>
<conditions>
<condition>
<macro>{#FSTYPE}</macro>
<value>@decouverte_fs</value>
<formulaid>B</formulaid>
</condition>
<condition>
<macro>{#FSNAME}</macro>
<value>@decouverte_mp</value>
<formulaid>A</formulaid>
</condition>
</conditions>
</filter>
<lifetime>10d</lifetime>
<item_prototypes>
<item_prototype>
<name>Free inodes on {#FSNAME}</name>
<key>vfs.fs.inode[{#FSNAME},free]</key>
<delay>10m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>inodes</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>Used inodes on {#FSNAME} (%)</name>
<key>vfs.fs.inode[{#FSNAME},pused]</key>
<delay>15m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
<trigger_prototypes>
<trigger_prototype>
<expression>{last(0)}&gt;{$INODE_WARN}</expression>
<recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression>{last(0)}&lt;({$INODE_WARN}-2)</recovery_expression>
<name>{#FSNAME} is using {ITEM.LASTVALUE1} of available inodes</name>
<priority>WARNING</priority>
<dependencies>
<dependency>
<name>{#FSNAME} is {ITEM.LASTVALUE1} used</name>
<expression>{Template_OS_Linux_minimal:vfs.fs.size[{#FSNAME},pused].last(0)}&gt;{$DF_CRITICAL}</expression>
<recovery_expression>{Template_OS_Linux_minimal:vfs.fs.size[{#FSNAME},pused].last(0)}&lt;({$DF_CRITICAL}-2)</recovery_expression>
</dependency>
</dependencies>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype>
<name>Used inodes on {#FSNAME}</name>
<key>vfs.fs.inode[{#FSNAME},used]</key>
<delay>15m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>inodes</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>Free space on {#FSNAME}</name>
<key>vfs.fs.size[{#FSNAME},free]</key>
<delay>10m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
</item_prototype>
<item_prototype>
<name>Used space on {#FSNAME} (%)</name>
<key>vfs.fs.size[{#FSNAME},pused]</key>
<delay>10m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
<trigger_prototypes>
<trigger_prototype>
<expression>{last(0)}&gt;{$DF_WARN}</expression>
<recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression>{last(0)}&lt;({$DF_WARN}-2)</recovery_expression>
<name>{#FSNAME} is {ITEM.LASTVALUE1} full</name>
<priority>WARNING</priority>
<manual_close>YES</manual_close>
<dependencies>
<dependency>
<name>{#FSNAME} is {ITEM.LASTVALUE1} used</name>
<expression>{Template_OS_Linux_minimal:vfs.fs.size[{#FSNAME},pused].last(0)}&gt;{$DF_CRITICAL}</expression>
<recovery_expression>{Template_OS_Linux_minimal:vfs.fs.size[{#FSNAME},pused].last(0)}&lt;({$DF_CRITICAL}-2)</recovery_expression>
</dependency>
</dependencies>
</trigger_prototype>
<trigger_prototype>
<expression>{last(0)}&gt;{$DF_CRITICAL}</expression>
<recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression>{last(0)}&lt;({$DF_CRITICAL}-2)</recovery_expression>
<name>{#FSNAME} is {ITEM.LASTVALUE1} used</name>
<priority>AVERAGE</priority>
<manual_close>YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype>
<name>Used space on {#FSNAME}</name>
<key>vfs.fs.size[{#FSNAME},used]</key>
<delay>10m</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
</item_prototype>
</item_prototypes>
<request_method>POST</request_method>
</discovery_rule>
<discovery_rule>
<name>LVM volume group discovery</name>
<key>vfs.lvm.discovery[groups]</key>
<delay>4h</delay>
<lifetime>1d</lifetime>
<item_prototypes>
<item_prototype>
<name>LVM: Volume group {#LVMGRP} allocated %</name>
<type>CALCULATED</type>
<key>vfs.lvm.vg[{#LVMGRP},alloc_ct]</key>
<delay>15m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<params>100*last(&quot;vfs.lvm.vg[{#LVMGRP},alloc_pe_size]&quot;)/last(&quot;vfs.lvm.vg[{#LVMGRP},vg_size]&quot;)</params>
<applications>
<application>
<name>Disks</name>
</application>
<application>
<name>LVM</name>
</application>
</applications>
</item_prototype>
<item_prototype>
<name>LVM: Volume group {#LVMGRP} allocated size</name>
<type>DEPENDENT</type>
<key>vfs.lvm.vg[{#LVMGRP},alloc_pe_size]</key>
<delay>0</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
<application>
<name>LVM</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.alloc_pe_size</params>
</step>
</preprocessing>
<master_item>
<key>vfs.lvm.vg[{#LVMGRP},]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>LVM: Volume group {#LVMGRP} number of logical volumes</name>
<type>DEPENDENT</type>
<key>vfs.lvm.vg[{#LVMGRP},cur_lv]</key>
<delay>0</delay>
<history>60d</history>
<trends>1095d</trends>
<units>!lv</units>
<applications>
<application>
<name>Disks</name>
</application>
<application>
<name>LVM</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.cur_lv</params>
</step>
</preprocessing>
<master_item>
<key>vfs.lvm.vg[{#LVMGRP},]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>LVM: Volume group {#LVMGRP} size</name>
<type>DEPENDENT</type>
<key>vfs.lvm.vg[{#LVMGRP},vg_size]</key>
<delay>0</delay>
<history>60d</history>
<trends>1095d</trends>
<units>B</units>
<applications>
<application>
<name>Disks</name>
</application>
<application>
<name>LVM</name>
</application>
</applications>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.vg_size</params>
</step>
</preprocessing>
<master_item>
<key>vfs.lvm.vg[{#LVMGRP},]</key>
</master_item>
</item_prototype>
<item_prototype>
<name>LVM: Volume group {#LVMGRP} info</name>
<key>vfs.lvm.vg[{#LVMGRP},]</key>
<delay>15m</delay>
<history>0</history>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>Disks</name>
</application>
<application>
<name>LVM</name>
</application>
</applications>
</item_prototype>
</item_prototypes>
</discovery_rule>
<discovery_rule>
<name>LVM snapshot discovery</name>
<key>vfs.lvm.discovery[snapshots]</key>
<delay>300</delay>
<filter>
<conditions>
<condition>
<macro>{#LVMSNAP}</macro>
<value>^\/dev\/</value>
<formulaid>A</formulaid>
</condition>
</conditions>
</filter>
<lifetime>1d</lifetime>
<item_prototypes>
<item_prototype>
<name>LVM: {#LVMSNAP} allocation</name>
<key>vfs.lvm.lv[{#LVMSNAP},allocation]</key>
<delay>10m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
<trigger_prototypes>
<trigger_prototype>
<expression>{last(0)}&gt;80</expression>
<name>LVM snapshot {#LVMSNAP} uses {ITEM.LASTVALUE1} of its allocated space</name>
<priority>HIGH</priority>
<manual_close>YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
<request_method>POST</request_method>
</discovery_rule>
<discovery_rule>
<name>LVM thin pool discovery</name>
<key>vfs.lvm.discovery[thin_pools]</key>
<delay>3600</delay>
<filter>
<conditions>
<condition>
<macro>{#LVMTHINP}</macro>
<value>^\/dev\/</value>
<formulaid>A</formulaid>
</condition>
</conditions>
</filter>
<lifetime>1d</lifetime>
<item_prototypes>
<item_prototype>
<name>Metadata allocation for pool {#LVMTHINP}</name>
<key>vfs.lvm.lv[{#LVMTHINP},allocation_metadata]</key>
<delay>10m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
<trigger_prototypes>
<trigger_prototype>
<expression>{last(0)}&gt;80</expression>
<name>Metadata allocation for pool {#LVMTHINP} reached {ITEM.LASTVALUE1}</name>
<priority>AVERAGE</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype>
<name>Data allocation for pool {#LVMTHINP}</name>
<key>vfs.lvm.lv[{#LVMTHINP},allocation_pool_data]</key>
<delay>10m</delay>
<history>60d</history>
<trends>1095d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<request_method>POST</request_method>
<trigger_prototypes>
<trigger_prototype>
<expression>{last(0)}&gt;{$LVM_THIN_POOL_ALLOC_WARN}</expression>
<name>Data allocation for pool {#LVMTHINP} reached {ITEM.LASTVALUE1}</name>
<priority>AVERAGE</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
<request_method>POST</request_method>
</discovery_rule>
</discovery_rules>
<macros>
<macro>
<macro>{$DF_CRITICAL}</macro>
<value>95</value>
</macro>
<macro>
<macro>{$DF_WARN}</macro>
<value>90</value>
</macro>
<macro>
<macro>{$INODE_WARN}</macro>
<value>80</value>
</macro>
<macro>
<macro>{$LOAD_COEF}</macro>
<value>1</value>
</macro>
<macro>
<macro>{$LVM_THIN_POOL_ALLOC_WARN}</macro>
<value>80</value>
</macro>
<macro>
<macro>{$MAX_PENDING}</macro>
<value>0</value>
</macro>
<macro>
<macro>{$MAX_PROCESSES}</macro>
<value>250</value>
</macro>
<macro>
<macro>{$MAX_REALLOCATED}</macro>
<value>50</value>
</macro>
<macro>
<macro>{$MAX_RUNNING_PROCESSES}</macro>
<value>15</value>
</macro>
<macro>
<macro>{$MAX_UNCORRECTABLE}</macro>
<value>0</value>
</macro>
<macro>
<macro>{$MAX_USED_FD_PCT}</macro>
<value>75</value>
</macro>
<macro>
<macro>{$MAX_USERS}</macro>
<value>5</value>
</macro>
<macro>
<macro>{$SWAP_CRITICAL}</macro>
<value>80</value>
</macro>
<macro>
<macro>{$SWAP_WARN}</macro>
<value>50</value>
</macro>
<macro>
<macro>{$ZBX_AGENT_PORT}</macro>
<value>10050</value>
</macro>
<macro>
<macro>{$ZBX_UNREACHABLE_TIMEOUT}</macro>
<value>600</value>
</macro>
<macro>
<macro>{$ZFS_QUOTA_WARN}</macro>
<value>80</value>
</macro>
<macro>
<macro>{$ZFS_ZPOOL_ALLOC_CRITICAL}</macro>
<value>90</value>
</macro>
<macro>
<macro>{$ZFS_ZPOOL_ALLOC_WARN}</macro>
<value>80</value>
</macro>
</macros>
</template>
</templates>
<triggers>
<trigger>
<expression>({Template_OS_Linux_minimal:system.cpu.load[,avg1].avg(900)}&gt;({Template_OS_Linux_minimal:system.cpu.num[].last(0)}*3*{$LOAD_COEF})) or ({Template_OS_Linux_minimal:system.cpu.load[,avg5].avg(1800)}&gt;({Template_OS_Linux_minimal:system.cpu.num[].last(0)}*2.5*{$LOAD_COEF})) or ({Template_OS_Linux_minimal:system.cpu.load[,avg15].avg(7200)}&gt;({Template_OS_Linux_minimal:system.cpu.num[].last(0)}*1.2*{$LOAD_COEF}))</expression>
<name>High CPU load</name>
<priority>INFO</priority>
</trigger>
<trigger>
<expression>{Template_OS_Linux_minimal:kernel.openedfiles.last()}*100/{Template_OS_Linux_minimal:kernel.maxfiles.last()}&gt;{$MAX_USED_FD_PCT}</expression>
<name>Opened files is near its limit ({ITEM.LASTVALUE1}/{ITEM.LASTVALUE2})</name>
<priority>WARNING</priority>
</trigger>
<trigger>
<expression>{Template_OS_Linux_minimal:vm.memory.size.pused.last(0)}&gt;90 and {Template_OS_Linux_minimal:system.swap.size[,pused].avg(600)}&gt;{$SWAP_WARN}</expression>
<name>Swap usage</name>
<priority>WARNING</priority>
<dependencies>
<dependency>
<name>Very high swap usage</name>
<expression>{Template_OS_Linux_minimal:system.swap.size[,pused].last(0)}&gt;{$SWAP_CRITICAL} and {Template_OS_Linux_minimal:vm.memory.size.pused.last(0)}&gt;90</expression>
</dependency>
</dependencies>
</trigger>
<trigger>
<expression>{Template_OS_Linux_minimal:system.swap.size[,pused].last(0)}&gt;{$SWAP_CRITICAL} and {Template_OS_Linux_minimal:vm.memory.size.pused.last(0)}&gt;90</expression>
<name>Very high swap usage</name>
<priority>HIGH</priority>
</trigger>
</triggers>
<graphs>
<graph>
<name>System: CPU Load</name>
<graph_items>
<graph_item>
<color>FF0000</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.cpu.load[,avg15]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<color>FFFF33</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.cpu.load[,avg5]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<color>009900</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.cpu.load[,avg1]</key>
</item>
</graph_item>
<graph_item>
<sortorder>3</sortorder>
<color>0000DD</color>
<yaxisside>RIGHT</yaxisside>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.cpu.switches</key>
</item>
</graph_item>
</graph_items>
</graph>
<graph>
<name>System: CPU Usage</name>
<type>STACKED</type>
<ymin_type_1>FIXED</ymin_type_1>
<ymax_type_1>FIXED</ymax_type_1>
<graph_items>
<graph_item>
<drawtype>FILLED_REGION</drawtype>
<color>FF33FF</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.cpu.util[,interrupt,avg1]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<drawtype>FILLED_REGION</drawtype>
<color>FF0000</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.cpu.util[,system,avg1]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<drawtype>FILLED_REGION</drawtype>
<color>CCFFFF</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.cpu.util[,iowait,avg1]</key>
</item>
</graph_item>
<graph_item>
<sortorder>3</sortorder>
<drawtype>FILLED_REGION</drawtype>
<color>66FF66</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.cpu.util[,softirq,avg1]</key>
</item>
</graph_item>
<graph_item>
<sortorder>4</sortorder>
<color>FFFF00</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.cpu.util[,user,avg1]</key>
</item>
</graph_item>
<graph_item>
<sortorder>5</sortorder>
<color>0000EE</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.cpu.util[,nice,avg1]</key>
</item>
</graph_item>
</graph_items>
</graph>
<graph>
<name>System: Memory</name>
<type>STACKED</type>
<ymin_type_1>FIXED</ymin_type_1>
<graph_items>
<graph_item>
<color>0000CC</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>vm.memory.size.used</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<color>9999FF</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>vm.memory.size[buffers]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<color>009900</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>vm.memory.size[cached]</key>
</item>
</graph_item>
<graph_item>
<sortorder>3</sortorder>
<color>CCFFFF</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>vm.memory.size[free]</key>
</item>
</graph_item>
</graph_items>
</graph>
<graph>
<name>System: Processes</name>
<ymin_type_1>FIXED</ymin_type_1>
<graph_items>
<graph_item>
<drawtype>FILLED_REGION</drawtype>
<color>FFFF33</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>proc.num[]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<drawtype>FILLED_REGION</drawtype>
<color>EE0000</color>
<yaxisside>RIGHT</yaxisside>
<item>
<host>Template_OS_Linux_minimal</host>
<key>proc.num[,,run]</key>
</item>
</graph_item>
</graph_items>
</graph>
<graph>
<name>System: Swap</name>
<ymin_type_1>FIXED</ymin_type_1>
<graph_items>
<graph_item>
<drawtype>GRADIENT_LINE</drawtype>
<color>0000DD</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.swap.size[,used]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<color>000000</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.swap.size[,total]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<color>EE0000</color>
<yaxisside>RIGHT</yaxisside>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.swap.out[,pages]</key>
</item>
</graph_item>
<graph_item>
<sortorder>3</sortorder>
<color>00EE00</color>
<yaxisside>RIGHT</yaxisside>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.swap.in[,pages]</key>
</item>
</graph_item>
</graph_items>
</graph>
<graph>
<name>System: Uptime</name>
<graph_items>
<graph_item>
<drawtype>FILLED_REGION</drawtype>
<color>FF0000</color>
<item>
<host>Template_OS_Linux_minimal</host>
<key>system.uptime</key>
</item>
</graph_item>
</graph_items>
</graph>
</graphs>
<value_maps>
<value_map>
<name>Service state</name>
<mappings>
<mapping>
<value>0</value>
<newvalue>Down</newvalue>
</mapping>
<mapping>
<value>1</value>
<newvalue>Up</newvalue>
</mapping>
</mappings>
</value_map>
</value_maps>
</zabbix_export>