Network Management System – ZABBIX

Print version

3. Network Management System – ZABBIX

To access our SNMP values, any Network Management System (NMS) can be used. However, we recommend using the ZABBIX open source monitoring system. It can be downloaded at: http://www.zabbix.com/download.php.

The Zabbix website provides the following short description:
Zabbix is the ultimate enterprise-level software designed for real-time monitoring of millions of metrics collected from tens of thousands of servers, virtual machines and network devices. Zabbix is Open Source and comes at no cost.

If you have chosen the Zabbix software, please read the following pages where we offer a basic Starting Guide to RipEX and Zabbix co-working.

Whatever your choice of NMS, these sections may provide general hints and tips.

[Note]Note

The following guide was tested with Zabbix release 3.0.15. If you use any older release, refer to the previous version of this Application note (in the Archive section).

Take the opportunity to remotely access and test a live Zabbix demo. Contact us for access details.

3.1. Installation and Documentation

Due to security requirements and the mission-critical nature of the monitoring server, we believe UNIX is the only operating system that can consistently deliver the necessary performance, fault tolerance and resilience.

Zabbix has been tested on the following platforms:

  • Linux

  • IBM AIX

  • IBM Power8

  • FreeBSD

  • NetBSD

  • OpenBSD

  • HP-UX

  • Mac OS X

  • Solaris

  • Windows: all desktop and server versions since 2000 (zabbix Agent only)

For further details, visit Zabbix Documentation at http://www.zabbix.com/documentation.php. It contains a large body of information about installation steps, configuration, performance etc. If you are unsure how to proceed with any task, refer to the Zabbix documentation first. You can find an installation guide there, too.

This Guide does not present all Zabbix settings, but should help you incorporate the RipEX SNMP functionality into the Zabbix software.

[Note]Note

The following guide requires the use of MySQL database (mariadb) in Zabbix. If you choose other software, you will need to alter at least the trap handling bash script provided. This guide was tested in the CentOS 7 Operating System; some tasks may require a different approach in other systems.

3.1.1. Windows Installation

If you choose to use the Windows platform as the host operating system for Zabbix, VMware/VirtualBox software and then the Zabbix Appliance. The Zabbix Appliance can be downloaded from
http://www.zabbix.com/download.php
. Please remember that Zabbix Appliance is not intended for serious production use at this time.

VMware download: https://www.vmware.com/support/
VirtualBox download: https://www.virtualbox.org/wiki/Downloads
See the respective documentation to install and use virtualisation software.

3.2. Templates

After successful installation, you can import any of the predefined templates. Each template is the collection of Zabbix Items corresponding to a set of OIDs, triggers, graphs and applications. The template can be easily linked to any monitored host (RipEX) and you can have access to the desired values very quickly.

3.2.1. What Templates do we Provide?

The Templates list:

  • Name: RipEX Template

    • Consists of all specific OIDs provided by RACOM

    • Implements one neighbouring RipEX monitoring

  • Name: RipEX – RFC1213 Template

    • Consists of supported RFC1213 OIDs

  • Name: RipEX – RS232 Template

    • Consists of supported RS232 OIDs

  • Name: RipEX – SNMP Trapper Template

    • Consists of SNMP trapper items, which are triggered by 15 kinds of traps

  • Name: PING Template

    • Pings a defined host and triggers whenever the host is unreachable

All templates can be downloaded from the RipEX Download site at https://www.racom.eu/download/hw/ripex/free/eng/3_fw/RipEX_Zabbix_templ.zip.

Note that all templates (except of PING template) are ready in two versions – one for SNMPv2c and one for SNMPv3, because of different security parameters.

How do I Import the RipEX Templates?

In order to import the template, click on the Configuration → Templates button at the top of the Zabbix web page. Select the Import Template button at the top right corner.

Importing Template button

Fig. 3.1: Importing Template button

[Important]Important

With Zabbix 3, Value mappings can be imported together with the template. We highly recommend to do that. Check the option “Value mapping” while uploading the templates.

Select the RipEX template file and Import that file. Repeat this step for each template or import the zbx_export_templates-RipEX-ALL.xml template with all templates in one file.

Importing Template options

Fig. 3.2: Importing Template options

Now you can see the RipEX template in the Template list window along with other default templates.

[Note]Note

If you already imported the template and you need to update it, just import the newer version with the same name and the current template will be automatically overwriten. The checkbox for Updating existing template must be checked.

