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
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:
- Creation of the br-lab Network
- Docker Installation
-
Containerlab Installation
And have Zabbix previously installed. To learn more about installing Zabbix, access: Zabbix Installation
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.