# ZYXEL AAM1212-51 IES-612 SNMP ## Overview For Zabbix version: 6.0 and higher http://origin-eu.zyxel.com/products_services/ies_1248_51v.shtml?t=p This template was tested on: - ZYXEL AAM1212-51 / IES-612 ## Setup > See [Zabbix template operation](https://www.zabbix.com/documentation/6.0/manual/config/templates_out_of_the_box/network_devices) for basic instructions. Refer to the vendor documentation. ## Zabbix configuration No specific Zabbix configuration is required. ### Macros used |Name|Description|Default| |----|-----------|-------| |{$SNMP.TIMEOUT} |

The time interval for SNMP agent availability trigger expression.

|`5m` | |{$ZYXEL.ADSL.ATN.MAX} |

Type the maximum signal attenuation

|`40` | |{$ZYXEL.ADSL.SNR.MIN} |

Type the minimum signal to noise margin (0-31 dB)

|`8` | |{$ZYXEL.LLD.FILTER.IF.CONTROL.MATCHES} |

Triggers will be created only for interfaces whose description contains the value of this macro

|`CHANGE_IF_NEEDED` | |{$ZYXEL.LLD.FILTER.IF.LINKSTATUS.MATCHES} |

Filter of discoverable link types.

|`.*` | |{$ZYXEL.LLD.FILTER.IF.LINKSTATUS.NOT_MATCHES} |

Filter to exclude discovered by link types.

|`2` | ## Template links There are no template links in this template. ## Discovery rules |Name|Description|Type|Key and additional info| |----|-----------|----|----| |Temperature discovery |

An entry in tempTable.

|SNMP |zyxel.aam1212.temp.discovery | |Voltage discovery |

An entry in voltageTable.

|SNMP |zyxel.aam1212.volt.discovery

**Preprocessing**:

- JAVASCRIPT: `The text is too long. Please see the template.`

| |Ethernet interface discovery |

-

|SNMP |zyxel.aam1212.net.if.discovery

**Filter**:

AND