Each Item has its Description, SNMP OID number, community string, UDP port (161), key, update interval and other parameters. One of the key parameter is the update interval, because it defines how often Zabbix will request various replies from the RipEX stations. This interval is predefined to 30 minutes, but you should consider changing it to suit your radio network infrastructure.

The individual items can be in an active or disabled state. By default, only some items are active based on their importance – see the next chapter for more information. If you wish to monitor more values, activate the desired ones. But as already mentioned, preferably use the RipEX Ethernet interface for SNMP communication to free up the radio channel. If this is not possible, consider carefully whether monitoring other values is necessary.

Only monitor the values which you really need and with reasonable update times.

The items are divided into the usage groups, called Applications in Zabbix. These applications serve for better clarification of the defined items.

If you wish to be notified whenever any monitored value is out of its threshold range, you can define a Trigger for it. These notifications are viewable on the Zabbix dashboard, item history or you can have e-mail/jabber/sms notifications enabled. Each notification can have one of six predefined severity levels (warning, critical, …).

We also provide several triggers within the templates. Triggers defined in templates cannot be edited within individual hosts, which means you cannot define various threshold ranges for hosts and each host would have the same threshold range. Please define your own triggers within each individual host.

[Note]Note

You can use a Clone option to create a copy of any template item or trigger for an individual host. In this case, you can edit its predefined values to meet your requirements for each host separately.

Graphs are automatically created for each monitored numeric value, but you can also create special graphs with several values on a single graph. We provide 4 predefined graphs containing some basic watched values like temperature, UCC etc.

For more information, see the Zabbix documentation. You can delete, add or edit any template component. The predefined state serves as a quick start, but you do not have to use them at all and you can create your own set of monitored values/items.

3.2.2. Which Values/Items Should I Monitor?

The templates themselves are fully scalable and consist of many items. However, monitoring all of them is not required in a routine situation. Pre-activated items in RipEX default templates are:

  • RipEX Template

    • Pre-activated Items: 5

    • Modem temperature (°C), RF power (W), TX lost (%), UCC (V), VSWR

  • RipEX – RFC1213 Template

    • All items are disabled by default

  • RipEX – RS232 Template

    • All items are disabled by default

  • RipEX – SNMP Trapper Template

    • Five SNMP trap items and triggers are enabled by default. DQ and RSS triggers need to be cloned for individual hosts, because we cannot predefine remote hosts IP addresses. See Section 4.2, “SNMP Traps/Informs” for more information.

  • PING Template

    • Pre-activated Items: 1

    • Default Update Time: 30 minutes

    • The only active item checks the host reachability and triggers an alarm if the host is not reachable.

[Note]Note

If you need to monitor more than one remote RipEX station, you need to “clone” existing items for the remote station watched values.

3.2.3. Reading Remote Watched Values

Remote Watched values are read by Zabbix using the Dynamic indexes. This works on a basis of “snmpwalk” through all available remote units (neighbours) of specific RipEX (host). When it finds the correct neighbour (correct IP), it reads the watched value for this neighbour. E.g. local RipEX has 3 neighbours (10.10.10.1, .2 and .3) and we need to know the RSS level for the 10.10.10.2 host. Zabbix sends several “snmpgetnext” requests until it reaches the end of this SNMP branch (in our example, 4 snmpgetnext requests are sent). Thanks to this, Zabbix finds out that 10.10.10.2 has for example ID “2” and thus, Zabbix knows how to ask for the RSS value of this particular neighbour and sends the correct snmpget request. All values are readable by OID ending with this previously “unknown” ID.

[Note]Note

Without dynamic indexes, values for several remote units could be mixed together, because each History period, the IDs can be different for particular neighbours.

[Note]Note

Do not read remote watched values and remote statistic values from RipEX unit which is not reachable via Ethernet. If you read it from RipEX reachable via the Radio channel, it could send too much of data over the Radio channel and cause a decrease of available bandwidth for this link. Do it on your own risk and requirements (it is supported).

Each Host linked with a RipEX template automatically obtains {$NEIGHBOUR.1} user MACRO needed for reading remote watched values. This MACRO defines the IP address of the first RipEX neighbour of the particular “local” RipEX (host). If the monitored RipEX has more than one neighbour, you need to add additional neighbours to its MACRO list. Go to the Configuration -> Hosts -> choose the particular RipEX -> Macros -> Inherited and host macros -> Click on the “Add” button and define other neighbours.

Host MACROs

Fig. 3.3: Host MACROs

Each Neighbour IP can be set as required. The default value for the first one is 192.168.169.169.

