Templates Datacom DmOS

This commit is contained in:
HalbeBruno
2026-04-14 09:13:49 -03:00
parent 8b827dbef5
commit 6aa87a8a2b
2 changed files with 47 additions and 754 deletions

View File

@@ -421,567 +421,6 @@ Trigger activate if PSU Status is different from OK (0) and difference between p
</item_prototype>
</item_prototypes>
</discovery_rule>
<discovery_rule>
<uuid>f4362dd3f8414e05a7eae2d1a13249ab</uuid>
<name>SNMP Discovery - Network Interfaces Discovery</name>
<type>SNMP_AGENT</type>
<snmp_oid>discovery[{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3]</snmp_oid>
<key>net.if.discovery</key>
<delay>1h</delay>
<filter>
<conditions>
<condition>
<macro>{#IFADMINSTATUS}</macro>
<value>{$NET.IF.IFADMINSTATUS.MATCHES}</value>
</condition>
<condition>
<macro>{#IFADMINSTATUS}</macro>
<value>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</value>
<operator>NOT_MATCHES_REGEX</operator>
</condition>
<condition>
<macro>{#IFALIAS}</macro>
<value>{$NET.IF.IFALIAS.MATCHES}</value>
</condition>
<condition>
<macro>{#IFALIAS}</macro>
<value>{$NET.IF.IFALIAS.NOT_MATCHES}</value>
<operator>NOT_MATCHES_REGEX</operator>
</condition>
<condition>
<macro>{#IFDESCR}</macro>
<value>{$NET.IF.IFDESCR.MATCHES}</value>
</condition>
<condition>
<macro>{#IFDESCR}</macro>
<value>{$NET.IF.IFDESCR.NOT_MATCHES}</value>
<operator>NOT_MATCHES_REGEX</operator>
</condition>
<condition>
<macro>{#IFNAME}</macro>
<value>{$NET.IF.IFNAME.MATCHES}</value>
</condition>
<condition>
<macro>{#IFNAME}</macro>
<value>{$NET.IF.IFNAME.NOT_MATCHES}</value>
<operator>NOT_MATCHES_REGEX</operator>
</condition>
<condition>
<macro>{#IFOPERSTATUS}</macro>
<value>{$NET.IF.IFOPERSTATUS.MATCHES}</value>
</condition>
<condition>
<macro>{#IFOPERSTATUS}</macro>
<value>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</value>
<operator>NOT_MATCHES_REGEX</operator>
</condition>
<condition>
<macro>{#IFTYPE}</macro>
<value>{$NET.IF.IFTYPE.MATCHES}</value>
</condition>
<condition>
<macro>{#IFTYPE}</macro>
<value>{$NET.IF.IFTYPE.NOT_MATCHES}</value>
<operator>NOT_MATCHES_REGEX</operator>
</condition>
</conditions>
</filter>
<description>Discovering interfaces from IF-MIB.</description>
<item_prototypes>
<item_prototype>
<uuid>f3340e49312f491da5e14ab37f22e532</uuid>
<name>Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded</name>
<type>SNMP_AGENT</type>
<snmp_oid>1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}</snmp_oid>
<key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
<delay>3m</delay>
<description>MIB: IF-MIB
The number of inbound packets which were chosen to be discarded
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.
One possible reason for discarding such a packet could be to free up buffer space.
Discontinuities in the value of this counter can occur at re-initialization of the management system,
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
</step>
</preprocessing>
<tags>
<tag>
<tag>component</tag>
<value>network</value>
</tag>
<tag>
<tag>interface</tag>
<value>{#IFNAME}</value>
</tag>
</tags>
</item_prototype>
<item_prototype>
<uuid>00ab5b76a7fd48a4ad5553b5eefa026f</uuid>
<name>Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors</name>
<type>SNMP_AGENT</type>
<snmp_oid>1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}</snmp_oid>
<key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
<delay>3m</delay>
<description>MIB: IF-MIB
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
</step>
</preprocessing>
<tags>
<tag>
<tag>component</tag>
<value>network</value>
</tag>
<tag>
<tag>interface</tag>
<value>{#IFNAME}</value>
</tag>
</tags>
</item_prototype>
<item_prototype>
<uuid>a9581c3662404ba481d06ddcd5d0c554</uuid>
<name>Interface {#IFNAME}({#IFALIAS}): Bits received</name>
<type>SNMP_AGENT</type>
<snmp_oid>1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}</snmp_oid>
<key>net.if.in[ifHCInOctets.{#SNMPINDEX}]</key>
<delay>3m</delay>
<units>bps</units>
<description>MIB: IF-MIB
The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
</step>
<step>
<type>MULTIPLIER</type>
<parameters>
<parameter>8</parameter>
</parameters>
</step>
</preprocessing>
<tags>
<tag>
<tag>component</tag>
<value>network</value>
</tag>
<tag>
<tag>interface</tag>
<value>{#IFNAME}</value>
</tag>
</tags>
</item_prototype>
<item_prototype>
<uuid>1b2eafab575d42cda071035ffc5321a8</uuid>
<name>Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded</name>
<type>SNMP_AGENT</type>
<snmp_oid>1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}</snmp_oid>
<key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
<delay>3m</delay>
<description>MIB: IF-MIB
The number of outbound packets which were chosen to be discarded
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.
One possible reason for discarding such a packet could be to free up buffer space.
Discontinuities in the value of this counter can occur at re-initialization of the management system,
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
</step>
</preprocessing>
<tags>
<tag>
<tag>component</tag>
<value>network</value>
</tag>
<tag>
<tag>interface</tag>
<value>{#IFNAME}</value>
</tag>
</tags>
</item_prototype>
<item_prototype>
<uuid>5e1ed90e871b4edf9d64ce5c940c140e</uuid>
<name>Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors</name>
<type>SNMP_AGENT</type>
<snmp_oid>1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}</snmp_oid>
<key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
<delay>3m</delay>
<description>MIB: IF-MIB
For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
</step>
</preprocessing>
<tags>
<tag>
<tag>component</tag>
<value>network</value>
</tag>
<tag>
<tag>interface</tag>
<value>{#IFNAME}</value>
</tag>
</tags>
</item_prototype>
<item_prototype>
<uuid>c37f525026474c23b5beeade04369f55</uuid>
<name>Interface {#IFNAME}({#IFALIAS}): Bits sent</name>
<type>SNMP_AGENT</type>
<snmp_oid>1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}</snmp_oid>
<key>net.if.out[ifHCOutOctets.{#SNMPINDEX}]</key>
<delay>3m</delay>
<units>bps</units>
<description>MIB: IF-MIB
The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
<preprocessing>
<step>
<type>CHANGE_PER_SECOND</type>
</step>
<step>
<type>MULTIPLIER</type>
<parameters>
<parameter>8</parameter>
</parameters>
</step>
</preprocessing>
<tags>
<tag>
<tag>component</tag>
<value>network</value>
</tag>
<tag>
<tag>interface</tag>
<value>{#IFNAME}</value>
</tag>
</tags>
</item_prototype>
<item_prototype>
<uuid>df681c05a7004430ad5699bf43744cda</uuid>
<name>Interface {#IFNAME}({#IFALIAS}): Speed</name>
<type>SNMP_AGENT</type>
<snmp_oid>1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}</snmp_oid>
<key>net.if.speed[ifHighSpeed.{#SNMPINDEX}]</key>
<delay>5m</delay>
<trends>0</trends>
<units>bps</units>
<description>MIB: IF-MIB
An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of `n' then the speed of the interface is somewhere in the range of `n-500,000' to`n+499,999'. For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth. For a sub-layer which has no concept of bandwidth, this object should be zero.</description>
<preprocessing>
<step>
<type>MULTIPLIER</type>
<parameters>
<parameter>1000000</parameter>
</parameters>
</step>
<step>
<type>DISCARD_UNCHANGED_HEARTBEAT</type>
<parameters>
<parameter>1h</parameter>
</parameters>
</step>
</preprocessing>
<tags>
<tag>
<tag>component</tag>
<value>network</value>
</tag>
<tag>
<tag>interface</tag>
<value>{#IFNAME}</value>
</tag>
</tags>
</item_prototype>
<item_prototype>
<uuid>7456c0f902b047398aa07de75aa26de1</uuid>
<name>Interface {#IFNAME}({#IFALIAS}): Operational status</name>
<type>SNMP_AGENT</type>
<snmp_oid>1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}</snmp_oid>
<key>net.if.status[ifOperStatus.{#SNMPINDEX}]</key>
<trends>0</trends>
<description>MIB: IF-MIB
The current operational state of the interface.
- The testing(3) state indicates that no operational packet scan be passed
- If ifAdminStatus is down(2) then ifOperStatus should be down(2)
- If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic
- It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)
- It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state
- It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.</description>
<valuemap>
<name>IF-MIB::ifOperStatus</name>
</valuemap>
<tags>
<tag>
<tag>component</tag>
<value>network</value>
</tag>
<tag>
<tag>interface</tag>
<value>{#IFNAME}</value>
</tag>
</tags>
<trigger_prototypes>
<trigger_prototype>
<uuid>9c042fb9de884b50a80259616016722d</uuid>
<expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)&lt;&gt;last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))</expression>
<recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression>last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])&lt;&gt;2 or {$IFCONTROL:&quot;{#IFNAME}&quot;}=0</recovery_expression>
<name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
<opdata>Current state: {ITEM.LASTVALUE1}</opdata>
<priority>AVERAGE</priority>
<description>This trigger expression works as follows:
1. It can be triggered if the operations status is down.
2. `{$IFCONTROL:&quot;{#IFNAME}&quot;}=1` - a user can redefine the context macro to &quot;0&quot;, marking this interface as not important. No new trigger will be fired if this interface is down.
3. `{TEMPLATE_NAME:METRIC.diff()}=1` - the trigger fires only if the operational status was up to (1) sometime before (so, does not fire for &quot;eternal off&quot; interfaces.)
WARNING: if closed manually - it will not fire again on the next poll, because of .diff.</description>
<manual_close>YES</manual_close>
<tags>
<tag>
<tag>scope</tag>
<value>availability</value>
</tag>
</tags>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype>
<uuid>f4d4a3b2dfde4c97a7b7ad97298e95ab</uuid>
<name>Interface {#IFNAME}({#IFALIAS}): Interface type</name>
<type>SNMP_AGENT</type>
<snmp_oid>1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}</snmp_oid>
<key>net.if.type[ifType.{#SNMPINDEX}]</key>
<delay>1h</delay>
<trends>0</trends>
<description>MIB: IF-MIB
The type of interface.
Additional values for ifType are assigned by the Internet Assigned Numbers Authority (IANA),
through updating the syntax of the IANAifType textual convention.</description>
<valuemap>
<name>IF-MIB::ifType</name>
</valuemap>
<preprocessing>
<step>
<type>DISCARD_UNCHANGED_HEARTBEAT</type>
<parameters>
<parameter>1d</parameter>
</parameters>
</step>
</preprocessing>
<tags>
<tag>
<tag>component</tag>
<value>network</value>
</tag>
<tag>
<tag>interface</tag>
<value>{#IFNAME}</value>
</tag>
</tags>
</item_prototype>
</item_prototypes>
<trigger_prototypes>
<trigger_prototype>
<uuid>763cbe562ea14bd9bb3f88be5ca2d7c9</uuid>
<expression>change(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}])&lt;0 and last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}])&gt;0
and (
last(/IPv0 - Template Datacom DmOS/net.if.type[ifType.{#SNMPINDEX}])=6 or
last(/IPv0 - Template Datacom DmOS/net.if.type[ifType.{#SNMPINDEX}])=7 or
last(/IPv0 - Template Datacom DmOS/net.if.type[ifType.{#SNMPINDEX}])=11 or
last(/IPv0 - Template Datacom DmOS/net.if.type[ifType.{#SNMPINDEX}])=62 or
last(/IPv0 - Template Datacom DmOS/net.if.type[ifType.{#SNMPINDEX}])=69 or
last(/IPv0 - Template Datacom DmOS/net.if.type[ifType.{#SNMPINDEX}])=117
)
and
(last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])&lt;&gt;2)</expression>
<recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression>(change(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}])&gt;0 and last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)&gt;0) or
(last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])=2)</recovery_expression>
<name>Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before</name>
<opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
<priority>INFO</priority>
<description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge to close the problem manually.</description>
<manual_close>YES</manual_close>
<dependencies>
<dependency>
<name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
<expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)&lt;&gt;last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))</expression>
<recovery_expression>last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])&lt;&gt;2 or {$IFCONTROL:&quot;{#IFNAME}&quot;}=0</recovery_expression>
</dependency>
</dependencies>
<tags>
<tag>
<tag>scope</tag>
<value>performance</value>
</tag>
</tags>
</trigger_prototype>
<trigger_prototype>
<uuid>b6b21d02d74d454b8936fbfc7c4db86d</uuid>
<expression>(avg(/IPv0 - Template Datacom DmOS/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or
avg(/IPv0 - Template Datacom DmOS/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and
last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}])&gt;0</expression>
<recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression>avg(/IPv0 - Template Datacom DmOS/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and
avg(/IPv0 - Template Datacom DmOS/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}])</recovery_expression>
<name>Interface {#IFNAME}({#IFALIAS}): High bandwidth usage</name>
<event_name>Interface {#IFNAME}({#IFALIAS}): High bandwidth usage (&gt;{$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}%)</event_name>
<opdata>In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}</opdata>
<priority>WARNING</priority>
<description>The utilization of the network interface is close to its estimated maximum bandwidth.</description>
<manual_close>YES</manual_close>
<dependencies>
<dependency>
<name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
<expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)&lt;&gt;last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))</expression>
<recovery_expression>last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])&lt;&gt;2 or {$IFCONTROL:&quot;{#IFNAME}&quot;}=0</recovery_expression>
</dependency>
</dependencies>
<tags>
<tag>
<tag>scope</tag>
<value>performance</value>
</tag>
</tags>
</trigger_prototype>
<trigger_prototype>
<uuid>f59d7ea314364649a5022cc095ac9871</uuid>
<expression>min(/IPv0 - Template Datacom DmOS/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}
or min(/IPv0 - Template Datacom DmOS/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}</expression>
<recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression>max(/IPv0 - Template Datacom DmOS/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8
and max(/IPv0 - Template Datacom DmOS/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
<name>Interface {#IFNAME}({#IFALIAS}): High error rate</name>
<event_name>Interface {#IFNAME}({#IFALIAS}): High error rate (&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} for 5m)</event_name>
<opdata>errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}</opdata>
<priority>WARNING</priority>
<description>It recovers when it is below 80% of the `{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}` threshold.</description>
<manual_close>YES</manual_close>
<dependencies>
<dependency>
<name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
<expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)&lt;&gt;last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))</expression>
<recovery_expression>last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])&lt;&gt;2 or {$IFCONTROL:&quot;{#IFNAME}&quot;}=0</recovery_expression>
</dependency>
</dependencies>
<tags>
<tag>
<tag>scope</tag>
<value>availability</value>
</tag>
<tag>
<tag>scope</tag>
<value>performance</value>
</tag>
</tags>
</trigger_prototype>
</trigger_prototypes>
<graph_prototypes>
<graph_prototype>
<uuid>6b159eb7d128485bbcf460eb52627800</uuid>
<name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
<graph_items>
<graph_item>
<color>1A7C11</color>
<item>
<host>IPv0 - Template Datacom DmOS</host>
<key>net.if.in[ifHCInOctets.{#SNMPINDEX}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<color>FF0000</color>
<item>
<host>IPv0 - Template Datacom DmOS</host>
<key>net.if.out[ifHCOutOctets.{#SNMPINDEX}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<color>00611C</color>
<item>
<host>IPv0 - Template Datacom DmOS</host>
<key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>3</sortorder>
<color>F7941D</color>
<item>
<host>IPv0 - Template Datacom DmOS</host>
<key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>4</sortorder>
<color>FC6EA3</color>
<item>
<host>IPv0 - Template Datacom DmOS</host>
<key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>5</sortorder>
<color>6C59DC</color>
<item>
<host>IPv0 - Template Datacom DmOS</host>
<key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
<overrides>
<override>
<name>Discovery only UP</name>
<step>1</step>
<filter>
<conditions>
<condition>
<macro>{#IFADMINSTATUS}</macro>
<value>^2$</value>
</condition>
</conditions>
</filter>
<operations>
<operation>
<operator>LIKE</operator>
<value>Bits</value>
<discover>DISCOVER</discover>
</operation>
<operation>
<operator>LIKE</operator>
<value>Inbound packets</value>
<discover>DISCOVER</discover>
</operation>
<operation>
<operator>LIKE</operator>
<value>Interface type</value>
<discover>DISCOVER</discover>
</operation>
<operation>
<operator>LIKE</operator>
<value>Interface type</value>
<discover>DISCOVER</discover>
</operation>
<operation>
<operator>LIKE</operator>
<value>Outbound packets</value>
<discover>DISCOVER</discover>
</operation>
<operation>
<operator>LIKE</operator>
<value>Speed</value>
<discover>DISCOVER</discover>
</operation>
</operations>
</override>
</overrides>
</discovery_rule>
<discovery_rule>
<uuid>497ca11cdfe045478f4ce7c507706db7</uuid>
<name>SNMP Discovery - CPU Cores</name>
@@ -1976,75 +1415,10 @@ and max(/IPv0 - Template Datacom DmOS/net.if.out.errors[ifOutErrors.{#SNMPINDEX}
<value>0.15</value>
<description>Warning threshold of the average ICMP response time in seconds.</description>
</macro>
<macro>
<macro>{$IF.ERRORS.WARN}</macro>
<value>2</value>
<description>Warning threshold of error packet rate. Can be used with interface name as context.</description>
</macro>
<macro>
<macro>{$IF.UTIL.MAX}</macro>
<value>90</value>
</macro>
<macro>
<macro>{$IFCONTROL}</macro>
<value>1</value>
</macro>
<macro>
<macro>{$MEMORY.UTIL.MAX}</macro>
<value>90</value>
</macro>
<macro>
<macro>{$NET.IF.IFADMINSTATUS.MATCHES}</macro>
<value>^.*</value>
</macro>
<macro>
<macro>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</macro>
<value>^2$</value>
<description>Ignore down(2) administrative status</description>
</macro>
<macro>
<macro>{$NET.IF.IFALIAS.MATCHES}</macro>
<value>.*</value>
</macro>
<macro>
<macro>{$NET.IF.IFALIAS.NOT_MATCHES}</macro>
<value>CHANGE_IF_NEEDED</value>
</macro>
<macro>
<macro>{$NET.IF.IFDESCR.MATCHES}</macro>
<value>.*</value>
</macro>
<macro>
<macro>{$NET.IF.IFDESCR.NOT_MATCHES}</macro>
<value>CHANGE_IF_NEEDED</value>
</macro>
<macro>
<macro>{$NET.IF.IFNAME.MATCHES}</macro>
<value>^.*$</value>
</macro>
<macro>
<macro>{$NET.IF.IFNAME.NOT_MATCHES}</macro>
<value>(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})</value>
<description>Filter out loopbacks, nulls, docker veth links and docker0 bridge by default</description>
</macro>
<macro>
<macro>{$NET.IF.IFOPERSTATUS.MATCHES}</macro>
<value>^u|^1</value>
<description>^.*$</description>
</macro>
<macro>
<macro>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</macro>
<value>^6$</value>
<description>Ignore notPresent(6)</description>
</macro>
<macro>
<macro>{$NET.IF.IFTYPE.MATCHES}</macro>
<value>.*</value>
</macro>
<macro>
<macro>{$NET.IF.IFTYPE.NOT_MATCHES}</macro>
<value>CHANGE_IF_NEEDED</value>
</macro>
<macro>
<macro>{$SNMP.TIMEOUT}</macro>
<value>5m</value>
@@ -2081,14 +1455,6 @@ and max(/IPv0 - Template Datacom DmOS/net.if.out.errors[ifOutErrors.{#SNMPINDEX}
<name>columns</name>
<value>1</value>
</field>
<field>
<type>GRAPH_PROTOTYPE</type>
<name>graphid.0</name>
<value>
<host>IPv0 - Template Datacom DmOS</host>
<name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
</value>
</field>
<field>
<type>STRING</type>
<name>reference</name>