<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export >
<version > 5.0</version>
<date > 2021-06-19T10:41:36Z</date>
<groups >
<group >
<name > Templates</name>
</group>
</groups>
<templates >
<template >
<template > Template_SNMP_Interfaces</template>
<name > Template_SNMP_Interfaces</name>
<templates >
<template >
<name > Template_SNMP_Device</name>
</template>
</templates>
<groups >
<group >
<name > Templates</name>
</group>
</groups>
<applications >
<application >
<name > Interface(s)</name>
</application>
</applications>
<discovery_rules >
<discovery_rule >
<name > Interfaces</name>
<type > SNMP_AGENT</type>
<snmp_oid > discovery[{#IFINDEX},IF-MIB::ifIndex,{#IFNAME},IF-MIB::ifName,{#IFDESCR},IF-MIB::ifDescr,{#IFSTATUS},IF-MIB::ifOperStatus,{#IFTYPE},IF-MIB::ifType]</snmp_oid>
<key > ifIndex.discovery</key>
<delay > 1h</delay>
<filter >
<evaltype > AND</evaltype>
<conditions >
<condition >
<macro > {#IFSTATUS}</macro>
<value > ^(1|2)$</value>
<formulaid > C</formulaid>
</condition>
<condition >
<macro > {#IFNAME}</macro>
<value > ^Po[1-9]\d\d?</value>
<operator > NOT_MATCHES_REGEX</operator>
<formulaid > B</formulaid>
</condition>
<condition >
<macro > {#IFNAME}</macro>
<value > ^0/3/\d\d+</value>
<operator > NOT_MATCHES_REGEX</operator>
<formulaid > A</formulaid>
</condition>
<condition >
<macro > {#IFTYPE}</macro>
<value > ^(6|161|200|169|56|23)$</value>
<formulaid > D</formulaid>
</condition>
</conditions>
</filter>
<lifetime > 2d</lifetime>
<item_prototypes >
<item_prototype >
<name > Admin status of {#IFNAME}</name>
<type > SNMP_AGENT</type>
<snmp_oid > IF-MIB::ifAdminStatus.{#SNMPINDEX}</snmp_oid>
<key > ifAdminStatus[{#IFINDEX},{#SNMPINDEX}]</key>
<delay > 6h</delay>
<history > 30d</history>
<trends > 0</trends>
<applications >
<application >
<name > Interface(s)</name>
</application>
</applications>
<preprocessing >
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > {#IFNAME} interface alias</name>
<type > SNMP_AGENT</type>
<snmp_oid > IF-MIB::ifAlias.{#SNMPINDEX}</snmp_oid>
<key > ifAlias[{#IFINDEX},{#SNMPINDEX}]</key>
<delay > 6h</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Interface(s)</name>
</application>
</applications>
<preprocessing >
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > {#IFNAME} interface description</name>
<type > SNMP_AGENT</type>
<snmp_oid > IF-MIB::ifDescr.{#SNMPINDEX}</snmp_oid>
<key > ifDescr[{#IFINDEX},{#SNMPINDEX}]</key>
<delay > 6h</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Interface(s)</name>
</application>
</applications>
<preprocessing >
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Rejected inbound packets on {#IFNAME}</name>
<type > SNMP_AGENT</type>
<snmp_oid > IF-MIB::ifInDiscards.{#SNMPINDEX}</snmp_oid>
<key > ifInDiscards[{#IFINDEX},{#SNMPINDEX}]</key>
<delay > 1h</delay>
<history > 30d</history>
<trends > 730d</trends>
<applications >
<application >
<name > Interface(s)</name>
</application>
</applications>
<preprocessing >
<step >
<type > SIMPLE_CHANGE</type>
<params />
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Inbound errors on {#IFNAME}</name>
<type > SNMP_AGENT</type>
<snmp_oid > IF-MIB::ifInErrors.{#SNMPINDEX}</snmp_oid>
<key > ifInErrors[{#IFINDEX},{#SNMPINDEX}]</key>
<delay > 15m</delay>
<history > 30d</history>
<trends > 730d</trends>
<applications >
<application >
<name > Interface(s)</name>
</application>
</applications>
<preprocessing >
<step >
<type > SIMPLE_CHANGE</type>
<params />
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Inbound trafic on {#IFNAME}</name>
<type > SNMP_AGENT</type>
<snmp_oid > IF-MIB::ifHCInOctets.{#SNMPINDEX}</snmp_oid>
<key > ifInOctets[{#IFINDEX},{#SNMPINDEX}]</key>
<delay > 3m</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Interface(s)</name>
</application>
</applications>
<preprocessing >
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 3200</params>
</step>
</preprocessing>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Last state change for {#IFNAME}</name>
<type > SNMP_AGENT</type>
<snmp_oid > IF-MIB::ifLastChange.{#SNMPINDEX}</snmp_oid>
<key > ifLastChange[{#IFINDEX},{#SNMPINDEX}]</key>
<delay > 10m</delay>
<history > 30d</history>
<trends > 0</trends>
<units > s</units>
<applications >
<application >
<name > Interface(s)</name>
</application>
</applications>
<preprocessing >
<step >
<type > MULTIPLIER</type>
<params > 0.01</params>
</step>
</preprocessing>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Operational status of {#IFNAME}</name>
<type > SNMP_AGENT</type>
<snmp_oid > IF-MIB::ifOperStatus.{#SNMPINDEX}</snmp_oid>
<key > ifOperStatus[{#IFINDEX},{#SNMPINDEX}]</key>
<delay > 10m</delay>
<history > 30d</history>
<trends > 0</trends>
<applications >
<application >
<name > Interface(s)</name>
</application>
</applications>
<preprocessing >
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Rejected outbound packets on {#IFNAME}</name>
<type > SNMP_AGENT</type>
<snmp_oid > IF-MIB::ifOutDiscards.{#SNMPINDEX}</snmp_oid>
<key > ifOutDiscards[{#IFINDEX},{#SNMPINDEX}]</key>
<delay > 1h</delay>
<history > 30d</history>
<trends > 730d</trends>
<applications >
<application >
<name > Interface(s)</name>
</application>
</applications>
<preprocessing >
<step >
<type > SIMPLE_CHANGE</type>
<params />
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Outbound errors on {#IFNAME}</name>
<type > SNMP_AGENT</type>
<snmp_oid > IF-MIB::ifOutErrors.{#SNMPINDEX}</snmp_oid>
<key > ifOutErrors[{#IFINDEX},{#SNMPINDEX}]</key>
<delay > 15m</delay>
<history > 30d</history>
<trends > 730d</trends>
<applications >
<application >
<name > Interface(s)</name>
</application>
</applications>
<preprocessing >
<step >
<type > SIMPLE_CHANGE</type>
<params />
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Outbound trafic on {#IFNAME}</name>
<type > SNMP_AGENT</type>
<snmp_oid > IF-MIB::ifHCOutOctets.{#SNMPINDEX}</snmp_oid>
<key > ifOutOctets[{#IFINDEX},{#SNMPINDEX}]</key>
<delay > 3m</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Interface(s)</name>
</application>
</applications>
<preprocessing >
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 3200</params>
</step>
</preprocessing>
<request_method > POST</request_method>
</item_prototype>
</item_prototypes>
<trigger_prototypes >
<trigger_prototype >
<expression > {$ALERT_ON_IF_CHANGE}=1 and ({Template_SNMP_Interfaces:sysUpTimeInstance.last()}-{Template_SNMP_Interfaces:ifLastChange[{#IFINDEX},{#SNMPINDEX}].last()})< 1800 and {Template_SNMP_Interfaces:ifLastChange[{#IFINDEX},{#SNMPINDEX}].last()} > 0</expression>
<name > {#IFNAME} state changed</name>
<priority > AVERAGE</priority>
</trigger_prototype>
</trigger_prototypes>
<graph_prototypes >
<graph_prototype >
<name > Trafic on {#IFNAME} ({#IFINDEX} - {#IFDESCR})</name>
<percent_left > 0.95</percent_left>
<percent_right > 0.95</percent_right>
<graph_items >
<graph_item >
<drawtype > GRADIENT_LINE</drawtype>
<color > 00CF00</color>
<item >
<host > Template_SNMP_Interfaces</host>
<key > ifInOctets[{#IFINDEX},{#SNMPINDEX}]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<drawtype > GRADIENT_LINE</drawtype>
<color > 002A97</color>
<yaxisside > RIGHT</yaxisside>
<item >
<host > Template_SNMP_Interfaces</host>
<key > ifOutOctets[{#IFINDEX},{#SNMPINDEX}]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
<request_method > POST</request_method>
</discovery_rule>
</discovery_rules>
<macros >
<macro >
<macro > {$ALERT_ON_IF_CHANGE}</macro>
<value > 0</value>
</macro>
<macro >
<macro > {$SNMP_COMMUNITY}</macro>
<value > public</value>
</macro>
</macros>
</template>
</templates>
</zabbix_export>