The {$NEIGHBOUR.1} user MACRO is also used for reading statistics of particular neighbours. The IP addresses are the same (since the firmware 1.6.x) and thus they do not need to be set separately. The only difference is that you also have a “RADIO BROADCAST” line is Statistics which is NOT in the Neighbours menu (RipEX GUI). Configure it as a separate neighbour MACRO, but do not use it for remote watched values.

By default, reading the watched values is disabled. To enable it, go to the Configuration -> Hosts -> choose the host -> Go to the Applications -> Choose “Watched values – Remotes” and enable required values. If more than one neighbour is required, you need to “Clone” the existing Items and change the ID of the specific Neighbour. For example, if you have 3 neighbours, for each Item (RSS, DQ, Temperature, …) you need to:

  • Open this particular Item within the Host’s (local RipEX) watched values Items

  • Click on the “Clone” button

  • Change the ID from 1 to X, where X is the neighbour’s ID (2, 3, …), in the Name, Key and SNMP OID parameters!

  • Click on the “Update” button

  • Repeat the steps for the third neighbour as well

  • Repeat the steps for all required Items

Remote Wached values - Item Cloning

Fig. 3.4: Remote Wached values – Item Cloning

[Note]Note

The same procedure must be done for Radio Statistics. By default, only the first neighbour and Total numbers are pre-defined. Broadcast and other hosts must be defined manually.

Valus from any neighbour can now be displayed in the Latest data menu.

Remote watched values - Latest values

Fig. 3.5: Remote watched values – Latest values

3.2.4. MACROs

Macros are variables, identified by a specific syntax: {MACRO}. MACROs resolve to a specific value depending on the context. Effective use of MACROs allows to save time and make Zabbix configuration more transparent.

With our templates, each RipEX automatically obtains the following MACROs:

  • {$HOST.SSHKEY} – Full path to a stored admin SSH key to access the unit (by default “/home/zabbix/.ssh/id_rsa“). See more details in Chapter 8, RipEX Scripts in Zabbix.

  • {$HOST.SSHPORT} – SSH port to access the unit (by default “22”)

  • {$NEIGHBOUR.1} – Radio IP address of the first Neighbour (usage described in the previous paragraphs, by default “192.168.169.169”)

  • {$SNMP.PORT} – UDP port for SNMP queries (by default “161”)

  • {$SNMP_COMMUNITY} – SNMPv2c community string (security parameter in SNMP version 2, by default “public”)

  • {$SNMP_AUTH} – The authentication passphrase used in SNMPv3 (by default “racom”)

  • {$SNMP_PRIV} – The encryption passphrase used in SNMPv3 (by default “racom”)

  • {$SNMP_USER} – User name used for authentication in SNMPv3 (by default “racom”)

[Note]Note

SNMPv3 MACROs are not defined in SNMPv2c templates.

You can edit the values in Configuration -> Hosts -> choose the particular RipEX -> Macros -> Inherited and host macros. Edit any value and all Items will be automatically updated. Note that SNMPv3 Authentication (MD5, SHA), Encryption (DES, AES) and Security level (NoAuthNoPriv, AuthNoPriv, AuthPriv) methods cannot be defined by MACROs and must be edited within individual Items. Select all Items within the Template and use the “Mass update” button. Edit the parameters as required and all Hosts’ parameters will be changed as well.

[Note]Note

If you need to have different Authentication and Encryption (or other) parameters in various network parts, you might Clone the templates and use particular Template for particular Group of Hosts.

3.3. How to Import Monitored RipEX Stations?

Now you have a working template, but you need to define hosts (RipEX stations). Each RipEX station has its own IP address. The following steps will guide you through the Host Configuration.

To create a host, go to Configuration → Hosts and click on the Create Host button. Define the Host name and its IP address.

Defining the Host name and its IP address

Fig. 3.6: Defining the Host name and its IP address

Alternatively you can define a Group for the hosts. Creating a Group is straightforward. You can create a new one while creating a host or you can do so by going to the Configuration → Groups tab and clicking on the Create Group button.

Linking a template to the host(s) is achieved under the same tab or you can open Template settings and link any desired host to it.

Host template

Fig. 3.7: Host template

You have to set the IP address and the port number (161) for the SNMP interface. Otherwise, you won’t be able to use any SNMP item.

The option “Use bulk requests” can be enabled with RipEX units. This feature enables sending multiple SNMP queries within one UDP datagram.

Defining the SNMP interface

Fig. 3.8: Defining the SNMP interface

[Note]Note

In this Host configuration menu, configure the Host Inventory to be filled in automatically.

