Juniper Vjunos Telegraf Monitoring
This lab simulates, via Containerlab, the interconnection between three routers representing the GO–MS–MT connection in the RNP backbone, with dynamic routing via OSPF, flow export via IPFIX, and monitoring via SNMP/Telemetry using Telegraf, InfluxDB, Chronograf, and Grafana.
1. Description
1.1 Lab Objective
The telegraf-lab laboratory aims to simulate traffic monitoring of a topology with three interconnected routers (GO, MS, and MT), using dynamic routing protocols (OSPF), flow export (IPFIX), and monitoring with SNMP. The collection and visualization of network metrics are performed with modern observability tools: Telegraf, InfluxDB, Chronograf, and Grafana.
1.2 Lab Topology
Topology Description
- Three routers (GO, MS, MT) interconnected in a linear topology with point-to-point /31 links.
- Dynamic routing via OSPF between the routers.
- Collection of traffic metrics via IPFIX and SNMP.
- Observability with the TICK stack (Telegraf, InfluxDB, Chronograf) and Grafana.
- External network
br-labconnects the nodes to the monitoring infrastructure.
2. Applications
Examples of Applications
This lab can be explored in various academic and applied research scenarios, serving as a basis for experimentation in monitoring and visualizing traffic in networks with multiple routers.
Possible Applications:
- Training network and NOC teams: Simulates real operations with OSPF, IPFIX, and SNMP, facilitating the analysis of traffic behavior.
- Traffic analysis with IPFIX: Allows exporting flows and studying traffic patterns between domains.
- Visualization of metrics with Grafana: Supports studies of performance, bottlenecks, and peak network utilization.
- Distributed monitoring with Telegraf: Evaluates the simultaneous collection of data from multiple routers with different protocols.
- Teaching routing and telemetry protocols: Ideal environment for practical advanced networking classes.
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, in addition to the previously created br-lab network.
To learn more about these items, access:
And have the telegraf stack previously installed, to learn more about installing zabbix access: Telegraf Installation
Minimum Requirements Table:
| Requirement | Details |
|---|---|
| CPUs | 6 vCPUs |
| RAM | 12 GB |
| Disk Space | 10 GB (recommended) |
| Containerlab | 0.45.0 or higher |
| Docker Engine | 23.0.3 or higher |
| Images | vr-vjunos:23.2R1.14 |
| Docker Network | br-lab |
Attention
Check if your processor has hardware virtualization support and if 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
You can deploy using a ready-made script or manually configure the lab files.
4.1 Ready Deployment
This method allows the user to download a pre-assembled version of the laboratory, with the topology and configurations already defined. Just download the repository and proceed to the start of execution.
Tip
Ready deployment is useful for those who want to get started quickly with a configured environment.
Downloading the Lab
Execute the script below to download and configure the lab automatically:
curl -L -o get.sh "https://git.rnp.br/redes-abertas/labs/-/raw/main/telegraf-lab/get.sh?ref_type=heads&inline=false" && sh get.sh && cd telegraf-lab
curl -L -o get.bat "https://git.rnp.br/redes-abertas/labs/-/raw/main/telegraf-lab/get.bat?ref_type=heads&inline=false" && call get.bat && cd telegraf-lab
Tip
On Linux/Mac, use chmod +x get.sh before running the script if it does not have execute permission.
5. Initializing the Lab
After downloading or customizing, follow the steps below to start the lab. Run the command below inside the downloaded directory.
sudo containerlab deploy
This command will create the router containers, configure the links, and start the monitoring services.
Debugging
Use docker logs -f <container_name> to check the status of the services if something does not work.
6. Accessing the Devices
6.1 Service IPs and Ports
| Device | Access IP | Port(s) | Service |
|---|---|---|---|
| Router GO | 172.10.10.6 | 22 | SSH |
| Router MS | 172.10.10.7 | 22 | SSH |
| Router MT | 172.10.10.8 | 22 | SSH |
| Telegraf | 172.10.10.114 | 161 | Metrics collection |
| InfluxDB | 172.10.10.112 | 8086 | Time series database |
| Chronograf | 172.10.10.113 | 8888 | Analysis UI |
| Grafana | 172.10.10.111 | 3000 | Web Dashboard |
| Graphite | 172.10.10.119 | 8080 | Web UI (Graphite) |
6.2 Access Passwords
| Service | User | Password |
|---|---|---|
| Routers (SSH) | admin |
admin@123 |
| Grafana | admin |
admin |
| InfluxDB | admin |
influxpassword |
Initialization Check
Before accessing the services, use docker ps and check the container logs to ensure they are working correctly.
7. Observability and Visualization
7.1 Telegraf
Telegraf is configured to collect metrics via:
- SNMP: periodic reading of routers.
- IPFIX: export of traffic flows.
- Docker and system: collection of local container metrics.
7.2 InfluxDB
Time series database where Telegraf metrics are stored. It can be accessed on port 8086.
7.3 Chronograf
Web interface for analyzing metrics stored in InfluxDB. Accessible at http://172.10.10.113:8888.
7.4 Grafana
Interactive visualization platform where data is presented in custom dashboards.