Add basic SNMP templates

tags/zabbix-agent-addons-0.2.117-1
Daniel Berteaud 4 years ago
parent a8a6bf8960
commit bbcef9d0cf
  1. 107
      zabbix_templates/Template_SNMP_Device.xml
  2. 423
      zabbix_templates/Template_SNMP_Interfaces.xml
  3. 46
      zabbix_templates/Template_SNMP_Switch_Generic.xml

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>4.4</version>
<date>2020-03-02T14:10:14Z</date>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<templates>
<template>
<template>Model_SNMP_Device</template>
<name>Model_SNMP_Device</name>
<templates>
<template>
<name>Template_Ping</name>
</template>
</templates>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<items>
<item>
<name>Contact</name>
<type>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<snmp_oid>SNMPv2-MIB::sysContact.0</snmp_oid>
<key>sysContact</key>
<delay>2h</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<request_method>POST</request_method>
</item>
<item>
<name>Description</name>
<type>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<snmp_oid>SNMPv2-MIB::sysDescr.0</snmp_oid>
<key>sysDescr</key>
<delay>2h</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<request_method>POST</request_method>
</item>
<item>
<name>Location</name>
<type>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<snmp_oid>SNMPv2-MIB::sysLocation.0</snmp_oid>
<key>sysLocation</key>
<delay>2h</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<request_method>POST</request_method>
</item>
<item>
<name>Device name</name>
<type>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<snmp_oid>SNMPv2-MIB::sysName.0</snmp_oid>
<key>sysName</key>
<delay>2h</delay>
<history>30d</history>
<trends>0</trends>
<value_type>CHAR</value_type>
<request_method>POST</request_method>
</item>
<item>
<name>Uptime</name>
<type>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<snmp_oid>DISMAN-EVENT-MIB::sysUpTimeInstance</snmp_oid>
<key>sysUpTimeInstance</key>
<delay>10m</delay>
<history>30d</history>
<trends>730d</trends>
<units>s</units>
<preprocessing>
<step>
<type>MULTIPLIER</type>
<params>0.01</params>
</step>
</preprocessing>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{last()}&lt;7200</expression>
<name>Device rebooted {ITEM.LASTVALUE1} ago</name>
<priority>WARNING</priority>
</trigger>
</triggers>
</item>
</items>
<macros>
<macro>
<macro>{$SNMP_COMMUNITY}</macro>
<value>public</value>
</macro>
</macros>
</template>
</templates>
</zabbix_export>

@ -0,0 +1,423 @@
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>4.4</version>
<date>2020-03-02T14:10:38Z</date>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<templates>
<template>
<template>Model_SNMP_Interfaces</template>
<name>Model_SNMP_Interfaces</name>
<templates>
<template>
<name>Model_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>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<snmp_oid>discovery[{#IFINDEX},IF-MIB::ifIndex,{#IFNAME},IF-MIB::ifName,{#IFDESCR},IF-MIB::ifDescr,{#IFSTATUS},IF-MIB::ifOperStatus]</snmp_oid>
<key>ifIndex.discovery</key>
<delay>1h</delay>
<filter>
<conditions>
<condition>
<macro>{#IFSTATUS}</macro>
<value>^(1|2)$</value>
<formulaid>B</formulaid>
</condition>
<condition>
<macro>{#IFNAME}</macro>
<value>^Po[1-9]\d\d?</value>
<operator>NOT_MATCHES_REGEX</operator>
<formulaid>A</formulaid>
</condition>
</conditions>
</filter>
<lifetime>2d</lifetime>
<item_prototypes>
<item_prototype>
<name>Admin status of {#IFNAME}</name>
<type>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<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>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<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>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<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>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<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>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<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>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<snmp_oid>IF-MIB::ifHCInOctets.{#SNMPINDEX}</snmp_oid>
<key>ifInOctets[{#IFINDEX},{#SNMPINDEX}]</key>
<delay>5m</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>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<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>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<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>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<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>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<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>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<snmp_oid>IF-MIB::ifHCOutOctets.{#SNMPINDEX}</snmp_oid>
<key>ifOutOctets[{#IFINDEX},{#SNMPINDEX}]</key>
<delay>5m</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 ({Model_SNMP_Interfaces:sysUpTimeInstance.last()}-{Model_SNMP_Interfaces:ifLastChange[{#IFINDEX},{#SNMPINDEX}].last()})&lt;1800 and {Model_SNMP_Interfaces:ifLastChange[{#IFINDEX},{#SNMPINDEX}].last()} &gt; 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.9500</percent_left>
<percent_right>0.9500</percent_right>
<graph_items>
<graph_item>
<drawtype>FILLED_REGION</drawtype>
<color>00CF00</color>
<item>
<host>Model_SNMP_Interfaces</host>
<key>ifInOctets[{#IFINDEX},{#SNMPINDEX}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<drawtype>BOLD_LINE</drawtype>
<color>002A97</color>
<yaxisside>RIGHT</yaxisside>
<item>
<host>Model_SNMP_Interfaces</host>
<key>ifOutOctets[{#IFINDEX},{#SNMPINDEX}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<drawtype>GRADIENT_LINE</drawtype>
<color>FFAB00</color>
<yaxisside>RIGHT</yaxisside>
<item>
<host>Model_SNMP_Interfaces</host>
<key>ifInDiscards[{#IFINDEX},{#SNMPINDEX}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>3</sortorder>
<drawtype>GRADIENT_LINE</drawtype>
<color>F51D30</color>
<yaxisside>RIGHT</yaxisside>
<item>
<host>Model_SNMP_Interfaces</host>
<key>ifInErrors[{#IFINDEX},{#SNMPINDEX}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>4</sortorder>
<drawtype>GRADIENT_LINE</drawtype>
<color>C4FD3D</color>
<yaxisside>RIGHT</yaxisside>
<item>
<host>Model_SNMP_Interfaces</host>
<key>ifOutDiscards[{#IFINDEX},{#SNMPINDEX}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>5</sortorder>
<drawtype>GRADIENT_LINE</drawtype>
<color>00694A</color>
<yaxisside>RIGHT</yaxisside>
<item>
<host>Model_SNMP_Interfaces</host>
<key>ifOutErrors[{#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>

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>4.4</version>
<date>2020-03-02T14:11:04Z</date>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<templates>
<template>
<template>Model_Switch_Generic</template>
<name>Model_Switch_Generic</name>
<templates>
<template>
<name>Model_SNMP_Interfaces</name>
</template>
</templates>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<items>
<item>
<name>IP Forwarding</name>
<type>SNMPV2</type>
<snmp_community>{$SNMP_COMMUNITY}</snmp_community>
<snmp_oid>IP-MIB::ipForwarding.0</snmp_oid>
<key>ipForwarding</key>
<delay>15m</delay>
<history>30d</history>
<trends>0</trends>
<request_method>POST</request_method>
<triggers>
<trigger>
<expression>{diff()}=1</expression>
<name>La configuration de l'IP forwarding a changé</name>
<priority>WARNING</priority>
</trigger>
</triggers>
</item>
</items>
</template>
</templates>
</zabbix_export>
Loading…
Cancel
Save