Do not forget to edit the Host MACROs (e.g. Neighbours’ IP addresses, SNMPv3 authentication, …), see the previous section for details.

3.3.1. Where can I See the RipEX Monitored Values?

To check monitored values, go to the Monitoring → Latest data tab and choose the desired host from the Menu.

RipEX latest data

Fig. 3.9: RipEX latest data

For each item, you can see a graph or a history table. If a trigger is configured for the item, the graph shows a line with a threshold value.

RipEX graph

Fig. 3.10: RipEX graph

3.4. Value Mappings

Responses from Several OID objects are unsigned integers, but these values do have a special meaning.

Example 3.1. deviceMode

  • “1” stands for “bridge” mode.

  • “2” stands for “router” mode.

Unfortunately, by default, you can see only the numeric values at the Zabbix front-end. The Value mappings are automatically imported with the RipEX template or it can be imported separately in the Administration – General – Value Mappings menu.

[Note]Note

This syntax feature is used throughout all MIB tables, not only the RipEX MIB table.

If you create any Value map manually, follow this procedure.

To add new value mappings, go to Administration → General → Value Mapping. Click on the “Create value map” button and insert the values, which are mentioned on the following lines. There is an Item list, which uses these value mappings (either link them manually or automatically by importing the template).

[Note]Note

There are also several value mappings used at RFC1213 and RS232.

3.4.1. Value Mappings List

RipEX.AlmStateItems:
-1 ⇒ unknownAlarm state – COM1 interface Rx to Tx packets ratio
0 ⇒ inactiveAlarm state – COM2 interface Rx to Tx packets ratio
1 ⇒ activeAlarm state – Device temperature
 Alarm state – DQ
 Alarm state – ETH interface Rx to Tx packets ratio
 Alarm state – HW Input
 Alarm state – RF Power
 Alarm state – RSS
 Alarm state – Tx lost
 Alarm state – UCC
 Alarm state – Unit ready
 Alarm state – VSWR
RipEX.BackupPathsStateItems:
0 ⇒ unknownBackup Paths 1 – Alternative Paths – Currently passive paths State
1 ⇒ upBackup Paths 2 – Alternative Paths – Currently passive paths State
2 ⇒ downBackup Paths 1 – Alternative Paths – Currently used path State
 Backup Paths 2 – Alternative Paths – Currently used path State
RipEX.comProtocol:Items:
0 ⇒ noneCOM1 – Protocol
3 ⇒ AsyncLinkCOM2 – Protocol
4 ⇒ ModbusTS 1 COM user protocol type
5 ⇒ IEC101TS 2 COM user protocol type
6 ⇒ DNP3TS 3 COM user protocol type
7 ⇒ UNITS 4 COM user protocol type
8 ⇒ ComliTS 5 COM user protocol type
9 ⇒ DF1 
10 ⇒ Profibus 
12 ⇒ C24 
13 ⇒ RP570 
14 ⇒ Cactus 
15 ⇒ ITT Flygt 
18 ⇒ SLIP 
19 ⇒ Siemens 3964 (R) 
20 ⇒ PR2000 
RipEX.deviceModeItems:
1 ⇒ bridgeStation working mode
2 ⇒ router 
RipEX.eDhcpItems:
0 ⇒ offEthernet interface DHCP mode
1 ⇒ server 
2 ⇒ client 
RipEX.eSpeedItems:
0 ⇒ autoEthernet interface bit rate and duplex settings
1 ⇒ s-100baseTX-Full 
2 ⇒ s-100baseTX-Half 
3 ⇒ s-10baseT-Full 
4 ⇒ s-10baseT-Half 
RipEX.ifTmATMItems:
0 ⇒ maskTCP Modbus COM protocol address translation mode
1 ⇒ table 
RipEX.IOStateItems:
-1 ⇒ unknownHW alarm input contact state
0 ⇒ off 
1 ⇒ on 
RipEX.RelayContactTypeItems:
0 ⇒ offHW alarm input contact type
1 ⇒ normally-closed 
2 ⇒ normally-open 
RipEX.rEncryptionItems:
0 ⇒ offRadio interface encryption method
1 ⇒ aes256 
RipEX.rRfPwrItems:
0 ⇒ mE-100mWRadio interface RF power
1 ⇒ mEr-200mW 
2 ⇒ mE-500mW 
3 ⇒ mE-1W 
4 ⇒ mE-2W 
5 ⇒ mE-3W 
6 ⇒ mE-4W 
7 ⇒ mE-5W 
8 ⇒ mE-10W 
9 ⇒ mE-8W 
17 ⇒ mL-200W 
18 ⇒ mL-500mW 
19 ⇒ mL-1W 
20 ⇒ mL-2W 
RipEX.SettingStateItems:
0 ⇒ offEthernet interface broadcast and multicast status
1 ⇒ onEthernet interface shaping status
 Terminal server status
 TCP Modbus COM protocol broadcast accept
 Radio interface FEC
 TS 1 on/off
 TS 2 on/off
 TS 3 on/off
 TS 4 on/off
 TS 5 on/off
