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.
 
 

1012 lines
43 KiB

<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>4.4</version>
<date>2020-03-02T14:08:55Z</date>
<groups>
<group>
<name>Modèles</name>
</group>
<group>
<name>Templates</name>
</group>
</groups>
<templates>
<template>
<template>Template_OS_PfSense2</template>
<name>Template_OS_PfSense2</name>
<templates>
<template>
<name>Template_Ping</name>
</template>
</templates>
<groups>
<group>
<name>Modèles</name>
</group>
<group>
<name>Templates</name>
</group>
</groups>
<applications>
<application>
<name>Disks</name>
</application>
<application>
<name>Integrity</name>
</application>
<application>
<name>Memory</name>
</application>
<application>
<name>Network</name>
</application>
<application>
<name>Processor</name>
</application>
<application>
<name>Processus</name>
</application>
</applications>
<items>
<item>
<name>TCP ping of the agent</name>
<key>agent.ping</key>
<delay>5m</delay>
<trends>1825d</trends>
<applications>
<application>
<name>Network</name>
</application>
</applications>
<valuemap>
<name>Service state</name>
</valuemap>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{nodata({$ZBX_UNREACHABLE_TIMEOUT})}=1</expression>
<name>Unreachable Zabbix agent</name>
<priority>DISASTER</priority>
<dependencies>
<dependency>
<name>No ping response from {HOST.IP1}</name>
<expression>{Template_OS_PfSense2:icmpping[,2,,,2000].sum({$DOWN_CRITICAL})}=0 and {Template_OS_PfSense2:icmpping[,2,,,2000].dayofweek(0)}&gt;={$PING_ALERT_FROM_DAY} and {Template_OS_PfSense2:icmpping[,2,,,2000].dayofweek(0)}&lt;={$PING_ALERT_TO_DAY} and {Template_OS_PfSense2:icmpping[,2,,,2000].time(0)}&gt;={$PING_ALERT_FROM_HOUR} and {Template_OS_PfSense2:icmpping[,2,,,2000].time(0)}&lt;={$PING_ALERT_TO_HOUR}</expression>
<recovery_expression>{Template_OS_PfSense2:icmpping[,2,,,2000].sum(180)}&gt;3</recovery_expression>
</dependency>
</dependencies>
</trigger>
</triggers>
</item>
<item>
<name>Maximum number of opened files</name>
<key>kernel.maxfiles</key>
<delay>1h</delay>
<history>30d</history>
<trends>0</trends>
<units>fichiers</units>
<applications>
<application>
<name>Processus</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>DNS Resolution response for $2</name>
<key>net.dns.record[127.0.0.1,{$DNS_NAME_CHECK},A,,]</key>
<history>30d</history>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>Network</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>DNS resolution for $2 is working</name>
<key>net.dns[127.0.0.1,{$DNS_NAME_CHECK},A,,]</key>
<delay>5m</delay>
<history>30d</history>
<trends>0</trends>
<applications>
<application>
<name>Network</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{max(5m)}&lt;1</expression>
<name>DNS resolution problem</name>
<priority>WARNING</priority>
</trigger>
</triggers>
</item>
<item>
<name>Opened files</name>
<key>openfiles.num</key>
<delay>5m</delay>
<trends>1825d</trends>
<units>fichiers</units>
<applications>
<application>
<name>Processus</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Number of active processes</name>
<key>proc.num[,,run]</key>
<delay>2m</delay>
<trends>1825d</trends>
<units>processus</units>
<applications>
<application>
<name>Processus</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{last(0)}&gt;{$MAX_RUNNING_PROCESSES}</expression>
<name>Lots of active processes</name>
<priority>AVERAGE</priority>
</trigger>
</triggers>
</item>
<item>
<name>Number of sshd processes</name>
<key>proc.num[sshd]</key>
<delay>5m</delay>
<history>30d</history>
<trends>0</trends>
<applications>
<application>
<name>Processus</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{last(0)}&lt;1</expression>
<name>sshd daemon isn't running</name>
<priority>AVERAGE</priority>
</trigger>
</triggers>
</item>
<item>
<name>Number of processes</name>
<key>proc.num[]</key>
<delay>5m</delay>
<trends>1825d</trends>
<units>processus</units>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{last(0)}&gt;{$MAX_PROCESSES}</expression>
<name>Lots of processes</name>
<priority>INFO</priority>
</trigger>
</triggers>
</item>
<item>
<name>CPU Load</name>
<key>system.cpu.load[,avg1]</key>
<trends>1825d</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>
<trends>1825d</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>
<trends>1825d</trends>
<value_type>FLOAT</value_type>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>CPU usage: $2</name>
<key>system.cpu.util[,interrupt,avg1]</key>
<delay>45s</delay>
<trends>1825d</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>
<delay>45s</delay>
<trends>1825d</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>
<delay>45s</delay>
<trends>1825d</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>
<delay>45s</delay>
<trends>1825d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Processor</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Swap: used</name>
<type>CALCULATED</type>
<key>system.swap.size.used</key>
<delay>10m</delay>
<trends>1825d</trends>
<units>B</units>
<params>last(&quot;system.swap.size[,total]&quot;)-last(&quot;system.swap.size[,free]&quot;)</params>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Swap: $2</name>
<key>system.swap.size[,free]</key>
<delay>10m</delay>
<trends>1825d</trends>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Free swap space in %</name>
<snmp_community>public</snmp_community>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<key>system.swap.size[,pfree]</key>
<delay>5m</delay>
<trends>1825d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<request_method>POST</request_method>
</item>
<item>
<name>Swap: $2</name>
<key>system.swap.size[,pused]</key>
<delay>10m</delay>
<trends>1825d</trends>
<value_type>FLOAT</value_type>
<units>%</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{last(0)}&gt;50</expression>
<name>High swap usage</name>
<priority>AVERAGE</priority>
</trigger>
</triggers>
</item>
<item>
<name>Swap: $2</name>
<key>system.swap.size[,total]</key>
<delay>1h</delay>
<trends>1825d</trends>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Uptime</name>
<key>system.uptime</key>
<delay>10m</delay>
<trends>1825d</trends>
<units>s</units>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>({last(0)}&lt;{$REBOOT_WARN_DAY} and ({last(0)}&gt;090000 and {last(0)}&lt;230000)) or ({last(0)}&lt;{$REBOOT_WARN_NIGHT} and ({last(0)}&gt;230000 or {last(0)}&lt;090000))</expression>
<name>{HOSTNAME} rebooted {ITEM.LASTVALUE1} ago</name>
<priority>INFO</priority>
</trigger>
</triggers>
</item>
<item>
<name>Connected users</name>
<key>system.users.num</key>
<delay>5m</delay>
<trends>1825d</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[/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>
</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>
</item>
<item>
<name>$1 hash</name>
<key>vfs.file.md5sum[/usr/sbin/sshd]</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>
</item>
<item>
<name>Memory: $1</name>
<key>vm.memory.size[active]</key>
<trends>1825d</trends>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: $1</name>
<key>vm.memory.size[buffers]</key>
<trends>1825d</trends>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: $1</name>
<key>vm.memory.size[cached]</key>
<trends>1825d</trends>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: $1</name>
<key>vm.memory.size[free]</key>
<trends>1825d</trends>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: $1</name>
<key>vm.memory.size[inactive]</key>
<trends>1825d</trends>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: $1</name>
<type>CALCULATED</type>
<key>vm.memory.size[pfree]</key>
<trends>1825d</trends>
<units>%</units>
<params>100*last(&quot;vm.memory.size[free]&quot;)/last(&quot;vm.memory.size[total]&quot;)</params>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: $1</name>
<type>CALCULATED</type>
<key>vm.memory.size[pused]</key>
<trends>1825d</trends>
<units>%</units>
<params>100*last(&quot;vm.memory.size[used]&quot;)/last(&quot;vm.memory.size[total]&quot;)</params>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: $1</name>
<key>vm.memory.size[shared]</key>
<trends>1825d</trends>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: $1</name>
<key>vm.memory.size[total]</key>
<delay>1h</delay>
<trends>1825d</trends>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: $1</name>
<key>vm.memory.size[used]</key>
<trends>1825d</trends>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
<item>
<name>Memory: $1</name>
<key>vm.memory.size[wired]</key>
<trends>1825d</trends>
<units>B</units>
<applications>
<application>
<name>Memory</name>
</application>
</applications>
<request_method>POST</request_method>
</item>
</items>
<discovery_rules>
<discovery_rule>
<name>Network interface discovery</name>
<key>net.if.discovery</key>
<delay>1h</delay>
<filter>
<conditions>
<condition>
<macro>{#IFNAME}</macro>
<value>@decouverte_interfaces_rzo</value>
<formulaid>A</formulaid>
</condition>
</conditions>
</filter>
<lifetime>10d</lifetime>
<item_prototypes>
<item_prototype>
<name>Inbound trafic on {#IFNAME}</name>
<key>net.if.in[{#IFNAME},bytes]</key>
<delay>45s</delay>
<trends>1825d</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>
<trends>1825d</trends>
<value_type>FLOAT</value_type>
<units>erreurs</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 on {#IFNAME}</name>
<key>net.if.out[{#IFNAME},bytes]</key>
<delay>45s</delay>
<trends>1825d</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>
<trends>1825d</trends>
<value_type>FLOAT</value_type>
<units>erreurs</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_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_PfSense2</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_PfSense2</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_PfSense2</host>
<key>net.if.in[{#IFNAME},errors]</key>
</item>
</graph_item>
<graph_item>
<sortorder>3</sortorder>
<drawtype>BOLD_LINE</drawtype>
<color>EE00EE</color>
<yaxisside>RIGHT</yaxisside>
<item>
<host>Template_OS_PfSense2</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>Filesystem discovery</name>
<key>vfs.fs.discovery</key>
<delay>2h</delay>
<filter>
<conditions>
<condition>
<macro>{#FSTYPE}</macro>
<value>@decouverte_fs</value>
<formulaid>A</formulaid>
</condition>
</conditions>
</filter>
<lifetime>10d</lifetime>
<item_prototypes>
<item_prototype>
<name>Free space on {#FSNAME}</name>
<key>vfs.fs.size[{#FSNAME},free]</key>
<delay>10m</delay>
<trends>1825d</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>
<trends>1825d</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_CRITICAL}</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>AVERAGE</priority>
</trigger_prototype>
<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>
<dependencies>
<dependency>
<name>{#FSNAME} is {ITEM.LASTVALUE1} full</name>
<expression>{Template_OS_PfSense2:vfs.fs.size[{#FSNAME},pused].last(0)}&gt;{$DF_CRITICAL}</expression>
<recovery_expression>{Template_OS_PfSense2:vfs.fs.size[{#FSNAME},pused].last(0)}&lt;({$DF_WARN}-2)</recovery_expression>
</dependency>
</dependencies>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype>
<name>Used space on {#FSNAME}</name>
<key>vfs.fs.size[{#FSNAME},used]</key>
<delay>10m</delay>
<trends>1825d</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_rules>
<macros>
<macro>
<macro>{$DF_CRITICAL}</macro>
<value>90</value>
</macro>
<macro>
<macro>{$DF_WARN}</macro>
<value>80</value>
</macro>
<macro>
<macro>{$DNS_NAME_CHECK}</macro>
<value>zbx.fws.fr.</value>
</macro>
<macro>
<macro>{$MAX_FILES}</macro>
<value>12328</value>
</macro>
<macro>
<macro>{$MAX_PROCESSES}</macro>
<value>200</value>
</macro>
<macro>
<macro>{$MAX_RUNNING_PROCESSES}</macro>
<value>15</value>
</macro>
<macro>
<macro>{$MAX_USERS}</macro>
<value>5</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>900</value>
</macro>
</macros>
</template>
</templates>
<triggers>
<trigger>
<expression>{Template_OS_PfSense2:openfiles.num.last(0)}&gt;({Template_OS_PfSense2:kernel.maxfiles.last(0)}-2000)</expression>
<name>Lots of opened files</name>
<priority>AVERAGE</priority>
</trigger>
</triggers>
<graphs>
<graph>
<name>System: CPU: Load</name>
<graph_items>
<graph_item>
<color>009900</color>
<item>
<host>Template_OS_PfSense2</host>
<key>system.cpu.load[,avg1]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<color>FF0000</color>
<item>
<host>Template_OS_PfSense2</host>
<key>system.cpu.load[,avg15]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<color>CCCC00</color>
<item>
<host>Template_OS_PfSense2</host>
<key>system.cpu.load[,avg5]</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>DD00DD</color>
<item>
<host>Template_OS_PfSense2</host>
<key>system.cpu.util[,interrupt,avg1]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<drawtype>FILLED_REGION</drawtype>
<color>EEEE00</color>
<item>
<host>Template_OS_PfSense2</host>
<key>system.cpu.util[,user,avg1]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<drawtype>FILLED_REGION</drawtype>
<color>EE0000</color>
<item>
<host>Template_OS_PfSense2</host>
<key>system.cpu.util[,system,avg1]</key>
</item>
</graph_item>
<graph_item>
<sortorder>3</sortorder>
<drawtype>FILLED_REGION</drawtype>
<color>0000DD</color>
<item>
<host>Template_OS_PfSense2</host>
<key>system.cpu.util[,nice,avg1]</key>
</item>
</graph_item>
</graph_items>
</graph>
<graph>
<name>System: Memory</name>
<show_work_period>NO</show_work_period>
<show_triggers>NO</show_triggers>
<type>STACKED</type>
<graph_items>
<graph_item>
<color>0000CC</color>
<item>
<host>Template_OS_PfSense2</host>
<key>vm.memory.size[used]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<color>00BB00</color>
<item>
<host>Template_OS_PfSense2</host>
<key>vm.memory.size[inactive]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<drawtype>FILLED_REGION</drawtype>
<color>99FFFF</color>
<item>
<host>Template_OS_PfSense2</host>
<key>vm.memory.size[free]</key>
</item>
</graph_item>
</graph_items>
</graph>
<graph>
<name>System: Processes</name>
<graph_items>
<graph_item>
<drawtype>FILLED_REGION</drawtype>
<color>EE0000</color>
<item>
<host>Template_OS_PfSense2</host>
<key>proc.num[,,run]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<drawtype>FILLED_REGION</drawtype>
<color>FFFF33</color>
<item>
<host>Template_OS_PfSense2</host>
<key>proc.num[]</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_PfSense2</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>