Skip to content

Multivendor Zabbix Monitoring

This lab, using Containerlab, simulates the interconnection of three routers from different vendors: vJunos (Juniper), Huawei VRP, and Cisco XRD.


1. Description

1.1 Lab Objective

The "Multivendor Zabbix Monitoring" lab demonstrates the simulation of the interconnection of three routers from different vendors—vJunos (Juniper), Huawei VRP, and Cisco XRD—using Containerlab. The devices are interconnected in a ring topology, and routing is performed by the OSPF protocol, allowing dynamic route exchange. Communication with Zabbix occurs via SNMP, enabling real-time monitoring.

1.2 Lab Topology

Lab Topology

The topology of this lab consists of three routers interconnected in a ring topology, allowing direct communication between the devices. Each router is configured with OSPF, ensuring dynamic routing between interfaces. Monitoring is performed from an external network called br-lab, to which the routers are connected by virtual interfaces. This configuration allows Zabbix to monitor the connectivity and performance of the network in real-time, using SNMP as the metric collection protocol.

2. Applications

Application Example

This lab can be used in various academic and professional contexts. It is useful for simulating real-world network operation and monitoring scenarios, serving as an environment for validating configurations and testing interoperability between routing protocols and monitoring tools.

Possible Applications:

  • Training of NOC (Network Operations Center) teams: Replicates real-world connectivity situations between Juniper, Huawei, and Cisco routers in a ring topology, using OSPF and SNMP, allowing technicians to learn how to detect, analyze, and resolve failures.
  • Evaluation of interoperability between vendors: Allows testing how different manufacturers interact via OSPF, analyzing route convergence, and identifying inconsistencies in the dynamic exchange of routing information.
  • Validation of SNMP templates in Zabbix: Controlled environment to validate, adjust, or develop SNMP monitoring templates for multiple router manufacturers, ensuring compatibility and accuracy in metric collection.
  • Teaching of dynamic routing protocols: Provides practical learning about the configuration, maintenance, and exchange of routes via OSPF in point-to-point and ring topologies, including failure analysis and reconvergence.
  • Monitoring and automatic discovery tests: Allows evaluating the automatic device discovery functionality via SNMP and the monitoring of connectivity and performance in real-time, simulating various network scenarios.
  • Simulation of network policies and ACLs: Enables applying traffic filtering rules and verifying their impact on communication and monitoring, with analysis of logs and SNMP traps in Zabbix.

3. Requirements

Below are listed the minimum hardware and software requirements to run the lab. Be sure to include essential tools such as Containerlab and Docker, as well as the previously created br-lab network. To learn more about these items, access:

Minimum Requirements Table:

Requirement Details
CPUs 4 vCPUs
RAM Memory 8 GB
Disk Space 10 GB (recommended)
Containerlab 0.45.0
Docker Engine 23.0.3
Images vr-vjunos:23.2R1.14, vrnetlab/huawei_vrp:ne40e-8.180, xrd-control-plane:7.10.2
Network Created br-lab

Attention

Verify that your processor has hardware virtualization support and that this feature is enabled in the BIOS/UEFI. - In Intel processors, this technology is called VT-x (Intel Virtualization Technology). - In AMD processors, it is known as AMD-V (AMD Virtualization).

Without this feature enabled, images like vJunos-router will not work correctly.


4. Deploying the Lab

Here are the instructions to deploy the lab. You can choose a ready-made deployment or a customized one.

4.1 Ready-Made Deployment

This method allows the user to download a pre-assembled version of the lab, with the topology and configurations already defined. Simply download the repository and proceed to the start of the execution.

Tip

Ready-made deployment is useful for those who want to start quickly with a configured environment.

Downloading the Lab

To download the lab, execute the command corresponding to your operating system.

curl -L -o get.sh "https://git.rnp.br/redes-abertas/labs/-/raw/main/monitoramento-zabbix-multvendor/get.sh" && sh get.sh && cd monitoramento-zabbix-multvendor
curl -L -o get.bat "https://git.rnp.br/redes-abertas/labs/-/raw/main/monitoramento-zabbix-multvendor/get.bat" && call get.bat && cd monitoramento-zabbix-multvendor

This command will download the installation script and direct you to the lab directory.

Tip

Before running the scripts, check if the execution permissions are correct (use chmod +x get.sh on Linux/Mac).


5. Starting the Lab

After downloading or customizing, follow the steps below to start the lab. Execute the command below inside the downloaded directory.

sudo containerlab deploy

This command will start the topology defined in the lab and create all necessary containers.

Tip

If an error occurs, check the command output for possible error messages. Use docker logs <container_name> to debug.


6. Access

After the lab is started, you can access the devices and services configured on the network.

6.1 Table of IPs and Service Ports

Here is an example of a table of devices, IPs, and service ports available in the lab.

Device Access IP Port Service
node1 172.10.10.201 22 SSH
node2 172.10.10.202 22 SSH
node3 172.10.10.203 22 SSH
Zabbix Server 172.10.10.115 10051 Zabbix Server
Zabbix Frontend 172.10.10.116 880/443 Web UI (Zabbix)
Zabbix Agent 172.10.10.117 10050 Zabbix Agent
Zabbix Database 172.10.10.118 5432 PostgreSQL
Graphite 172.10.10.119 8080 Web UI (Graphite)

6.2 Access Passwords

Service User Password
node1 (SSH) admin admin@123
node2 (SSH) clab clab@123
node3 (SSH) admin admin
Zabbix (Web UI) Admin zabbix
Zabbix Database zabbix zabbixdatabase

Attention

Before accessing, access the log of a device to verify that it has been started and configured correctly.


7. Next Steps

When starting the lab, Zabbix will be bare without templates. To configure automatic discovery and templates, access Configuring Auto Discovery

Attention

Currently, automatic discovery is only adding the correct template for Juniper. For other manufacturers, you must add the template manually.


without altering the structure of the documentation, and without adding anything, and without altering the links or references.