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 |
---|---|
The following guide was tested with Zabbix release 5.0.x. 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.
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 |
---|---|
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 CentOS7 and CentOS8 operating systems; some tasks may require a different approach in other systems. |
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.
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.
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 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.
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.
![]() | Important |
---|---|
Since 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.
Now you can see the RipEX template in the Template list window along with other default templates.
![]() | 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 |
---|---|
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.
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 |
---|---|
If you need to monitor more than one remote RipEX station, you need to “clone” existing items for the remote station 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 |
---|---|
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 |
---|---|
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.
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
![]() | 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.
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 |
---|---|
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 |
---|---|
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. |
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.
Alternatively you can define a Group for the hosts. Creating a
is straightforward. You can create a new one while creating a host or you can do so by going to the tab and clicking on the 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.
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.
![]() | 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.
To check monitored values, go to the Monitoring → Latest data tab and choose the desired host from the Menu.
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.
Responses from Several OID objects are unsigned integers, but these values do have a special meaning.
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 |
---|---|
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 |
---|---|
There are also several value mappings used at RFC1213 and RS232. |
RipEX.AlmState | Items: |
---|---|
-1 ⇒ unknown | Alarm state – COM1 interface Rx to Tx packets ratio |
0 ⇒ inactive | Alarm state – COM2 interface Rx to Tx packets ratio |
1 ⇒ active | Alarm 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.BackupPathsState | Items: |
---|---|
0 ⇒ unknown | Backup Paths 1 – Alternative Paths – Currently passive paths State |
1 ⇒ up | Backup Paths 2 – Alternative Paths – Currently passive paths State |
2 ⇒ down | Backup Paths 1 – Alternative Paths – Currently used path State |
Backup Paths 2 – Alternative Paths – Currently used path State |
RipEX.comProtocol: | Items: |
---|---|
0 ⇒ none | COM1 – Protocol |
3 ⇒ AsyncLink | COM2 – Protocol |
4 ⇒ Modbus | TS 1 COM user protocol type |
5 ⇒ IEC101 | TS 2 COM user protocol type |
6 ⇒ DNP3 | TS 3 COM user protocol type |
7 ⇒ UNI | TS 4 COM user protocol type |
8 ⇒ Comli | TS 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.deviceMode | Items: |
---|---|
1 ⇒ bridge | Station working mode |
2 ⇒ router |
RipEX.eDhcp | Items: |
---|---|
0 ⇒ off | Ethernet interface DHCP mode |
1 ⇒ server | |
2 ⇒ client |
RipEX.eSpeed | Items: |
---|---|
0 ⇒ auto | Ethernet interface bit rate and duplex settings |
1 ⇒ s-100baseTX-Full | |
2 ⇒ s-100baseTX-Half | |
3 ⇒ s-10baseT-Full | |
4 ⇒ s-10baseT-Half |
RipEX.ifTmATM | Items: |
---|---|
0 ⇒ mask | TCP Modbus COM protocol address translation mode |
1 ⇒ table |
RipEX.IOState | Items: |
---|---|
-1 ⇒ unknown | HW alarm input contact state |
0 ⇒ off | |
1 ⇒ on |
RipEX.RelayContactType | Items: |
---|---|
0 ⇒ off | HW alarm input contact type |
1 ⇒ normally-closed | |
2 ⇒ normally-open |
RipEX.rEncryption | Items: |
---|---|
0 ⇒ off | Radio interface encryption method |
1 ⇒ aes256 |
RipEX.rRfPwr | Items: |
---|---|
0 ⇒ mE-100mW | Radio 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.SettingState | Items: |
---|---|
0 ⇒ off | Ethernet interface broadcast and multicast status |
1 ⇒ on | Ethernet 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.tsEthProtType | Items: |
---|---|
0 ⇒ tcp | TS 1 Ethernet protocol type |
1 ⇒ udp | TS 2 Ethernet protocol type |
TS 3 Ethernet protocol type | |
TS 4 Ethernet protocol type | |
TS 5 Ethernet protocol type |
RFC1213.ifType | Items: |
---|---|
1 ⇒ other | RFC1213 – Interface 1 – The type of interface (physical/link protocol) |
2 ⇒ regular1822 | RFC1213 – 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.ipForwarding | Items: |
---|---|
1 ⇒ forwarding | RFC1213 – The indication of whether this entity is acting as an IP gateway |
2 ⇒ not-forwarding |
RFC1213.snmpEnableAuthenTraps | Items: |
---|---|
1 ⇒ enabled | RFC1213 – SNMP – Indicates whether the SNMP agent process is permitted to generate authentication-failure traps |
2 ⇒ disabled |
RS232.rs232AsyncPortParity | Items: |
---|---|
1 ⇒ none | RS232 port 1 – The port’s sense of a character parity bit |
2 ⇒ odd | RS232 port 2 – The port’s sense of a character parity bit |
3 ⇒ even | |
4 ⇒ mark | |
5 ⇒ space |
RS232.rs232AsyncPortStopBits | Items: |
---|---|
1 ⇒ one | RS232 port 1 – The port’s number of stop bits |
2 ⇒ two | RS232 port 2 – The port’s number of stop bits |
3 ⇒ oneAndHalf | |
4 ⇒ dynamic |
RS232.rs232PortInFlowType | Items: |
---|---|
1 ⇒ none | RS232 port 1 – The port’s type of input flow control |
2 ⇒ ctsRts | RS232 port 2 – The port’s type of input flow control |
3 ⇒ dsrDtr | RS232 port 1 – The port’s type of output flow control |
RS232 port 2 – The port’s type of output flow control |
RS232.rs232PortType | Items: |
---|---|
1 ⇒ other | RS232 port 1 – The port’s hardware type |
2 ⇒ rs232 | RS232 port 2 – The port’s hardware type |
3 ⇒ rs422 | |
4 ⇒ rs423 | |
5 ⇒ v35 | |
6 ⇒ x21 |
ICMP ping – Accessibility | Items: |
---|---|
0 ⇒ ICMP ping fails | ICMP ping – Accessibility |
1 ⇒ ICMP ping successful |
![]() | 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. |
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