RipEX.tsEthProtTypeItems:
0 ⇒ tcpTS 1 Ethernet protocol type
1 ⇒ udpTS 2 Ethernet protocol type
 TS 3 Ethernet protocol type
 TS 4 Ethernet protocol type
 TS 5 Ethernet protocol type
RFC1213.ifTypeItems:
1 ⇒ otherRFC1213 – Interface 1 – The type of interface (physical/link protocol)
2 ⇒ regular1822RFC1213 – Interface 2 – The type of interface (physical/link protocol)
3 ⇒ hdh1822 
4 ⇒ ddn-x25 
5 ⇒ rfc877-x25 
6 ⇒ ethernet-csmacd 
7 ⇒ iso88023-csmacd 
8 ⇒ iso88024-tokenBus 
9 ⇒ iso88025-tokenRing 
10 ⇒ iso88026-man 
11 ⇒ starLan 
12 ⇒ proteon-10Mbit 
13 ⇒ proteon-80Mbit 
14 ⇒ hyperchannel 
15 ⇒ fddi 
16 ⇒ lapb 
17 ⇒ sdlc 
18 ⇒ ds1 
19 ⇒ e1 
20 ⇒ basicISDN 
21 ⇒ primaryISDN 
22 ⇒ propPointToPointSerial 
23 ⇒ ppp 
24 ⇒ softwareLoopback 
25 ⇒ eon 
26 ⇒ ethernet-3Mbit 
27 ⇒ nsip 
28 ⇒ slip 
29 ⇒ ultra 
30 ⇒ ds3 
31 ⇒ sip 
32 ⇒ frame-relay 
RFC1213.ipForwardingItems:
1 ⇒ forwardingRFC1213 – The indication of whether this entity is acting as an IP gateway
2 ⇒ not-forwarding 
RFC1213.snmpEnableAuthenTrapsItems:
1 ⇒ enabledRFC1213 – SNMP – Indicates whether the SNMP agent process is permitted to generate authentication-failure traps
2 ⇒ disabled 
RS232.rs232AsyncPortParityItems:
1 ⇒ noneRS232 port 1 – The port’s sense of a character parity bit
2 ⇒ oddRS232 port 2 – The port’s sense of a character parity bit
3 ⇒ even 
4 ⇒ mark 
5 ⇒ space 
RS232.rs232AsyncPortStopBitsItems:
1 ⇒ oneRS232 port 1 – The port’s number of stop bits
2 ⇒ twoRS232 port 2 – The port’s number of stop bits
3 ⇒ oneAndHalf 
4 ⇒ dynamic 
RS232.rs232PortInFlowTypeItems:
1 ⇒ noneRS232 port 1 – The port’s type of input flow control
2 ⇒ ctsRtsRS232 port 2 – The port’s type of input flow control
3 ⇒ dsrDtrRS232 port 1 – The port’s type of output flow control
 RS232 port 2 – The port’s type of output flow control
RS232.rs232PortTypeItems:
1 ⇒ otherRS232 port 1 – The port’s hardware type
2 ⇒ rs232RS232 port 2 – The port’s hardware type
3 ⇒ rs422 
4 ⇒ rs423 
5 ⇒ v35 
6 ⇒ x21 
ICMP ping – AccessibilityItems:
0 ⇒ ICMP ping failsICMP ping – Accessibility
1 ⇒ ICMP ping successful 
[Note]Note

Two value mappings should already be included in the Zabbix itself, see “SNMP interface status (ifAdminStatus)” and “SNMP interface status (ifOperStatus)” in the Value mapping menu. Four Items from the RFC1213 template use these mappings.

3.4.2. How can I Edit an Item to Link with a Value Map?

Go to Configuration → Templates and choose one of the imported template. Open the item configuration window and click on the chosen item to view and edit its settings.

Choose the appropriate value map in the Menu “Show value” and save the changes.

Example: RipEX.eDhpc

Linking a value map to an item

Fig. 3.11: Linking a value map to an item