<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export >
<version > 5.0</version>
<date > 2021-09-22T16:04:27Z</date>
<groups >
<group >
<name > Modèles</name>
</group>
<group >
<name > Templates</name>
</group>
</groups>
<templates >
<template >
<template > Template_OS_Linux_Server</template>
<name > Template_OS_Linux_Server</name>
<templates >
<template >
<name > Template_App_Multipath</name>
</template>
<template >
<name > Template_OS_Linux_minimal</name>
</template>
<template >
<name > Template_Ping</name>
</template>
</templates>
<groups >
<group >
<name > Modèles</name>
</group>
<group >
<name > Templates</name>
</group>
</groups>
<applications >
<application >
<name > System</name>
</application>
</applications>
<items >
<item >
<name > Number of sshd processes</name>
<key > proc.num[sshd]</key>
<delay > 15m</delay>
<history > 30d</history>
<trends > 0</trends>
<applications >
<application >
<name > Applications</name>
</application>
</applications>
<request_method > POST</request_method>
<triggers >
<trigger >
<expression > {last(0)}< 1</expression>
<name > le démon sshd n'est pas en fonctionnement</name>
<priority > AVERAGE</priority>
</trigger>
</triggers>
</item>
<item >
<name > UTC time</name>
<key > system.localtime</key>
<delay > 15m</delay>
<history > 30d</history>
<trends > 0</trends>
<applications >
<application >
<name > System</name>
</application>
</applications>
<request_method > POST</request_method>
<triggers >
<trigger >
<expression > {fuzzytime(180)}=0</expression>
<recovery_mode > RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression > {fuzzytime(120)}=1</recovery_expression>
<name > Important time shift</name>
<priority > WARNING</priority>
</trigger>
</triggers>
</item>
<item >
<name > $1 hash</name>
<key > vfs.file.md5sum[/usr/sbin/sshd]</key>
<delay > 30m</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Integrity</name>
</application>
</applications>
<preprocessing >
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<request_method > POST</request_method>
<triggers >
<trigger >
<expression > {diff(0)}> 0</expression>
<name > /usr/sbin/sshd changed</name>
<priority > WARNING</priority>
<manual_close > YES</manual_close>
</trigger>
</triggers>
</item>
</items>
<discovery_rules >
<discovery_rule >
<name > UPS discovery</name>
<key > hardware.ups.discovery[]</key>
<delay > 1800</delay>
<lifetime > 1d</lifetime>
<item_prototypes >
<item_prototype >
<name > UPS: Taux de charge de la batterie pour {#UPSNAME}</name>
<key > hardware.ups[{#UPSNAME},battery.charge]</key>
<delay > 2m</delay>
<history > 60d</history>
<trends > 1095d</trends>
<units > %</units>
<applications >
<application >
<name > Hardware</name>
</application>
</applications>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > UPS: Charge de l'onduleur {#UPSNAME}</name>
<key > hardware.ups[{#UPSNAME},ups.load]</key>
<delay > 2m</delay>
<history > 60d</history>
<trends > 1095d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<applications >
<application >
<name > Hardware</name>
</application>
</applications>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {last(0)}> 90</expression>
<name > l'onduleur {#UPSNAME} est en surcharge</name>
<priority > AVERAGE</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > UPS: État de l'onduleur {#UPSNAME}</name>
<key > hardware.ups[{#UPSNAME},ups.status]</key>
<delay > 2m</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Hardware</name>
</application>
</applications>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {str(OB)}=0 and {str(LB)}=0 and {str(OL)}=0 and {str(RB)}=0 and {strlen(0)}< > 0 or ({strlen(0)}=0 and {strlen(#2)}=0)</expression>
<name > L'onduleur {#UPSNAME} est dans l'état {ITEM.LASTVALUE1}</name>
<priority > WARNING</priority>
</trigger_prototype>
<trigger_prototype >
<expression > {str(OB)}=1 or {str(LB)}=1</expression>
<name > l'onduleur {#UPSNAME} fonctionne sur batterie</name>
<priority > AVERAGE</priority>
<dependencies >
<dependency >
<name > {#UPSNAME} a un niveau de batterie faible</name>
<expression > {Template_OS_Linux_Server:hardware.ups[{#UPSNAME},ups.status].str(LB)}=1</expression>
</dependency>
</dependencies>
</trigger_prototype>
<trigger_prototype >
<expression > {str(RB)}=1</expression>
<name > la batterie de l'onduleur {#UPSNAME} est défectueuse</name>
<priority > AVERAGE</priority>
</trigger_prototype>
<trigger_prototype >
<expression > {str(LB)}=1</expression>
<name > {#UPSNAME} a un niveau de batterie faible</name>
<priority > HIGH</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
<trigger_prototypes >
<trigger_prototype >
<expression > {Template_OS_Linux_Server:hardware.ups[{#UPSNAME},ups.status].nodata(15m)}=1 and {Template_OS_Linux_Server:agent.ping.nodata(15m)}=0 and {Template_OS_Linux_Server:net.tcp.service[tcp,,{$ZBX_AGENT_PORT}].min(1800)}> 0</expression>
<name > l'onduleur {#UPSNAME} ne remonte plus d'information</name>
<priority > WARNING</priority>
<description > Alerte si comm avec l'agent est OK, mais plus de news de l'onduleur</description>
<dependencies >
<dependency >
<name > No ping response from {HOST.IP1}</name>
<expression > {Template_OS_Linux_Server:icmpping[,2,,,2000].nodata(180,strict)}=0 and {Template_OS_Linux_Server:icmpping[,2,,,2000].sum({$DOWN_CRITICAL})}=0 and {Template_OS_Linux_Server:icmpping[,2,,,2000].dayofweek(0)}> ={$PING_ALERT_FROM_DAY} and {Template_OS_Linux_Server:icmpping[,2,,,2000].dayofweek(0)}< ={$PING_ALERT_TO_DAY} and {Template_OS_Linux_Server:icmpping[,2,,,2000].time(0)}> ={$PING_ALERT_FROM_HOUR} and {Template_OS_Linux_Server:icmpping[,2,,,2000].time(0)}< ={$PING_ALERT_TO_HOUR}</expression>
<recovery_expression > {Template_OS_Linux_Server:icmpping[,2,,,2000].sum(180)}> 3</recovery_expression>
</dependency>
<dependency >
<name > Unreachable Zabbix agent</name>
<expression > {Template_OS_Linux_Server:agent.ping.nodata({$ZBX_UNREACHABLE_TIMEOUT})}=1 and {Template_OS_Linux_Server:icmpping[,2,,,2000].nodata(120,strict)} = 0 and {Template_OS_Linux_Server:icmpping[,2,,,2000].sum(120)}> 0</expression>
</dependency>
</dependencies>
</trigger_prototype>
</trigger_prototypes>
<request_method > POST</request_method>
</discovery_rule>
<discovery_rule >
<name > Apache httpd discovery</name>
<key > httpd.discovery</key>
<delay > 2h</delay>
<lifetime > 10d</lifetime>
<item_prototypes >
<item_prototype >
<name > httpd: Info</name>
<key > httpd[{#HTTPD_STATUS_URI},all]</key>
<delay > 5m</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > httpd: Busy workers</name>
<type > DEPENDENT</type>
<key > httpd[{#HTTPD_STATUS_URI},busyworkers]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<applications >
<application >
<name > Applications</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.busyworkers</params>
</step>
</preprocessing>
<master_item >
<key > httpd[{#HTTPD_STATUS_URI},all]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > httpd: Average requests size</name>
<type > DEPENDENT</type>
<key > httpd[{#HTTPD_STATUS_URI},bytesperreq]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<value_type > FLOAT</value_type>
<units > B</units>
<applications >
<application >
<name > Applications</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.bytesperreq</params>
</step>
</preprocessing>
<master_item >
<key > httpd[{#HTTPD_STATUS_URI},all]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > httpd: Bandwidth</name>
<type > DEPENDENT</type>
<key > httpd[{#HTTPD_STATUS_URI},bytespersec]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<value_type > FLOAT</value_type>
<units > b/s</units>
<applications >
<application >
<name > Applications</name>
</application>
<application >
<name > Network</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.total_kbytes</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8192</params>
</step>
</preprocessing>
<master_item >
<key > httpd[{#HTTPD_STATUS_URI},all]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > httpd: Idle workers</name>
<type > DEPENDENT</type>
<key > httpd[{#HTTPD_STATUS_URI},idleworkers]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<applications >
<application >
<name > Applications</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.idleworkers</params>
</step>
</preprocessing>
<master_item >
<key > httpd[{#HTTPD_STATUS_URI},all]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > httpd: Requests per sec</name>
<type > DEPENDENT</type>
<key > httpd[{#HTTPD_STATUS_URI},reqpersec]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<value_type > FLOAT</value_type>
<units > r/s</units>
<applications >
<application >
<name > Applications</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.total_accesses</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > httpd[{#HTTPD_STATUS_URI},all]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
</item_prototypes>
<graph_prototypes >
<graph_prototype >
<name > Service: {#HTTPD_STATUS_URI}: Processes</name>
<graph_items >
<graph_item >
<color > 1A7C11</color>
<item >
<host > Template_OS_Linux_Server</host>
<key > httpd[{#HTTPD_STATUS_URI},idleworkers]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > 2774A4</color>
<item >
<host > Template_OS_Linux_Server</host>
<key > httpd[{#HTTPD_STATUS_URI},busyworkers]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > Service: {#HTTPD_STATUS_URI}: Requests</name>
<graph_items >
<graph_item >
<drawtype > GRADIENT_LINE</drawtype>
<color > F63100</color>
<item >
<host > Template_OS_Linux_Server</host>
<key > httpd[{#HTTPD_STATUS_URI},bytespersec]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<drawtype > BOLD_LINE</drawtype>
<color > 0000EE</color>
<yaxisside > RIGHT</yaxisside>
<item >
<host > Template_OS_Linux_Server</host>
<key > httpd[{#HTTPD_STATUS_URI},reqpersec]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<drawtype > DASHED_LINE</drawtype>
<color > 00EE00</color>
<item >
<host > Template_OS_Linux_Server</host>
<key > httpd[{#HTTPD_STATUS_URI},bytesperreq]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
<request_method > POST</request_method>
</discovery_rule>
<discovery_rule >
<name > Nginx discovery</name>
<key > nginx.discovery</key>
<delay > 2h</delay>
<lifetime > 10d</lifetime>
<item_prototypes >
<item_prototype >
<name > Nginx: Active connections</name>
<type > DEPENDENT</type>
<key > nginx.status.dep[{#NGINX_STATUS_URI},active_conn]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<applications >
<application >
<name > Applications</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.active_connections</params>
</step>
</preprocessing>
<master_item >
<key > nginx.status[{#NGINX_STATUS_URI},all]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Nginx: Connection per sec</name>
<type > DEPENDENT</type>
<key > nginx.status.dep[{#NGINX_STATUS_URI},conn_per_sec]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<value_type > FLOAT</value_type>
<units > c/s</units>
<applications >
<application >
<name > Applications</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.total_connections</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > nginx.status[{#NGINX_STATUS_URI},all]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Nginx: Keepalive connections</name>
<type > DEPENDENT</type>
<key > nginx.status.dep[{#NGINX_STATUS_URI},keep_alive_conn]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<applications >
<application >
<name > Applications</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.keep_alive</params>
</step>
</preprocessing>
<master_item >
<key > nginx.status[{#NGINX_STATUS_URI},all]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Nginx: Requests per sec</name>
<type > DEPENDENT</type>
<key > nginx.status.dep[{#NGINX_STATUS_URI},req_per_sec]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<value_type > FLOAT</value_type>
<units > r/s</units>
<applications >
<application >
<name > Applications</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.total_requests</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > nginx.status[{#NGINX_STATUS_URI},all]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Nginx: Info</name>
<key > nginx.status[{#NGINX_STATUS_URI},all]</key>
<delay > 5m</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<request_method > POST</request_method>
</item_prototype>
</item_prototypes>
<graph_prototypes >
<graph_prototype >
<name > Service: {#NGINX_STATUS_URI}: Requests</name>
<graph_items >
<graph_item >
<drawtype > DASHED_LINE</drawtype>
<color > 1A7C11</color>
<item >
<host > Template_OS_Linux_Server</host>
<key > nginx.status.dep[{#NGINX_STATUS_URI},conn_per_sec]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<drawtype > GRADIENT_LINE</drawtype>
<color > F63100</color>
<item >
<host > Template_OS_Linux_Server</host>
<key > nginx.status.dep[{#NGINX_STATUS_URI},req_per_sec]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > 2774A4</color>
<yaxisside > RIGHT</yaxisside>
<item >
<host > Template_OS_Linux_Server</host>
<key > nginx.status.dep[{#NGINX_STATUS_URI},active_conn]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 3</sortorder>
<color > 000000</color>
<yaxisside > RIGHT</yaxisside>
<item >
<host > Template_OS_Linux_Server</host>
<key > nginx.status.dep[{#NGINX_STATUS_URI},keep_alive_conn]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
<request_method > POST</request_method>
</discovery_rule>
<discovery_rule >
<name > PVE nodes discovery</name>
<key > pve.discovery[nodes,ping]</key>
<delay > 1h</delay>
<lifetime > 1h</lifetime>
<item_prototypes >
<item_prototype >
<name > Latency for node {#PVE_NODE_NAME}</name>
<type > DEPENDENT</type>
<key > net.icmp.info[{#PVE_NODE_IP},latency]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<value_type > FLOAT</value_type>
<units > s</units>
<applications >
<application >
<name > Latency</name>
</application>
<application >
<name > Network</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.latency</params>
</step>
</preprocessing>
<master_item >
<key > net.icmp[{#PVE_NODE_IP},all]</key>
</master_item>
<trigger_prototypes >
<trigger_prototype >
<expression > {avg(10m)}> {$PVE_NODE_MAX_LATENCY}</expression>
<name > High latency with {#PVE_NODE_NAME}</name>
<priority > WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Ping loss for node {#PVE_NODE_NAME}</name>
<type > DEPENDENT</type>
<key > net.icmp.info[{#PVE_NODE_IP},loss]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<applications >
<application >
<name > Latency</name>
</application>
<application >
<name > Network</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.loss</params>
</step>
</preprocessing>
<master_item >
<key > net.icmp[{#PVE_NODE_IP},all]</key>
</master_item>
<trigger_prototypes >
<trigger_prototype >
<expression > {avg(15m)}> {$PVE_NODE_MAX_LOSS}</expression>
<name > Ping loss with {#PVE_NODE_NAME}</name>
<priority > WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Ping response for node {#PVE_NODE_NAME}</name>
<type > DEPENDENT</type>
<key > net.icmp.info[{#PVE_NODE_IP},respond]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<applications >
<application >
<name > Latency</name>
</application>
<application >
<name > Network</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.respond</params>
</step>
</preprocessing>
<master_item >
<key > net.icmp[{#PVE_NODE_IP},all]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ICMP stats for node {#PVE_NODE_NAME}</name>
<key > net.icmp[{#PVE_NODE_IP},all]</key>
<delay > 30s</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Latency</name>
</application>
<application >
<name > Network</name>
</application>
</applications>
</item_prototype>
</item_prototypes>
<graph_prototypes >
<graph_prototype >
<name > Réponse du node {#PVE_NODE_NAME}</name>
<ymin_type_1 > FIXED</ymin_type_1>
<graph_items >
<graph_item >
<drawtype > GRADIENT_LINE</drawtype>
<color > 4CAF50</color>
<item >
<host > Template_OS_Linux_Server</host>
<key > net.icmp.info[{#PVE_NODE_IP},latency]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > F63100</color>
<yaxisside > RIGHT</yaxisside>
<item >
<host > Template_OS_Linux_Server</host>
<key > net.icmp.info[{#PVE_NODE_IP},loss]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
</discovery_rule>
<discovery_rule >
<name > HP SmartArray RAID discovery</name>
<key > raid.hp.discovery</key>
<delay > 2h</delay>
<lifetime > 10d</lifetime>
<item_prototypes >
<item_prototype >
<name > RAID status for slot {#SLOT}</name>
<key > raid.hp.status[{#SLOT}]</key>
<delay > 15m</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Disks</name>
</application>
<application >
<name > Hardware</name>
</application>
<application >
<name > Integrity</name>
</application>
</applications>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {nodata(1h)}=1</expression>
<name > No monitoring for RAID slot {#SLOT}</name>
<priority > WARNING</priority>
</trigger_prototype>
<trigger_prototype >
<expression > {str(OK)} = 0 or {str(CRITICAL)} = 1</expression>
<name > RAID issue (controler {#MODEL}, slot {#SLOT})</name>
<priority > HIGH</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
<request_method > POST</request_method>
</discovery_rule>
<discovery_rule >
<name > megaraid RAID discovery</name>
<key > raid.mega.discovery</key>
<delay > 2h</delay>
<lifetime > 1d</lifetime>
<item_prototypes >
<item_prototype >
<name > MegaRAID status ({#CONTROLLERNO})</name>
<key > raid.mega.status[{$MEGARAID_SPARES},{$MEGARAID_IGNORE_OTHER},{$MEGARAID_IGNORE_MEDIA},{#CONTROLLERNO}]</key>
<delay > 15m</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Disks</name>
</application>
<application >
<name > Hardware</name>
</application>
</applications>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {str(CRITICAL)}=1</expression>
<name > Degraded RAID on controler {#CONTROLLERNO}</name>
<priority > HIGH</priority>
</trigger_prototype>
<trigger_prototype >
<expression > {str(OK: Drives:0)}=1 or ({str(OK)}=0 and {str(WARNING)}=0 and {str(CRITICAL)}=0)</expression>
<name > RAID monitoring problem on {#CONTROLLERNO}</name>
<priority > WARNING</priority>
</trigger_prototype>
<trigger_prototype >
<expression > {str(WARNING)}=1</expression>
<name > RAID warning on controler {#CONTROLLERNO}</name>
<priority > AVERAGE</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
<trigger_prototypes >
<trigger_prototype >
<expression > {Template_OS_Linux_Server:raid.mega.status[{$MEGARAID_SPARES},{$MEGARAID_IGNORE_OTHER},{$MEGARAID_IGNORE_MEDIA},{#CONTROLLERNO}].nodata(1h)}=1 and {Template_OS_Linux_Server:net.tcp.service[tcp,,{$ZBX_AGENT_PORT}].min(1800)}> 0</expression>
<name > No monitoring for RAID controler {#CONTROLLERNO}</name>
<priority > WARNING</priority>
<dependencies >
<dependency >
<name > No ping response from {HOST.IP1}</name>
<expression > {Template_OS_Linux_Server:icmpping[,2,,,2000].nodata(180,strict)}=0 and {Template_OS_Linux_Server:icmpping[,2,,,2000].sum({$DOWN_CRITICAL})}=0 and {Template_OS_Linux_Server:icmpping[,2,,,2000].dayofweek(0)}> ={$PING_ALERT_FROM_DAY} and {Template_OS_Linux_Server:icmpping[,2,,,2000].dayofweek(0)}< ={$PING_ALERT_TO_DAY} and {Template_OS_Linux_Server:icmpping[,2,,,2000].time(0)}> ={$PING_ALERT_FROM_HOUR} and {Template_OS_Linux_Server:icmpping[,2,,,2000].time(0)}< ={$PING_ALERT_TO_HOUR}</expression>
<recovery_expression > {Template_OS_Linux_Server:icmpping[,2,,,2000].sum(180)}> 3</recovery_expression>
</dependency>
<dependency >
<name > Unreachable Zabbix agent</name>
<expression > {Template_OS_Linux_Server:agent.ping.nodata({$ZBX_UNREACHABLE_TIMEOUT})}=1 and {Template_OS_Linux_Server:icmpping[,2,,,2000].nodata(120,strict)} = 0 and {Template_OS_Linux_Server:icmpping[,2,,,2000].sum(120)}> 0</expression>
</dependency>
</dependencies>
</trigger_prototype>
</trigger_prototypes>
<request_method > POST</request_method>
</discovery_rule>
<discovery_rule >
<name > mdadm RAID discovery</name>
<key > raid.sw.discovery</key>
<delay > 2h</delay>
<filter >
<conditions >
<condition >
<macro > {#STATUS}</macro>
<value > active</value>
<formulaid > A</formulaid>
</condition>
</conditions>
</filter>
<lifetime > 10d</lifetime>
<item_prototypes >
<item_prototype >
<name > {#DEVICE} status</name>
<key > raid.sw.status[{#DEVICE}]</key>
<delay > 10m</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Disks</name>
</application>
<application >
<name > Hardware</name>
</application>
</applications>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {str(OK)}=0 and {str(WARNING)}=0</expression>
<name > RAID volume {#DEVICE} is degraded</name>
<priority > HIGH</priority>
</trigger_prototype>
<trigger_prototype >
<expression > {str(WARNING)}=1 and {$EXT_BACKUPS}=0</expression>
<name > RAID volume {#DEVICE} is rebuilding</name>
<priority > AVERAGE</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
<trigger_prototypes >
<trigger_prototype >
<expression > {Template_OS_Linux_Server:raid.sw.status[{#DEVICE}].nodata(1h)}=1 and {Template_OS_Linux_Server:net.tcp.service[tcp,,{$ZBX_AGENT_PORT}].min(1800)}> 0</expression>
<name > No data from {#DEVICE}</name>
<priority > WARNING</priority>
<dependencies >
<dependency >
<name > No ping response from {HOST.IP1}</name>
<expression > {Template_OS_Linux_Server:icmpping[,2,,,2000].nodata(180,strict)}=0 and {Template_OS_Linux_Server:icmpping[,2,,,2000].sum({$DOWN_CRITICAL})}=0 and {Template_OS_Linux_Server:icmpping[,2,,,2000].dayofweek(0)}> ={$PING_ALERT_FROM_DAY} and {Template_OS_Linux_Server:icmpping[,2,,,2000].dayofweek(0)}< ={$PING_ALERT_TO_DAY} and {Template_OS_Linux_Server:icmpping[,2,,,2000].time(0)}> ={$PING_ALERT_FROM_HOUR} and {Template_OS_Linux_Server:icmpping[,2,,,2000].time(0)}< ={$PING_ALERT_TO_HOUR}</expression>
<recovery_expression > {Template_OS_Linux_Server:icmpping[,2,,,2000].sum(180)}> 3</recovery_expression>
</dependency>
<dependency >
<name > Unreachable Zabbix agent</name>
<expression > {Template_OS_Linux_Server:agent.ping.nodata({$ZBX_UNREACHABLE_TIMEOUT})}=1 and {Template_OS_Linux_Server:icmpping[,2,,,2000].nodata(120,strict)} = 0 and {Template_OS_Linux_Server:icmpping[,2,,,2000].sum(120)}> 0</expression>
</dependency>
</dependencies>
</trigger_prototype>
</trigger_prototypes>
<request_method > POST</request_method>
</discovery_rule>
<discovery_rule >
<name > VDO volume discovery</name>
<key > vfs.vdo.discovery[volumes]</key>
<delay > 2h</delay>
<lifetime > 10d</lifetime>
<item_prototypes >
<item_prototype >
<name > VDO: Info for {#VDO_VOL}</name>
<key > vfs.vdo.vol.all[{#VDO_VOL}]</key>
<delay > 15m</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Disks</name>
</application>
</applications>
</item_prototype>
<item_prototype >
<name > VDO: {#VDO_VOL}: Operating Mode</name>
<type > DEPENDENT</type>
<key > vfs.vdo.vol.info[{#VDO_VOL},operating_mode]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Disks</name>
</application>
<application >
<name > Integrity</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.operating_mode</params>
</step>
</preprocessing>
<master_item >
<key > vfs.vdo.vol.all[{#VDO_VOL}]</key>
</master_item>
<trigger_prototypes >
<trigger_prototype >
<expression > {str(normal)}< > 1</expression>
<name > VDO volume {#VDO_VOL} is in {ITEM.LASTVALUE1} operating mode</name>
<priority > HIGH</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > VDO: {#VDO_VOL}: Saving percent</name>
<type > DEPENDENT</type>
<key > vfs.vdo.vol.info[{#VDO_VOL},saving_percent]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<units > %</units>
<applications >
<application >
<name > Disks</name>
</application>
<application >
<name > Integrity</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.saving_percent</params>
</step>
</preprocessing>
<master_item >
<key > vfs.vdo.vol.all[{#VDO_VOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > VDO: {#VDO_VOL}: Used percent</name>
<type > DEPENDENT</type>
<key > vfs.vdo.vol.info[{#VDO_VOL},used_percent]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<units > %</units>
<applications >
<application >
<name > Disks</name>
</application>
<application >
<name > Integrity</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.used_percent</params>
</step>
</preprocessing>
<master_item >
<key > vfs.vdo.vol.all[{#VDO_VOL}]</key>
</master_item>
<trigger_prototypes >
<trigger_prototype >
<expression > {last()}> 80</expression>
<name > VDO volume {#VDO_VOL} almost full ({ITEM.LASTVALUE1})</name>
<priority > HIGH</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > VDO: {#VDO_VOL}: Version</name>
<type > DEPENDENT</type>
<key > vfs.vdo.vol.info[{#VDO_VOL},version]</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.version</params>
</step>
</preprocessing>
<master_item >
<key > vfs.vdo.vol.all[{#VDO_VOL}]</key>
</master_item>
<trigger_prototypes >
<trigger_prototype >
<expression > {diff()}=1</expression>
<name > VDO volume {#VDO_VOL} version changed</name>
<priority > WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > VDO: {#VDO_VOL}: Write Policy</name>
<type > DEPENDENT</type>
<key > vfs.vdo.vol.info[{#VDO_VOL},write_policy]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Disks</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.write_policy</params>
</step>
</preprocessing>
<master_item >
<key > vfs.vdo.vol.all[{#VDO_VOL}]</key>
</master_item>
<trigger_prototypes >
<trigger_prototype >
<expression > {diff()}=1</expression>
<name > Write policy for vol {#VDO_VOL} changed</name>
<priority > WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
<graph_prototypes >
<graph_prototype >
<name > Système: VDO: Occupation {#VDO_VOL}</name>
<ymin_type_1 > FIXED</ymin_type_1>
<graph_items >
<graph_item >
<drawtype > GRADIENT_LINE</drawtype>
<color > 1A7C11</color>
<item >
<host > Template_OS_Linux_Server</host>
<key > vfs.vdo.vol.info[{#VDO_VOL},used_percent]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > F63100</color>
<item >
<host > Template_OS_Linux_Server</host>
<key > vfs.vdo.vol.info[{#VDO_VOL},saving_percent]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
</discovery_rule>
<discovery_rule >
<name > Zimbra services discovery</name>
<key > zimbra.discovery[services]</key>
<delay > 7200</delay>
<lifetime > 10d</lifetime>
<item_prototypes >
<item_prototype >
<name > Status for {#ZM_SERVICE}</name>
<key > zimbra.status[{#ZM_SERVICE}]</key>
<delay > 15m</delay>
<history > 30d</history>
<trends > 0</trends>
<applications >
<application >
<name > Applications</name>
</application>
</applications>
<trigger_prototypes >
<trigger_prototype >
<expression > {last()}< > 1</expression>
<name > Zimbra service {#ZM_SERVICE} isn't working</name>
<priority > AVERAGE</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
</discovery_rule>
</discovery_rules>
<macros >
<macro >
<macro > {$EXT_BACKUPS}</macro>
<value > 0</value>
</macro>
<macro >
<macro > {$MAX_PROCESSES}</macro>
<value > 500</value>
</macro>
<macro >
<macro > {$MEGARAID_IGNORE_MEDIA}</macro>
<value > 0</value>
</macro>
<macro >
<macro > {$MEGARAID_IGNORE_OTHER}</macro>
<value > 0</value>
</macro>
<macro >
<macro > {$MEGARAID_SPARES}</macro>
<value > 0</value>
</macro>
<macro >
<macro > {$PVE_NODE_MAX_LATENCY}</macro>
<value > 0.005</value>
</macro>
<macro >
<macro > {$PVE_NODE_MAX_LOSS}</macro>
<value > 2</value>
</macro>
<macro >
<macro > {$REBOOT_WARN_DAY}</macro>
<value > 7200</value>
</macro>
<macro >
<macro > {$REBOOT_WARN_NIGHT}</macro>
<value > 21600</value>
</macro>
<macro >
<macro > {$ZBX_UNREACHABLE_TIMEOUT}</macro>
<value > 600</value>
</macro>
</macros>
</template>
</templates>
<triggers >
<trigger >
<expression > ({Template_OS_Linux_Server:system.uptime.last(0)}< {$REBOOT_WARN_DAY} and ({Template_OS_Linux_Server:system.uptime.time(0)}> 090000 and {Template_OS_Linux_Server:system.uptime.time(0)}< 230000)) or ({Template_OS_Linux_Server:system.uptime.last(0)}< {$REBOOT_WARN_NIGHT} and ({Template_OS_Linux_Server:system.uptime.time(0)}> 230000 or {Template_OS_Linux_Server:system.uptime.time(0)}< 090000))</expression>
<name > System has just rebooted</name>
<priority > INFO</priority>
<manual_close > YES</manual_close>
</trigger>
<trigger >
<expression > {Template_OS_Linux_Server:agent.ping.nodata({$ZBX_UNREACHABLE_TIMEOUT})}=1 and {Template_OS_Linux_Server:icmpping[,2,,,2000].nodata(120,strict)} = 0 and {Template_OS_Linux_Server:icmpping[,2,,,2000].sum(120)}> 0</expression>
<name > Unreachable Zabbix agent</name>
<priority > DISASTER</priority>
<dependencies >
<dependency >
<name > No ping information received in last 3 minutes</name>
<expression > {Template_OS_Linux_Server:icmpping[,2,,,2000].nodata(180,strict)}=1</expression>
</dependency>
<dependency >
<name > No ping response from {HOST.IP1}</name>
<expression > {Template_OS_Linux_Server:icmpping[,2,,,2000].nodata(180,strict)}=0 and {Template_OS_Linux_Server:icmpping[,2,,,2000].sum({$DOWN_CRITICAL})}=0 and {Template_OS_Linux_Server:icmpping[,2,,,2000].dayofweek(0)}> ={$PING_ALERT_FROM_DAY} and {Template_OS_Linux_Server:icmpping[,2,,,2000].dayofweek(0)}< ={$PING_ALERT_TO_DAY} and {Template_OS_Linux_Server:icmpping[,2,,,2000].time(0)}> ={$PING_ALERT_FROM_HOUR} and {Template_OS_Linux_Server:icmpping[,2,,,2000].time(0)}< ={$PING_ALERT_TO_HOUR}</expression>
<recovery_expression > {Template_OS_Linux_Server:icmpping[,2,,,2000].sum(180)}> 3</recovery_expression>
</dependency>
</dependencies>
</trigger>
</triggers>
</zabbix_export>