diff --git a/templates/huawei/Template_Huawei-Interfaces-SNMP.yaml b/templates/huawei/Template_Huawei-Interfaces-SNMP.yaml new file mode 100644 index 0000000..a16efa9 --- /dev/null +++ b/templates/huawei/Template_Huawei-Interfaces-SNMP.yaml @@ -0,0 +1,1068 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: 36bff6c29af64692839d077febfc7079 + name: 'Templates/Network devices' + templates: + - uuid: 148dde47e2694870b438b28fa97f59f2 + template: 'Template Huawei Interfaces SNMP - by IPv0' + name: 'Template Huawei Interfaces SNMP - by IPv0' + description: | + Template Huawei Interfaces SNMP + by IPv0 - V1 for ZBX 7.0 + - - - + MIBs used: + EtherLike-MIB + SNMPv2-MIB + IF-MIB + vendor: + name: IPv0 + version: 7.0-1 + groups: + - name: 'Templates/Network devices' + discovery_rules: + - uuid: 8512b56c8d9b40d6aff89f676ebec85e + name: 'Network interfaces discovery' + type: SNMP_AGENT + 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]' + key: net.if.discovery + delay: 1h + filter: + evaltype: AND + conditions: + - macro: '{#IFADMINSTATUS}' + value: '{$NET.IF.IFADMINSTATUS.MATCHES}' + formulaid: A + - macro: '{#IFADMINSTATUS}' + value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: B + - macro: '{#IFALIAS}' + value: '{$NET.IF.IFALIAS.MATCHES}' + formulaid: C + - macro: '{#IFALIAS}' + value: '{$NET.IF.IFALIAS.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: D + - macro: '{#IFDESCR}' + value: '{$NET.IF.IFDESCR.MATCHES}' + formulaid: E + - macro: '{#IFDESCR}' + value: '{$NET.IF.IFDESCR.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: F + - macro: '{#IFNAME}' + value: '{$NET.IF.IFNAME.MATCHES}' + formulaid: G + - macro: '{#IFNAME}' + value: '{$NET.IF.IFNAME.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: H + - macro: '{#IFOPERSTATUS}' + value: '{$NET.IF.IFOPERSTATUS.MATCHES}' + formulaid: I + - macro: '{#IFOPERSTATUS}' + value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: J + - macro: '{#IFTYPE}' + value: '{$NET.IF.IFTYPE.MATCHES}' + formulaid: K + - macro: '{#IFTYPE}' + value: 23|24|53 + operator: NOT_MATCHES_REGEX + formulaid: L + - macro: '{#IFTYPE}' + value: '{$NET.IF.IFTYPE.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: M + description: 'Discovering interfaces from IF-MIB.' + item_prototypes: + - uuid: 086a278ff5e64edea4a6d2dc3e450e4c + name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded' + type: SNMP_AGENT + snmp_oid: '1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}' + key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]' + delay: 3m + 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. + preprocessing: + - type: CHANGE_PER_SECOND + parameters: + - '' + tags: + - tag: component + value: network + - tag: description + value: '{#IFALIAS}' + - tag: interface + value: '{#IFNAME}' + - uuid: f82b1af2892640d394bb8e05c86604ec + name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors' + type: SNMP_AGENT + snmp_oid: '1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}' + key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]' + delay: 3m + 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. + preprocessing: + - type: CHANGE_PER_SECOND + parameters: + - '' + tags: + - tag: component + value: network + - tag: description + value: '{#IFALIAS}' + - tag: interface + value: '{#IFNAME}' + - uuid: f8bb4259b6024160be46d77fa5e6f60a + name: 'Interface {#IFNAME}({#IFALIAS}): Bits received' + type: SNMP_AGENT + snmp_oid: '1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}' + key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]' + delay: 3m + units: bps + 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. + preprocessing: + - type: CHANGE_PER_SECOND + parameters: + - '' + - type: MULTIPLIER + parameters: + - '8' + tags: + - tag: component + value: network + - tag: description + value: '{#IFALIAS}' + - tag: interface + value: '{#IFNAME}' + - uuid: bb61ab8b19fd4d1d8bd7d02f364cbc2e + name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded' + type: SNMP_AGENT + snmp_oid: '1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}' + key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]' + delay: 3m + 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. + preprocessing: + - type: CHANGE_PER_SECOND + parameters: + - '' + tags: + - tag: component + value: network + - tag: description + value: '{#IFALIAS}' + - tag: interface + value: '{#IFNAME}' + - uuid: 69645209cec6422da1f341ec34c04539 + name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors' + type: SNMP_AGENT + snmp_oid: '1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}' + key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]' + delay: 3m + 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. + preprocessing: + - type: CHANGE_PER_SECOND + parameters: + - '' + tags: + - tag: component + value: network + - tag: description + value: '{#IFALIAS}' + - tag: interface + value: '{#IFNAME}' + - uuid: ee5d58563cd149618421ed1d5c8afa72 + name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent' + type: SNMP_AGENT + snmp_oid: '1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}' + key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]' + delay: 3m + units: bps + 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. + preprocessing: + - type: CHANGE_PER_SECOND + parameters: + - '' + - type: MULTIPLIER + parameters: + - '8' + tags: + - tag: component + value: network + - tag: description + value: '{#IFALIAS}' + - tag: interface + value: '{#IFNAME}' + - uuid: 17ba03a6f162465782cbfe7392bc59ff + name: 'Interface {#IFNAME}({#IFALIAS}): Speed' + type: SNMP_AGENT + snmp_oid: '1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}' + key: 'net.if.speed[ifHighSpeed.{#SNMPINDEX}]' + delay: 5m + trends: '0' + units: bps + 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. + preprocessing: + - type: MULTIPLIER + parameters: + - '1000000' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 1h + tags: + - tag: component + value: network + - tag: description + value: '{#IFALIAS}' + - tag: interface + value: '{#IFNAME}' + - uuid: 349cdf9cdf7b464aab37501400f96951 + name: 'Interface {#IFNAME}({#IFALIAS}): Operational status' + type: SNMP_AGENT + snmp_oid: '1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}' + key: 'net.if.status[ifOperStatus.{#SNMPINDEX}]' + trends: '0' + 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. + valuemap: + name: 'IF-MIB::ifOperStatus' + tags: + - tag: component + value: network + - tag: description + value: '{#IFALIAS}' + - tag: interface + value: '{#IFNAME}' + trigger_prototypes: + - uuid: 3afe806ec3284a59af1199c3a6f3b0f9 + expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))' + recovery_mode: RECOVERY_EXPRESSION + recovery_expression: 'last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0' + name: 'Interface {#IFNAME}({#IFALIAS}): Link down' + priority: AVERAGE + description: | + This trigger expression works as follows: + 1. It can be triggered if the operations status is down. + 2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine the context macro to "0", 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 "eternal off" interfaces.) + + WARNING: if closed manually - it will not fire again on the next poll, because of .diff. + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: a74233c74e9b4d59aff97bd867205315 + name: 'Interface {#IFNAME}({#IFALIAS}): Interface type' + type: SNMP_AGENT + snmp_oid: '1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}' + key: 'net.if.type[ifType.{#SNMPINDEX}]' + delay: 1h + trends: '0' + 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. + valuemap: + name: 'IF-MIB::ifType' + preprocessing: + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 1d + tags: + - tag: component + value: network + - tag: description + value: '{#IFALIAS}' + - tag: interface + value: '{#IFNAME}' + trigger_prototypes: + - uuid: da77dea969d34792943a4077cd1bbec8 + expression: | + change(/Template Huawei Interfaces SNMP - by IPv0/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/Template Huawei Interfaces SNMP - by IPv0/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 + and ( + last(/Template Huawei Interfaces SNMP - by IPv0/net.if.type[ifType.{#SNMPINDEX}])=6 or + last(/Template Huawei Interfaces SNMP - by IPv0/net.if.type[ifType.{#SNMPINDEX}])=7 or + last(/Template Huawei Interfaces SNMP - by IPv0/net.if.type[ifType.{#SNMPINDEX}])=11 or + last(/Template Huawei Interfaces SNMP - by IPv0/net.if.type[ifType.{#SNMPINDEX}])=62 or + last(/Template Huawei Interfaces SNMP - by IPv0/net.if.type[ifType.{#SNMPINDEX}])=69 or + last(/Template Huawei Interfaces SNMP - by IPv0/net.if.type[ifType.{#SNMPINDEX}])=117 + ) + and + (last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2) + recovery_mode: RECOVERY_EXPRESSION + recovery_expression: | + (change(/Template Huawei Interfaces SNMP - by IPv0/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/Template Huawei Interfaces SNMP - by IPv0/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or + (last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}])=2) + name: 'Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before' + priority: INFO + 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.' + manual_close: 'YES' + dependencies: + - name: 'Interface {#IFNAME}({#IFALIAS}): Link down' + expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))' + recovery_expression: 'last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0' + tags: + - tag: scope + value: performance + - uuid: 2eedb49822a34333a49794385f85909a + expression: | + (avg(/Template Huawei Interfaces SNMP - by IPv0/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Template Huawei Interfaces SNMP - by IPv0/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or + avg(/Template Huawei Interfaces SNMP - by IPv0/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Template Huawei Interfaces SNMP - by IPv0/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and + last(/Template Huawei Interfaces SNMP - by IPv0/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 + recovery_mode: RECOVERY_EXPRESSION + recovery_expression: | + avg(/Template Huawei Interfaces SNMP - by IPv0/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Template Huawei Interfaces SNMP - by IPv0/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and + avg(/Template Huawei Interfaces SNMP - by IPv0/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Template Huawei Interfaces SNMP - by IPv0/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) + name: 'Interface {#IFNAME}({#IFALIAS}): High bandwidth usage' + event_name: 'Interface {#IFNAME}({#IFALIAS}): High bandwidth usage (>{$IF.UTIL.MAX:"{#IFNAME}"}%)' + opdata: 'In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}' + priority: WARNING + description: 'The utilization of the network interface is close to its estimated maximum bandwidth.' + manual_close: 'YES' + dependencies: + - name: 'Interface {#IFNAME}({#IFALIAS}): Link down' + expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))' + recovery_expression: 'last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0' + tags: + - tag: scope + value: performance + - uuid: c05e12b4b6a84849b3d49d2020d4fbfb + expression: | + min(/Template Huawei Interfaces SNMP - by IPv0/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} + or min(/Template Huawei Interfaces SNMP - by IPv0/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} + recovery_mode: RECOVERY_EXPRESSION + recovery_expression: | + max(/Template Huawei Interfaces SNMP - by IPv0/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 + and max(/Template Huawei Interfaces SNMP - by IPv0/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 + name: 'Interface {#IFNAME}({#IFALIAS}): High error rate' + event_name: 'Interface {#IFNAME}({#IFALIAS}): High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m)' + opdata: 'errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}' + priority: WARNING + description: 'It recovers when it is below 80% of the `{$IF.ERRORS.WARN:"{#IFNAME}"}` threshold.' + manual_close: 'YES' + dependencies: + - name: 'Interface {#IFNAME}({#IFALIAS}): Link down' + expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))' + recovery_expression: 'last(/Template Huawei Interfaces SNMP - by IPv0/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0' + tags: + - tag: scope + value: availability + - tag: scope + value: performance + graph_prototypes: + - uuid: 2e6627eaf53d461a92203e0c9b585246 + name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic' + graph_items: + - color: 199C0D + calc_fnc: ALL + item: + host: 'Template Huawei Interfaces SNMP - by IPv0' + key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]' + - sortorder: '1' + color: F63100 + calc_fnc: ALL + item: + host: 'Template Huawei Interfaces SNMP - by IPv0' + key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]' + - sortorder: '2' + color: 00611C + calc_fnc: ALL + item: + host: 'Template Huawei Interfaces SNMP - by IPv0' + key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]' + - sortorder: '3' + color: F7941D + calc_fnc: ALL + item: + host: 'Template Huawei Interfaces SNMP - by IPv0' + key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]' + - sortorder: '4' + color: FC6EA3 + calc_fnc: ALL + item: + host: 'Template Huawei Interfaces SNMP - by IPv0' + key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]' + - sortorder: '5' + color: 6C59DC + calc_fnc: ALL + item: + host: 'Template Huawei Interfaces SNMP - by IPv0' + key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]' + - uuid: 3ed7d8b100f6400a97645678a6fadb26 + name: 'Network virtual interfaces discovery' + type: SNMP_AGENT + 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]' + key: net.if.discovery.vlan + delay: 1h + filter: + evaltype: AND + conditions: + - macro: '{#IFADMINSTATUS}' + value: '{$NET.IF.IFADMINSTATUS.MATCHES}' + formulaid: A + - macro: '{#IFADMINSTATUS}' + value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: B + - macro: '{#IFALIAS}' + value: '{$NET.IF.IFALIAS.MATCHES}' + formulaid: C + - macro: '{#IFALIAS}' + value: '{$NET.IF.IFALIAS.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: D + - macro: '{#IFDESCR}' + value: '{$NET.IF.IFDESCR.MATCHES}' + formulaid: E + - macro: '{#IFDESCR}' + value: '{$NET.IF.IFDESCR.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: F + - macro: '{#IFNAME}' + value: '{$NET.IF.IFNAME.MATCHES}' + formulaid: G + - macro: '{#IFNAME}' + value: '{$NET.IF.IFNAME.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: H + - macro: '{#IFOPERSTATUS}' + value: '{$NET.IF.IFOPERSTATUS.MATCHES}' + formulaid: I + - macro: '{#IFOPERSTATUS}' + value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: J + - macro: '{#IFTYPE}' + value: '53' + formulaid: K + description: 'Discovering interfaces from IF-MIB.' + item_prototypes: + - uuid: c2680c95987b476d826cb4daf467167a + name: 'Interface {#IFNAME}({#IFALIAS}): Bits received' + type: SNMP_AGENT + snmp_oid: '1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}' + key: 'net.if.in[ifHCInOctets.vlan{#SNMPINDEX}]' + delay: 3m + units: bps + 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. + preprocessing: + - type: CHANGE_PER_SECOND + parameters: + - '' + - type: MULTIPLIER + parameters: + - '8' + tags: + - tag: component + value: network + - tag: description + value: '{#IFALIAS}' + - tag: interface + value: '{#IFNAME}' + - uuid: 000d389b315049d0a9137a74d3f8aeef + name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent' + type: SNMP_AGENT + snmp_oid: '1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}' + key: 'net.if.out[ifHCOutOctets.vlan{#SNMPINDEX}]' + delay: 3m + units: bps + 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. + preprocessing: + - type: CHANGE_PER_SECOND + parameters: + - '' + - type: MULTIPLIER + parameters: + - '8' + tags: + - tag: component + value: network + - tag: description + value: '{#IFALIAS}' + - tag: interface + value: '{#IFNAME}' + graph_prototypes: + - uuid: 8cf98ddf97f4428ca6fd688560e55276 + name: 'Interface Vlan {#IFNAME}({#IFALIAS}): Network traffic' + graph_items: + - color: 199C0D + calc_fnc: ALL + item: + host: 'Template Huawei Interfaces SNMP - by IPv0' + key: 'net.if.in[ifHCInOctets.vlan{#SNMPINDEX}]' + - sortorder: '1' + color: F63100 + calc_fnc: ALL + item: + host: 'Template Huawei Interfaces SNMP - by IPv0' + key: 'net.if.out[ifHCOutOctets.vlan{#SNMPINDEX}]' + - uuid: 9a5211941064430c9319823bc9c1753b + name: 'EtherLike-MIB Discovery' + type: SNMP_AGENT + snmp_oid: 'discovery[{#SNMPVALUE},1.3.6.1.2.1.10.7.2.1.19,{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#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]' + key: net.if.duplex.discovery + delay: 1h + filter: + evaltype: AND + conditions: + - macro: '{#IFOPERSTATUS}' + value: '1' + formulaid: A + - macro: '{#SNMPVALUE}' + value: (2|3) + formulaid: B + description: 'Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with up(1) Operational Status are discovered.' + item_prototypes: + - uuid: a1385f080b1d4071b3cf3038cabb3fcb + name: 'Interface {#IFNAME}({#IFALIAS}): Duplex status' + type: SNMP_AGENT + snmp_oid: '1.3.6.1.2.1.10.7.2.1.19.{#SNMPINDEX}' + key: 'net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}]' + description: | + MIB: EtherLike-MIB + The current mode of operation of the MAC + entity. 'unknown' indicates that the current + duplex mode could not be determined. + + Management control of the duplex mode is + accomplished through the MAU MIB. When + an interface does not support autonegotiation, + or when autonegotiation is not enabled, the + duplex mode is controlled using + ifMauDefaultType. When autonegotiation is + supported and enabled, duplex mode is controlled + using ifMauAutoNegAdvertisedBits. In either + case, the currently operating duplex mode is + reflected both in this object and in ifMauType. + + Note that this object provides redundant + information with ifMauType. Normally, redundant + objects are discouraged. However, in this + instance, it allows a management application to + determine the duplex status of an interface + without having to know every possible value of + ifMauType. This was felt to be sufficiently + valuable to justify the redundancy. + Reference: [IEEE 802.3 Std.], 30.3.1.1.32,aDuplexStatus. + valuemap: + name: 'EtherLike-MIB::dot3StatsDuplexStatus' + tags: + - tag: component + value: network + - tag: description + value: '{#IFALIAS}' + - tag: interface + value: '{#IFNAME}' + trigger_prototypes: + - uuid: 78a76a2beae34e9283ec5886238af522 + expression: 'last(/Template Huawei Interfaces SNMP - by IPv0/net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}])=2' + name: 'Interface {#IFNAME}({#IFALIAS}): In half-duplex mode' + priority: WARNING + description: 'Please check autonegotiation settings and cabling.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + try { + var data = JSON.parse(value); + } + catch (error) { + throw 'Failed to parse JSON of EtherLike-MIB discovery.'; + } + var fields = ['{#SNMPVALUE}','{#IFOPERSTATUS}','{#IFALIAS}','{#IFNAME}','{#IFDESCR}']; + data.forEach(function (element) { + fields.forEach(function (field) { + element[field] = element[field] || ''; + }); + }); + return JSON.stringify(data); + tags: + - tag: ipv0 + - tag: target + value: huawei + macros: + - macro: '{$IF.ERRORS.WARN}' + value: '2' + description: 'Warning threshold of error packet rate. Can be used with interface name as context.' + - macro: '{$IF.UTIL.MAX}' + value: '90' + - macro: '{$IFCONTROL}' + value: '1' + - macro: '{$NET.IF.IFADMINSTATUS.MATCHES}' + value: '^.*' + - macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}' + value: ^2$ + description: 'Ignore down(2) administrative status' + - macro: '{$NET.IF.IFALIAS.MATCHES}' + value: '.*' + - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}' + value: CHANGE_IF_NEEDED + - macro: '{$NET.IF.IFDESCR.MATCHES}' + value: '.*' + - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}' + value: CHANGE_IF_NEEDED + - macro: '{$NET.IF.IFNAME.MATCHES}' + value: '^.*$' + - macro: '{$NET.IF.IFNAME.NOT_MATCHES}' + 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}|[Ll]oop[Bb]ack[0-9.]*$|^Console[0-9/]*$)' + description: 'Filter out loopbacks, nulls, docker veth links and docker0 bridge by default' + - macro: '{$NET.IF.IFOPERSTATUS.MATCHES}' + value: '^.*$' + - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}' + value: ^6$ + description: 'Ignore notPresent(6)' + - macro: '{$NET.IF.IFTYPE.MATCHES}' + value: '.*' + - macro: '{$NET.IF.IFTYPE.NOT_MATCHES}' + value: CHANGE_IF_NEEDED + valuemaps: + - uuid: 3a304fac4df44a99967dc209a0180fe8 + name: 'EtherLike-MIB::dot3StatsDuplexStatus' + mappings: + - value: '1' + newvalue: unknown + - value: '2' + newvalue: halfDuplex + - value: '3' + newvalue: fullDuplex + - uuid: ffb1ee44142645b39143273ca9c8bf65 + name: 'IF-MIB::ifOperStatus' + mappings: + - value: '1' + newvalue: up + - value: '2' + newvalue: down + - value: '4' + newvalue: unknown + - value: '5' + newvalue: dormant + - value: '6' + newvalue: notPresent + - value: '7' + newvalue: lowerLayerDown + - uuid: 421d16298ff94475a131261fad84c222 + name: 'IF-MIB::ifType' + mappings: + - value: '1' + newvalue: other + - value: '2' + newvalue: regular1822 + - value: '3' + newvalue: hdh1822 + - value: '4' + newvalue: ddnX25 + - value: '5' + newvalue: rfc877x25 + - value: '6' + newvalue: ethernetCsmacd + - value: '7' + newvalue: iso88023Csmacd + - value: '8' + newvalue: iso88024TokenBus + - value: '9' + newvalue: iso88025TokenRing + - value: '10' + newvalue: iso88026Man + - value: '11' + newvalue: starLan + - value: '12' + newvalue: proteon10Mbit + - value: '13' + newvalue: proteon80Mbit + - value: '14' + newvalue: hyperchannel + - value: '15' + newvalue: fddi + - value: '16' + newvalue: lapb + - value: '17' + newvalue: sdlc + - value: '18' + newvalue: ds1 + - value: '19' + newvalue: e1 + - value: '20' + newvalue: basicISDN + - value: '21' + newvalue: primaryISDN + - value: '22' + newvalue: propPointToPointSerial + - value: '23' + newvalue: ppp + - value: '24' + newvalue: softwareLoopback + - value: '25' + newvalue: eon + - value: '26' + newvalue: ethernet3Mbit + - value: '27' + newvalue: nsip + - value: '28' + newvalue: slip + - value: '29' + newvalue: ultra + - value: '30' + newvalue: ds3 + - value: '31' + newvalue: sip + - value: '32' + newvalue: frameRelay + - value: '33' + newvalue: rs232 + - value: '34' + newvalue: para + - value: '35' + newvalue: arcnet + - value: '36' + newvalue: arcnetPlus + - value: '37' + newvalue: atm + - value: '38' + newvalue: miox25 + - value: '39' + newvalue: sonet + - value: '40' + newvalue: x25ple + - value: '41' + newvalue: iso88022llc + - value: '42' + newvalue: localTalk + - value: '43' + newvalue: smdsDxi + - value: '44' + newvalue: frameRelayService + - value: '45' + newvalue: v35 + - value: '46' + newvalue: hssi + - value: '47' + newvalue: hippi + - value: '48' + newvalue: modem + - value: '49' + newvalue: aal5 + - value: '50' + newvalue: sonetPath + - value: '51' + newvalue: sonetVT + - value: '52' + newvalue: smdsIcip + - value: '53' + newvalue: propVirtual + - value: '54' + newvalue: propMultiplexor + - value: '55' + newvalue: ieee80212 + - value: '56' + newvalue: fibreChannel + - value: '57' + newvalue: hippiInterface + - value: '58' + newvalue: frameRelayInterconnect + - value: '59' + newvalue: aflane8023 + - value: '60' + newvalue: aflane8025 + - value: '61' + newvalue: cctEmul + - value: '62' + newvalue: fastEther + - value: '63' + newvalue: isdn + - value: '64' + newvalue: v11 + - value: '65' + newvalue: v36 + - value: '66' + newvalue: g703at64k + - value: '67' + newvalue: g703at2mb + - value: '68' + newvalue: qllc + - value: '69' + newvalue: fastEtherFX + - value: '70' + newvalue: channel + - value: '71' + newvalue: ieee80211 + - value: '72' + newvalue: ibm370parChan + - value: '73' + newvalue: escon + - value: '74' + newvalue: dlsw + - value: '75' + newvalue: isdns + - value: '76' + newvalue: isdnu + - value: '77' + newvalue: lapd + - value: '78' + newvalue: ipSwitch + - value: '79' + newvalue: rsrb + - value: '80' + newvalue: atmLogical + - value: '81' + newvalue: ds0 + - value: '82' + newvalue: ds0Bundle + - value: '83' + newvalue: bsc + - value: '84' + newvalue: async + - value: '85' + newvalue: cnr + - value: '86' + newvalue: iso88025Dtr + - value: '87' + newvalue: eplrs + - value: '88' + newvalue: arap + - value: '89' + newvalue: propCnls + - value: '90' + newvalue: hostPad + - value: '91' + newvalue: termPad + - value: '92' + newvalue: frameRelayMPI + - value: '93' + newvalue: x213 + - value: '94' + newvalue: adsl + - value: '95' + newvalue: radsl + - value: '96' + newvalue: sdsl + - value: '97' + newvalue: vdsl + - value: '98' + newvalue: iso88025CRFPInt + - value: '99' + newvalue: myrinet + - value: '100' + newvalue: voiceEM + - value: '101' + newvalue: voiceFXO + - value: '102' + newvalue: voiceFXS + - value: '103' + newvalue: voiceEncap + - value: '104' + newvalue: voiceOverIp + - value: '105' + newvalue: atmDxi + - value: '106' + newvalue: atmFuni + - value: '107' + newvalue: atmIma + - value: '108' + newvalue: pppMultilinkBundle + - value: '109' + newvalue: ipOverCdlc + - value: '110' + newvalue: ipOverClaw + - value: '111' + newvalue: stackToStack + - value: '112' + newvalue: virtualIpAddress + - value: '113' + newvalue: mpc + - value: '114' + newvalue: ipOverAtm + - value: '115' + newvalue: iso88025Fiber + - value: '116' + newvalue: tdlc + - value: '117' + newvalue: gigabitEthernet + - value: '118' + newvalue: hdlc + - value: '119' + newvalue: lapf + - value: '120' + newvalue: v37 + - value: '121' + newvalue: x25mlp + - value: '122' + newvalue: x25huntGroup + - value: '123' + newvalue: trasnpHdlc + - value: '124' + newvalue: interleave + - value: '125' + newvalue: fast + - value: '126' + newvalue: ip + - value: '127' + newvalue: docsCableMaclayer + - value: '128' + newvalue: docsCableDownstream + - value: '129' + newvalue: docsCableUpstream + - value: '130' + newvalue: a12MppSwitch + - value: '131' + newvalue: tunnel + - value: '132' + newvalue: coffee + - value: '133' + newvalue: ces + - value: '134' + newvalue: atmSubInterface + - value: '135' + newvalue: l2vlan + - value: '136' + newvalue: l3ipvlan + - value: '137' + newvalue: l3ipxvlan + - value: '138' + newvalue: digitalPowerline + - value: '139' + newvalue: mediaMailOverIp + - value: '140' + newvalue: dtm + - value: '141' + newvalue: dcn + - value: '142' + newvalue: ipForward + - value: '143' + newvalue: msdsl + - value: '144' + newvalue: ieee1394 + - value: '145' + newvalue: if-gsn + - value: '146' + newvalue: dvbRccMacLayer + - value: '147' + newvalue: dvbRccDownstream + - value: '148' + newvalue: dvbRccUpstream + - value: '149' + newvalue: atmVirtual + - value: '150' + newvalue: mplsTunnel + - value: '151' + newvalue: srp + - value: '152' + newvalue: voiceOverAtm + - value: '153' + newvalue: voiceOverFrameRelay + - value: '154' + newvalue: idsl + - value: '155' + newvalue: compositeLink + - value: '156' + newvalue: ss7SigLink + - value: '157' + newvalue: propWirelessP2P + - value: '158' + newvalue: frForward + - value: '159' + newvalue: rfc1483 + - value: '160' + newvalue: usb + - value: '161' + newvalue: ieee8023adLag + - value: '162' + newvalue: bgppolicyaccounting + - value: '163' + newvalue: frf16MfrBundle + - value: '164' + newvalue: h323Gatekeeper + - value: '165' + newvalue: h323Proxy + - value: '166' + newvalue: mpls + - value: '167' + newvalue: mfSigLink + - value: '168' + newvalue: hdsl2 + - value: '169' + newvalue: shdsl + - value: '170' + newvalue: ds1FDL + - value: '171' + newvalue: pos + - value: '172' + newvalue: dvbAsiIn + - value: '173' + newvalue: dvbAsiOut + - value: '174' + newvalue: plc + - value: '175' + newvalue: nfas + - value: '176' + newvalue: tr008 + - value: '177' + newvalue: gr303RDT + - value: '178' + newvalue: gr303IDT + - value: '179' + newvalue: isup + - value: '180' + newvalue: propDocsWirelessMaclayer + - value: '181' + newvalue: propDocsWirelessDownstream + - value: '182' + newvalue: propDocsWirelessUpstream + - value: '183' + newvalue: hiperlan2 + - value: '184' + newvalue: propBWAp2Mp + - value: '185' + newvalue: sonetOverheadChannel + - value: '186' + newvalue: digitalWrapperOverheadChannel + - value: '187' + newvalue: aal2 + - value: '188' + newvalue: radioMAC + - value: '189' + newvalue: atmRadio + - value: '190' + newvalue: imt + - value: '191' + newvalue: mvl + - value: '192' + newvalue: reachDSL + - value: '193' + newvalue: frDlciEndPt + - value: '194' + newvalue: atmVciEndPt