
# Vyatta Virtual Router by SNMP

## Overview

Template for Vyatta Virtual Router 1908e

## Requirements

Zabbix version: 7.0 and higher.

## Tested versions

This template has been tested on:
- Vyatta Virtual Router 1908e

## Configuration

> Zabbix should be configured according to the instructions in the [Templates out of the box](https://www.zabbix.com/documentation/7.0/manual/config/templates_out_of_the_box) section.

## Setup

Refer to the vendor documentation.

### Macros used

|Name|Description|Default|
|----|-----------|-------|
|{$VYATTA.SNMP.TIMEOUT}|
Time interval for the SNMP availability trigger.
|`5m`|
|{$VYATTA.ICMP.LOSS.WARN}|
Warning threshold of ICMP packet loss in %.
|`20`|
|{$VYATTA.ICMP.RESPONSE.TIME.WARN}|
Warning threshold of the average ICMP response time in seconds.
|`0.15`|
|{$VYATTA.MEMORY.USED.WARN}|
Warning threshold of memory utilization.
|`80`|
|{$VYATTA.MEMORY.USED.HIGH}|
High severity threshold of memory utilization.
|`95`|
|{$VYATTA.STORAGE.USED.WARN}|
Warning threshold of storage utilization.
|`80`|
|{$VYATTA.STORAGE.USED.HIGH}|
High severity threshold of storage utilization.
|`95`|
|{$VYATTA.CPU.USED.WARN}|
Warning threshold of CPU utilization.
|`80`|
|{$VYATTA.CPU.USED.HIGH}|
High severity threshold of CPU utilization.
|`95`|
|{$VYATTA.IFCONTROL}|
Macro for the operational state of the interface for the link down trigger. Can be used with the interface name as context.
|`1`|
|{$VYATTA.DISCOVERY.STORAGE.NAME.MATCHES}|
Sets the name regex filter to use in storage discovery for including.
|`.*`|
|{$VYATTA.DISCOVERY.STORAGE.NAME.NOT_MATCHES}|
Sets the name regex filter to use in storage discovery for excluding.
|`CHANGE_IF_NEEDED`|
|{$VYATTA.DISCOVERY.STORAGE.TYPE.MATCHES}|
Sets the type regex filter to use in storage discovery for including.
|`.*(\.4\|hrStorageFixedDisk)$`|
|{$VYATTA.DISCOVERY.STORAGE.TYPE.NOT_MATCHES}|
Sets the type regex filter to use in storage discovery for excluding.
|`CHANGE_IF_NEEDED`|
|{$VYATTA.DISCOVERY.CPU.MATCHES}|
Sets the OID regex filter to use in CPU discovery for including. Matches `hrDeviceProcessor` from MIB: HOST-RESOURCES-TYPES - the device type identifier used for a CPU.
|`^.+\.3$`|
|{$VYATTA.DISCOVERY.CPU.NOT_MATCHES}|
Sets the OID regex filter to use in CPU discovery for excluding. Matches `hrDeviceProcessor` from MIB: HOST-RESOURCES-TYPES - the device type identifier used for a CPU.
|`CHANGE_IF_NEEDED`|
|{$VYATTA.DISCOVERY.IFACE.ADMINSTATUS.MATCHES}|
Sets the administrative status regex filter to use in network interface discovery for including.
|`.*`|
|{$VYATTA.DISCOVERY.IFACE.ADMINSTATUS.NOT_MATCHES}|
Sets the administrative status regex filter to use in network interface discovery for excluding.
|`CHANGE_IF_NEEDED`|
|{$VYATTA.DISCOVERY.IFACE.IFOPERSTATUS.MATCHES}|
Sets the operative status regex filter to use in network interface discovery for including.
|`^.*$`|
|{$VYATTA.DISCOVERY.IFACE.IFOPERSTATUS.NOT_MATCHES}|
Sets the operative status regex filter to use in network interface discovery for excluding. Ignore `notPresent(6)`.
|`^6$`|
|{$VYATTA.DISCOVERY.IFACE.IFNAME.MATCHES}|
Sets the name regex filter to use in network interface discovery for including.
|`^.*$`|
|{$VYATTA.DISCOVERY.IFACE.IFNAME.NOT_MATCHES}|
Sets the name regex filter to use in network interface discovery for excluding. Filters out `loopbacks`, `nulls`, docker `veth` links, and `docker0 bridge` by default.
|`Macro too long. Please see the template.`|
|{$VYATTA.DISCOVERY.IFACE.IFALIAS.MATCHES}|
Sets the alias regex filter to use in network interface discovery for including.
|`.*`|
|{$VYATTA.DISCOVERY.IFACE.IFALIAS.NOT_MATCHES}|
Sets the alias regex filter to use in network interface discovery for excluding.
|`CHANGE_IF_NEEDED`|
|{$VYATTA.DISCOVERY.IFACE.IFDESCR.MATCHES}|
Sets the description regex filter to use in network interface discovery for including.
|`.*`|
|{$VYATTA.DISCOVERY.IFACE.IFDESCR.NOT_MATCHES}|
Sets the description regex filter to use in network interface discovery for excluding.
|`CHANGE_IF_NEEDED`|
|{$VYATTA.DISCOVERY.IFACE.IFTYPE.MATCHES}|
Sets the type regex filter to use in network interface discovery for including.
|`.*`|
|{$VYATTA.DISCOVERY.IFACE.IFTYPE.NOT_MATCHES}|
Sets the type regex filter to use in network interface discovery for excluding.
|`CHANGE_IF_NEEDED`|

### Items

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|SNMP traps (fallback)|
The item is used to collect all SNMP traps unmatched by other `snmptrap` items.
|SNMP trap|snmptrap.fallback|
|SNMP agent availability|
Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.

Possible values:

0 - not available

1 - available

2 - unknown
|Zabbix internal|zabbix[host,snmp,available]|
|ICMP ping||Simple check|icmpping|
|ICMP loss||Simple check|icmppingloss|
|ICMP response time||Simple check|icmppingsec|
|System name|
MIB: SNMPv2-MIB

System name.
|SNMP agent|system.name[sysName.0]|
|System description|
MIB: SNMPv2-MIB

System description.
|SNMP agent|system.descr[sysDescr.0]|
|System contact|
MIB: SNMPv2-MIB

System contact details.
|SNMP agent|system.contact[sysContact.0]|
|System location|
MIB: SNMPv2-MIB

System contact details.
|SNMP agent|system.location[sysLocation.0]|
|System object ID|
MIB: SNMPv2-MIB

System object ID.
|SNMP agent|system.objectid[sysObjectID.0]|
|Uptime (hardware)|
MIB: HOST-RESOURCES-MIB

The amount of time since this host was last initialized. Note that this is different from `sysUpTime` in the SNMPv2-MIB [RFC1907] because `sysUpTime` is the uptime of the network management portion of the system.
|SNMP agent|system.uptime.hardware[hrSystemUptime.0]
**Preprocessing**

- 
Check for not supported value: `any error`

⛔️Custom on fail: Set value to: `0`

- 
Custom multiplier: `0.01`

|
|Uptime (network)|
MIB: DISMAN-EVENT-MIB

Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
|SNMP agent|system.uptime.network[sysUpTimeInstance]
**Preprocessing**

- 
Custom multiplier: `0.01`

|
|Total memory|
MIB: UCD-SNMP-MIB

The total amount of real/physical memory installed on this host.
|SNMP agent|system.memory.total[memTotalReal.0]
**Preprocessing**

- 
Custom multiplier: `1000`

|
|Free memory|
MIB: UCD-SNMP-MIB

The amount of real/physical memory currently unused or available.
|SNMP agent|system.memory.free[memAvailReal.0]
**Preprocessing**

- 
Custom multiplier: `1000`

|
|Memory (buffers)|
MIB: UCD-SNMP-MIB

The total amount of real or virtual memory currently allocated for use as memory buffers.
|SNMP agent|system.memory.buffers[memBuffer.0]
**Preprocessing**

- 
Custom multiplier: `1000`

|
|Memory (cached)|
MIB: UCD-SNMP-MIB

The total amount of real or virtual memory currently allocated for use as cached memory.
|SNMP agent|system.memory.cached[memCached.0]
**Preprocessing**

- 
Custom multiplier: `1000`

|
|Memory utilization, %||Calculated|system.memory.util
**Preprocessing**

- 
JavaScript: `return Math.round(value * 100) / 100;`

|
|SNMP walk storage|
MIB: HOST-RESOURCES-MIB

Scanning `HOST-RESOURCES-MIB::hrStorageTable`.
|SNMP agent|storage.walk|
|SNMP walk host devices|
MIB: HOST-RESOURCES-MIB

Scanning `HOST-RESOURCES-MIB::hrDeviceTable`.
|SNMP agent|devices.walk|
|SNMP walk network interfaces|
MIB: IF-MIB

Scanning `IF-MIB::ifTable` and `IF-MIB::ifXTable`.
|SNMP agent|net.if.walk|

### Triggers

|Name|Description|Expression|Severity|Dependencies and additional info|
|----|-----------|----------|--------|--------------------------------|
|Vyatta: No SNMP data collection|
SNMP is not available for polling. Please check device connectivity and SNMP settings.
|`max(/Vyatta Virtual Router by SNMP/zabbix[host,snmp,available],{$VYATTA.SNMP.TIMEOUT})=0`|Warning|**Depends on**:

- Vyatta: Unavailable by ICMP ping
|
|Vyatta: Unavailable by ICMP ping|
Last three attempts returned timeout. Please check device connectivity.
|`max(/Vyatta Virtual Router by SNMP/icmpping,#3)=0`|High||
|Vyatta: High ICMP ping loss|
ICMP packet loss detected.
|`min(/Vyatta Virtual Router by SNMP/icmppingloss,5m)>{$VYATTA.ICMP.LOSS.WARN} and min(/Vyatta Virtual Router by SNMP/icmppingloss,5m)<100`|Warning|**Depends on**:

- Vyatta: Unavailable by ICMP ping
|
|Vyatta: High ICMP ping response time|
Average ICMP response time is too high.
|`avg(/Vyatta Virtual Router by SNMP/icmppingsec,5m)>{$VYATTA.ICMP.RESPONSE.TIME.WARN}`|Warning|**Depends on**:

- Vyatta: High ICMP ping loss
- Vyatta: Unavailable by ICMP ping
|
|Vyatta: Host has been restarted|
Uptime is less than 10 minutes.
|`(last(/Vyatta Virtual Router by SNMP/system.uptime.hardware[hrSystemUptime.0])>0 and last(/Vyatta Virtual Router by SNMP/system.uptime.hardware[hrSystemUptime.0])<10m) or (last(/Vyatta Virtual Router by SNMP/system.uptime.hardware[hrSystemUptime.0])=0 and last(/Vyatta Virtual Router by SNMP/system.uptime.network[sysUpTimeInstance])<10m)`|Warning|**Manual close**: Yes
**Depends on**:

- Vyatta: No SNMP data collection
|
|Vyatta: Memory utilization is high|
Memory utilization is high.
|`min(/Vyatta Virtual Router by SNMP/system.memory.util, 5m) > {$VYATTA.MEMORY.USED.WARN}`|Warning|**Depends on**:

- Vyatta: Memory utilization is too high
|
|Vyatta: Memory utilization is too high|
Memory utilization is too high.
|`min(/Vyatta Virtual Router by SNMP/system.memory.util, 5m) > {$VYATTA.MEMORY.USED.HIGH}`|High||

### LLD rule Storage discovery

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|Storage discovery|
HOST-RESOURCES-MIB::hrStorage discovery with storage filter.
|Dependent item|storage.discovery
**Preprocessing**

- 
SNMP walk to JSON

- 
Discard unchanged with heartbeat: `1h`

|

### Item prototypes for Storage discovery

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|Storage [{#STORAGE_NAME}]: Total size||Dependent item|storage.size[hrStorageSize.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}`

- 
Custom multiplier: `1024`

- 
Discard unchanged with heartbeat: `6h`

|
|Storage [{#STORAGE_NAME}]: Used size||Dependent item|storage.used[hrStorageUsed.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}`

- 
Custom multiplier: `1024`

|
|Storage [{#STORAGE_NAME}]: Storage utilization, %||Calculated|storage.size.percent[hrStorageUsed.{#SNMPINDEX}]
**Preprocessing**

- 
JavaScript: `return Math.round(value * 100) / 100;`

|

### Trigger prototypes for Storage discovery

|Name|Description|Expression|Severity|Dependencies and additional info|
|----|-----------|----------|--------|--------------------------------|
|Vyatta: Storage [{#STORAGE_NAME}]: Storage utilization is high|
Storage utilization is high.
|`min(/Vyatta Virtual Router by SNMP/storage.size.percent[hrStorageUsed.{#SNMPINDEX}], 5m) > {$VYATTA.STORAGE.USED.WARN}`|Warning|**Depends on**:

- Vyatta: Storage [{#STORAGE_NAME}]: Storage utilization is too high
|
|Vyatta: Storage [{#STORAGE_NAME}]: Storage utilization is too high|
Storage utilization is too high.
|`min(/Vyatta Virtual Router by SNMP/storage.size.percent[hrStorageUsed.{#SNMPINDEX}], 5m) > {$VYATTA.STORAGE.USED.HIGH}`|High||

### LLD rule CPU discovery

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|CPU discovery||Dependent item|cpu.discovery
**Preprocessing**

- 
SNMP walk to JSON

- 
Discard unchanged with heartbeat: `1h`

|

### Item prototypes for CPU discovery

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|CPU [{#DESCRIPTION}][{#SNMPINDEX}]: Status|
MIB: HOST-RESOURCES-MIB

The current operational state of the device described by this row of the table.

* `unknown(1)` indicates that the current state of the device is unknown.

* `running(2)` indicates that the device is up and running and that no unusual error conditions are known.

* `warning(3)` indicates that the agent has been informed of an unusual error condition by the operational software (e.g., a disk device driver) but that the device is still operational.

* `testing(4)` indicates that the device is not available for use because it is in the testing state.

* `down(5)` is used only when the agent has been informed that the device is not available for any use.
|Dependent item|cpu.status[hrDeviceStatus.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.25.3.2.1.5.{#SNMPINDEX}`

|
|CPU [{#DESCRIPTION}][{#SNMPINDEX}]: Utilization, %|
MIB: HOST-RESOURCES-MIB

The average, over the last minute, of the percentage of time that this processor was not idle.
|Dependent item|cpu.utilization[hrProcessorLoad.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.25.3.3.1.2.{#SNMPINDEX}`

|

### Trigger prototypes for CPU discovery

|Name|Description|Expression|Severity|Dependencies and additional info|
|----|-----------|----------|--------|--------------------------------|
|Vyatta: CPU [{#DESCRIPTION}][{#SNMPINDEX}]: CPU abnormal state|
CPU utilization is too high.
|`last(/Vyatta Virtual Router by SNMP/cpu.status[hrDeviceStatus.{#SNMPINDEX}]) <> 2`|High||
|Vyatta: CPU [{#DESCRIPTION}][{#SNMPINDEX}]: CPU utilization is high|
CPU utilization is high.
|`min(/Vyatta Virtual Router by SNMP/cpu.utilization[hrProcessorLoad.{#SNMPINDEX}], 5m) > {$VYATTA.CPU.USED.WARN}`|Warning|**Depends on**:

- Vyatta: CPU [{#DESCRIPTION}][{#SNMPINDEX}]: CPU utilization is too high
|
|Vyatta: CPU [{#DESCRIPTION}][{#SNMPINDEX}]: CPU utilization is too high|
CPU utilization is too high.
|`min(/Vyatta Virtual Router by SNMP/cpu.utilization[hrProcessorLoad.{#SNMPINDEX}], 5m) > {$VYATTA.CPU.USED.HIGH}`|High||

### LLD rule Network interface discovery

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|Network interface discovery||Dependent item|net.if.discovery
**Preprocessing**

- 
SNMP walk to JSON

⛔️Custom on fail: Discard value

- 
Discard unchanged with heartbeat: `1h`

|

### Item prototypes for Network interface discovery

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|Interface [{#IFNAME}][{#IFALIAS}]: Operational status|
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 to `dormant(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
|Dependent item|net.if.status[ifOperStatus.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}`

|
|Interface [{#IFNAME}][{#IFALIAS}]: Bits received|
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`.
|Dependent item|net.if.in[ifHCInOctets.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}`

- Change per second
- 
Custom multiplier: `8`

|
|Interface [{#IFNAME}][{#IFALIAS}]: Bits sent|
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`.
|Dependent item|net.if.out[ifHCOutOctets.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}`

- Change per second
- 
Custom multiplier: `8`

|
|Interface [{#IFNAME}][{#IFALIAS}]: Inbound packets with errors|
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`.
|Dependent item|net.if.in.errors[ifInErrors.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}`

- Change per second
- 
Discard unchanged with heartbeat: `3m`

|
|Interface [{#IFNAME}][{#IFALIAS}]: Outbound packets with errors|
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`.
|Dependent item|net.if.out.errors[ifInErrors.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}`

- Change per second
- 
Discard unchanged with heartbeat: `3m`

|
|Interface [{#IFNAME}][{#IFALIAS}]: Inbound packets discarded|
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`.
|Dependent item|net.if.in.discards[ifInDiscards.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}`

- Change per second
- 
Discard unchanged with heartbeat: `3m`

|
|Interface [{#IFNAME}][{#IFALIAS}]: Outbound packets discarded|
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`.
|Dependent item|net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}`

- Change per second
- 
Discard unchanged with heartbeat: `3m`

|
|Interface [{#IFNAME}][{#IFALIAS}]: Speed|
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.
|Dependent item|net.if.speed[ifHighSpeed.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}`

- 
Custom multiplier: `1000000`

- 
Discard unchanged with heartbeat: `1h`

|
|Interface [{#IFNAME}][{#IFALIAS}]: Interface type|
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.
|Dependent item|net.if.type[ifType.{#SNMPINDEX}]
**Preprocessing**

- 
SNMP walk value: `1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}`

- 
Discard unchanged with heartbeat: `1d`

|

### Trigger prototypes for Network interface discovery

|Name|Description|Expression|Severity|Dependencies and additional info|
|----|-----------|----------|--------|--------------------------------|
|Vyatta: Interface [{#IFNAME}][{#IFALIAS}]: Link down|
This trigger expression works as follows:
1. It can be triggered if the operations status is down.
2. `{$VYATTA.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. `last(/TEMPLATE_NAME/METRIC,#1)<>last(/TEMPLATE_NAME/METRIC,#2)` - 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`.
|`{$VYATTA.IFCONTROL:"{#IFNAME}"}=1 and last(/Vyatta Virtual Router by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Vyatta Virtual Router by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Vyatta Virtual Router by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))`|Average|**Manual close**: Yes|
|Vyatta: Interface [{#IFNAME}][{#IFALIAS}]: High bandwidth usage|
The utilization of the network interface is close to its estimated maximum bandwidth.
|`(avg(/Vyatta Virtual Router by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Vyatta Virtual Router by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or avg(/Vyatta Virtual Router by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Vyatta Virtual Router by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and last(/Vyatta Virtual Router by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0`|Warning|**Manual close**: Yes
**Depends on**:

- Vyatta: Interface [{#IFNAME}][{#IFALIAS}]: Link down
|
|Vyatta: Interface [{#IFNAME}][{#IFALIAS}]: High error rate|
It recovers when it is below 80% of the `{$IF.ERRORS.WARN:"{#IFNAME}"}` threshold.
|`min(/Vyatta Virtual Router by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Vyatta Virtual Router by SNMP/net.if.out.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}`|Warning|**Manual close**: Yes
**Depends on**:

- Vyatta: Interface [{#IFNAME}][{#IFALIAS}]: Link down
|
|Vyatta: Interface [{#IFNAME}][{#IFALIAS}]: Ethernet has changed to lower speed than it was before|
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.
|`change(/Vyatta Virtual Router by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/Vyatta Virtual Router by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and ( last(/Vyatta Virtual Router by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or last(/Vyatta Virtual Router by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or last(/Vyatta Virtual Router by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or last(/Vyatta Virtual Router by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or last(/Vyatta Virtual Router by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or last(/Vyatta Virtual Router by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117 ) and (last(/Vyatta Virtual Router by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2)`|Info|**Manual close**: Yes
**Depends on**:

- Vyatta: Interface [{#IFNAME}][{#IFALIAS}]: Link down
|

## Feedback

Please report any issues with the template at [`https://support.zabbix.com`](https://support.zabbix.com)

You can also provide feedback, discuss the template, or ask for help at [`ZABBIX forums`](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback)