- {#ZYXEL.IF.LINKSTATUS} MATCHES_REGEX `{$ZYXEL.LLD.FILTER.IF.LINKSTATUS.MATCHES}`

- {#ZYXEL.IF.LINKSTATUS} NOT_MATCHES_REGEX `{$ZYXEL.LLD.FILTER.IF.LINKSTATUS.NOT_MATCHES}`

- {#ZYXEL.IF.NAME} MATCHES_REGEX `enet`

**Overrides:**

Don't create triggers for matching interface
- {#ZYXEL.IF.NAME} NOT_MATCHES_REGEX `{$ZYXEL.LLD.FILTER.IF.CONTROL.MATCHES}`
- TRIGGER_PROTOTYPE REGEXP `.*` - NO_DISCOVER

| |ADSL interface discovery |

-

|SNMP |zyxel.aam1212.net.adsl.discovery

**Filter**:

AND

- {#ZYXEL.IF.LINKSTATUS} MATCHES_REGEX `{$ZYXEL.LLD.FILTER.IF.LINKSTATUS.MATCHES}`

- {#ZYXEL.IF.LINKSTATUS} NOT_MATCHES_REGEX `{$ZYXEL.LLD.FILTER.IF.LINKSTATUS.NOT_MATCHES}`

- {#ZYXEL.IF.NAME} MATCHES_REGEX `adsl`

**Overrides:**

Don't create triggers for matching interface
- {#ZYXEL.IF.NAME} NOT_MATCHES_REGEX `{$ZYXEL.LLD.FILTER.IF.CONTROL.MATCHES}`
- TRIGGER_PROTOTYPE REGEXP `.*` - NO_DISCOVER

| ## Items collected |Group|Name|Description|Type|Key and additional info| |-----|----|-----------|----|---------------------| |Inventory |ZYXEL AAM1212-51 / IES-612: Hardware model name |

MIB: RFC1213-MIB

A textual description of the entity. This value

should include the full name and version

identification of the system's hardware type,

software operating-system, and networking

software. It is mandatory that this only contain

printable ASCII characters.

|SNMP |zyxel.aam1212.model

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Inventory |ZYXEL AAM1212-51 / IES-612: Contact |

MIB: RFC1213-MIB

The textual identification of the contact person

for this managed node, together with information

on how to contact this person.

|SNMP |zyxel.aam1212.contact

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Inventory |ZYXEL AAM1212-51 / IES-612: Host name |

MIB: RFC1213-MIB

An administratively-assigned name for this

managed node. By convention, this is the node's

fully-qualified domain name.

|SNMP |zyxel.aam1212.name

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Inventory |ZYXEL AAM1212-51 / IES-612: Location |

MIB: RFC1213-MIB

The physical location of this node (e.g.,

`telephone closet, 3rd floor').

|SNMP |zyxel.aam1212.location

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Inventory |ZYXEL AAM1212-51 / IES-612: MAC address |

MIB: IF-MIB

The interface's address at the protocol layer

immediately `below' the network layer in the

protocol stack. For interfaces which do not have

such an address (e.g., a serial line), this object

should contain an octet string of zero length.

|SNMP |zyxel.aam1212.mac

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Inventory |ZYXEL AAM1212-51 / IES-612: ZyNOS F/W Version |

MIB: ZYXEL-IESCOMMON-MIB

|SNMP |zyxel.aam1212.fwversion

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Inventory |ZYXEL AAM1212-51 / IES-612: Hardware serial number |

MIB: ZYXEL-IESCOMMON-MIB

Serial number

|SNMP |zyxel.aam1212.serialnumber

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#ZYXEL.IF.NAME}: Interface name |

MIB: IF-MIB

A textual string containing information about the interface

|SNMP |zyxel.aam1212.net.if.name[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#ZYXEL.IF.NAME}: Operational status |

MIB: IF-MIB

The current operational state of the interface.

The testing(3) state indicates that no operational

packets can be passed.

|SNMP |zyxel.aam1212.net.if.operstatus[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#ZYXEL.IF.NAME}: Administrative status |

MIB: IF-MIB

The desired state of the interface. The

testing(3) state indicates that no operational

packets can be passed.

|SNMP |zyxel.aam1212.net.if.adminstatus[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#ZYXEL.IF.NAME}: Incoming traffic |

MIB: IF-MIB

The total number of octets received on the interface,

including framing characters.

|SNMP |zyxel.aam1212.net.if.in.traffic[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `8`

- CHANGE_PER_SECOND

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#ZYXEL.IF.NAME}: Outgoing traffic |

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.

|SNMP |zyxel.aam1212.net.if.out.traffic[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `8`

- CHANGE_PER_SECOND

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX}: Interface name |

MIB: IF-MIB

A textual string containing information about the interface

|SNMP |zyxel.aam1212.net.adsl.name[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX}: Operational status |

MIB: IF-MIB

The current operational state of the interface.

The testing(3) state indicates that no operational

packets can be passed.

|SNMP |zyxel.aam1212.net.adsl.operstatus[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX}: Administrative status |

MIB: IF-MIB

The desired state of the interface. The

testing(3) state indicates that no operational

packets can be passed.

|SNMP |zyxel.aam1212.net.adsl.adminstatus[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX}: Incoming traffic |

MIB: IF-MIB

The total number of octets received on the interface,

including framing characters.

|SNMP |zyxel.aam1212.net.adsl.in.traffic[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `8`

- CHANGE_PER_SECOND

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX}: Outgoing traffic |

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.

|SNMP |zyxel.aam1212.net.adsl.out.traffic[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `8`

- CHANGE_PER_SECOND

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX}: ATUC noise margin |

MIB: ADSL-LINE-MIB

Noise Margin as seen by this ATU with respect to its

received signal in tenth dB.

The Info Atuc fields show data acquired from the ATUC (ADSL Termination Unit – Central), in this case ZYXEL AAM1212-51 / IES-612, during negotiation/provisioning message interchanges.

|SNMP |zyxel.aam1212.net.adsl.atuc.snrmgn[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `0.1`

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX}: ATUC attenuation |

MIB: ADSL-LINE-MIB

Measured difference in the total power transmitted by

the peer ATU and the total power received by this ATU.

The Info Atuc fields show data acquired from the ATUC (ADSL Termination Unit – Central), in this case ZYXEL AAM1212-51 / IES-612, during negotiation/provisioning message interchanges.

|SNMP |zyxel.aam1212.net.adsl.atuc.atn[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `0.1`

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX}: ATUC output power |

MIB: ADSL-LINE-MIB

Measured total output power transmitted by this ATU.

The Info Atuc fields show data acquired from the ATUC (ADSL Termination Unit – Central), in this case ZYXEL AAM1212-51 / IES-612, during negotiation/provisioning message interchanges.

|SNMP |zyxel.aam1212.net.adsl.atuc.outpwr[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `0.1`

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX}: ATUR noise margin |

MIB: ADSL-LINE-MIB

Noise Margin as seen by this ATU with respect to its

received signal in tenth dB.

The Info Atur fields show data acquired from the ATUR (ADSL Termination Unit – Remote), in this case the subscriber's ADSL modem or router, during negotiation/provisioning message interchanges.

|SNMP |zyxel.aam1212.net.adsl.atur.snrmgn[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `0.1`

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX}: ATUR attenuation |

MIB: ADSL-LINE-MIB

Measured difference in the total power transmitted by

the peer ATU and the total power received by this ATU.

The Info Atur fields show data acquired from the ATUR (ADSL Termination Unit – Remote), in this case the subscriber's ADSL modem or router, during negotiation/provisioning message interchanges.

|SNMP |zyxel.aam1212.net.adsl.atur.atn[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `0.1`

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Network_interfaces |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX}: ATUR output power |

MIB: ADSL-LINE-MIB

Measured total output power transmitted by this ATU.

The Info Atur fields show data acquired from the ATUR (ADSL Termination Unit – Remote), in this case the subscriber's ADSL modem or router, during negotiation/provisioning message interchanges.

|SNMP |zyxel.aam1212.net.adsl.atur.outpwr[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `0.1`

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Power_supply |ZYXEL AAM1212-51 / IES-612: Nominal "{#ZYXEL.VOLT.NOMINAL}" |

MIB: ZYXEL-IESCOMMON-MIB

The current voltage reading.

|SNMP |zyxel.aam1212.volt[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `0.001`

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Status |ZYXEL AAM1212-51 / IES-612: SNMP agent availability |

-

|INTERNAL |zabbix[host,snmp,available]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Status |ZYXEL AAM1212-51 / IES-612: Uptime |

MIB: RFC1213-MIB

The time (in hundredths of a second) since the

network management portion of the system was last

re-initialized.

|SNMP |zyxel.aam1212.uptime

**Preprocessing**:

- MULTIPLIER: `0.01`

| |Status |ZYXEL AAM1212-51 / IES-612: Alarm status |

MIB: ZYXEL-IESCOMMON-MIB

This variable indicates the alarm status of the module.

It is a bit map represented a sum, therefore, it can represent

multiple defects simultaneously. The moduleNoDefect should be set

if and only if no other flag is set.

The various bit positions are:

1 moduleNoDefect

2 moduleOverHeat

3 moduleFanRpmLow

4 moduleVoltageLow

5 moduleThermalSensorFailure

6 modulePullOut

7 powerDC48VAFailure

8 powerDC48VBFailure

9 extAlarmInputTrigger

10 moduleDown

11 mscSwitchOverOK

12 networkTopologyChange

13 macSpoof

14 cpuHigh

15 memoryUsageHigh

16 packetBufferUsageHigh

17 loopguardOccurence

|SNMP |zyxel.aam1212.slot.alarm

**Preprocessing**:

- JAVASCRIPT: `The text is too long. Please see the template.`

| |Temperature |ZYXEL AAM1212-51 / IES-612: Temperature "{#ZYXEL.TEMP.ID}" |

MIB: ZYXEL-IESCOMMON-MIB

The current temperature measured at this sensor

|SNMP |zyxel.aam1212.temp[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| ## Triggers |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----|----|----| |ZYXEL AAM1212-51 / IES-612: Template does not match hardware |

This template is for Zyxel AAM1212-51 / IES-612, but connected to {ITEM.VALUE}

|`last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.model)<>"AAM1212-51 / IES-612"` |INFO | | |ZYXEL AAM1212-51 / IES-612: Firmware has changed |

Firmware version has changed. Ack to close

|`last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.fwversion,#1)<>last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.fwversion,#2) and length(last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.fwversion))>0` |INFO |

Manual close: YES

| |ZYXEL AAM1212-51 / IES-612: Device has been replaced (new serial number received) |

Device serial number has changed. Ack to close

|`last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.serialnumber,#1)<>last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.serialnumber,#2) and length(last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.serialnumber))>0` |INFO |

Manual close: YES

| |ZYXEL AAM1212-51 / IES-612: Port {#ZYXEL.IF.NAME}: Link down |

This trigger expression works as follows:

1. Can be triggered if operations status is down.

2. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)

WARNING: if closed manually - won't fire again on next poll, because of .diff.

|`last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.net.if.operstatus[{#SNMPINDEX}])=2 and last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.net.if.operstatus[{#SNMPINDEX}],#1)<>last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.net.if.operstatus[{#SNMPINDEX}],#2)`

Recovery expression:

`last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.net.if.operstatus[{#SNMPINDEX}])<>2` |AVERAGE |

Manual close: YES

| |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX}: Link down |

This trigger expression works as follows:

1. Can be triggered if operations status is down.

2. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)

WARNING: if closed manually - won't fire again on next poll, because of .diff.

|`last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.net.adsl.operstatus[{#SNMPINDEX}])=2 and last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.net.adsl.operstatus[{#SNMPINDEX}],#1)<>last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.net.adsl.operstatus[{#SNMPINDEX}],#2)`

Recovery expression:

`last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.net.adsl.operstatus[{#SNMPINDEX}])<>2` |AVERAGE |

Manual close: YES

| |ZYXEL AAM1212-51 / IES-612: Low the DSL line noise margins in Port {#SNMPINDEX} (<{$ZYXEL.ADSL.SNR.MIN}dB for 5m) |

Signal-to-noise margin (SNR Margin) which is the difference between the actual SNR and the SNR required to sync at a specific speed

|`min(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.net.adsl.atuc.snrmgn[{#SNMPINDEX}],5m)<{$ZYXEL.ADSL.SNR.MIN}` |WARNING | | |ZYXEL AAM1212-51 / IES-612: High the DSL line attenuation in Port {#SNMPINDEX} (>{$ZYXEL.ADSL.ATN.MAX}dB for 5m) |

The reductions in amplitude of the downstream and upstream DSL signals.

|`min(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.net.adsl.atuc.atn[{#SNMPINDEX}],5m)>{$ZYXEL.ADSL.ATN.MAX}` |WARNING | | |ZYXEL AAM1212-51 / IES-612: Low the DSL line noise margins in Port {#SNMPINDEX} (<{$ZYXEL.ADSL.SNR.MIN}dB for 5m) |

Signal-to-noise margin (SNR Margin) which is the difference between the actual SNR and the SNR required to sync at a specific speed

|`min(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.net.adsl.atur.snrmgn[{#SNMPINDEX}],5m)<{$ZYXEL.ADSL.SNR.MIN}` |WARNING | | |ZYXEL AAM1212-51 / IES-612: High the DSL line attenuation in Port {#SNMPINDEX} (>{$ZYXEL.ADSL.ATN.MAX}dB for 5m) |

The reductions in amplitude of the downstream and upstream DSL signals.

|`min(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.net.adsl.atur.atn[{#SNMPINDEX}],5m)>{$ZYXEL.ADSL.ATN.MAX}` |WARNING | | |ZYXEL AAM1212-51 / IES-612: Voltage {#ZYXEL.VOLT.NOMINAL} is in critical state |

Please check the power supply

|`last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.volt[{#SNMPINDEX}])<{#ZYXEL.VOLT.THRESH.LOW}` |AVERAGE | | |ZYXEL AAM1212-51 / IES-612: No SNMP data collection |

SNMP is not available for polling. Please check device connectivity and SNMP settings.

|`max(/ZYXEL AAM1212-51 IES-612 SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0` |WARNING | | |ZYXEL AAM1212-51 / IES-612: has been restarted (uptime < 10m) |

Uptime is less than 10 minutes

|`last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.uptime)<10m` |INFO |

Manual close: YES

| |ZYXEL AAM1212-51 / IES-612: Port {#SNMPINDEX} alarm |

The slot reported an error.

|`find(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.slot.alarm,,"like","moduleNoDefect")=0` |AVERAGE | | |ZYXEL AAM1212-51 / IES-612: Temperature {#ZYXEL.TEMP.ID} is in critical state |

Please check the temperature

|`last(/ZYXEL AAM1212-51 IES-612 SNMP/zyxel.aam1212.temp[{#SNMPINDEX}])>{#ZYXEL.TEMP.THRESH.HIGH}` |AVERAGE | | ## Feedback Please report any issues with the template at https://support.zabbix.com You can also provide a feedback, discuss the template or ask for help with it at [ZABBIX forums](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel). ## Known Issues - Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings. - Version: all versions firmware - Device: ZYXEL AAM1212-51 / IES-612