← All articles
black and silver round ball

LibreNMS: Network Monitoring and Autodiscovery for Your Homelab

Monitoring 2026-03-23 · 4 min read librenms snmp network-monitoring observability homelab
By HomeLab Starter Editorial TeamHome lab enthusiasts covering hardware setup, networking, and self-hosted services for home and small office environments.

Most homelab monitoring setups focus on server metrics — CPU, RAM, disk — using tools like Prometheus and Grafana. But what about your switches, access points, UPS units, and other network gear? That's where LibreNMS shines. It's a full-featured network monitoring system that speaks SNMP natively and can autodiscover every device on your network.

Photo by Javier Miranda on Unsplash

What LibreNMS Does

LibreNMS is a fork of Observium that's been community-developed since 2013. It monitors network devices via SNMP, tracks interface bandwidth, generates historical graphs, sends alerts, and maintains a complete inventory of your infrastructure. Think of it as the homelab equivalent of what enterprise NOCs use to monitor thousands of devices.

Key capabilities:

Deploying LibreNMS with Docker

The official Docker image is the easiest path. Create a docker-compose.yml:

services:
  librenms:
    image: librenms/librenms:latest
    container_name: librenms
    hostname: librenms
    ports:
      - "8000:8000"
    environment:
      - DB_HOST=db
      - DB_NAME=librenms
      - DB_USER=librenms
      - DB_PASSWORD=changeme_db_password
      - DB_TIMEOUT=60
      - TZ=America/Los_Angeles
    volumes:
      - ./data:/data
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_started
    restart: unless-stopped

  dispatcher:
    image: librenms/librenms:latest
    container_name: librenms-dispatcher
    hostname: librenms-dispatcher
    environment:
      - DB_HOST=db
      - DB_NAME=librenms
      - DB_USER=librenms
      - DB_PASSWORD=changeme_db_password
      - DISPATCHER_NODE_ID=dispatcher1
      - SIDECAR_DISPATCHER=1
      - TZ=America/Los_Angeles
    volumes:
      - ./data:/data
    depends_on:
      librenms:
        condition: service_started
    restart: unless-stopped

  db:
    image: mariadb:10.11
    container_name: librenms-db
    environment:
      - MYSQL_DATABASE=librenms
      - MYSQL_USER=librenms
      - MYSQL_PASSWORD=changeme_db_password
      - MYSQL_ROOT_PASSWORD=changeme_root_password
    volumes:
      - ./db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 10s
      timeout: 5s
      retries: 3
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    container_name: librenms-redis
    restart: unless-stopped

Start it up:

docker compose up -d

Access the web UI at http://your-server:8000. The first-run wizard walks you through creating an admin account.

Configuring SNMP on Your Devices

LibreNMS needs SNMP access to monitor devices. Most managed switches, routers, and NAS units support SNMP — you just need to enable it.

Linux servers

Install the SNMP daemon:

sudo apt install snmpd

Edit /etc/snmp/snmpd.conf:

rocommunity homelab_readonly default
syslocation "Home Lab Rack"
syscontact [email protected]
agentaddress udp:161

Restart and enable:

sudo systemctl restart snmpd
sudo systemctl enable snmpd

Managed switches

Most managed switches have an SNMP settings page in their web UI. Enable SNMPv2c with a read-only community string. Use the same community string across all devices to simplify autodiscovery.

SNMPv3 for better security

If your devices support it, SNMPv3 adds authentication and encryption:

# On Linux hosts
createUser librenms_user SHA "auth_password" AES "priv_password"
rouser librenms_user priv

In LibreNMS, add the device with SNMPv3 credentials specifying authPriv security level, SHA auth, and AES privacy protocols.

Like what you're reading? Subscribe to HomeLab Starter — free weekly guides in your inbox.

Setting Up Autodiscovery

Once your first device is added manually, LibreNMS can discover the rest automatically. Go to Settings → Discovery → General and configure:

  1. Enable autodiscovery: Turn on CDP, LLDP, OSPF, and ARP table discovery
  2. Discovery networks: Add your homelab subnets (e.g., 10.0.0.0/24, 192.168.1.0/24)
  3. Community strings: Add your SNMP community strings so discovered devices can be polled

LibreNMS polls every 5 minutes by default. After a discovery cycle or two, your device list should populate with switches, APs, servers, and anything else responding to SNMP.

Building Useful Alert Rules

Raw monitoring without alerts is just data hoarding. Set up rules that actually matter:

# High bandwidth utilization (>80% on any port for 15 minutes)
%ports.ifInOctets_rate > ((%ports.ifSpeed / 100) * 80)

# Device unreachable
%devices.status = 0

# High CPU on network devices
%processors.processor_usage >= 90

# Storage filling up
%storage.storage_perc >= 85

Configure alert transports under Settings → Alerting → Alert Transports. Discord webhooks work well for homelab notifications — create a #network-alerts channel and point a webhook URL at it.

Weathermaps and Dashboards

LibreNMS includes a weathermap plugin that creates visual network topology diagrams with real-time bandwidth overlays. Enable it under Settings → Plugins → Weathermap.

You'll draw your network topology manually — placing nodes for each device and drawing links between ports. The map then shows live traffic with color-coded bandwidth utilization. Green means idle, yellow means moderate, red means saturated.

For integration with existing Grafana dashboards, LibreNMS exposes all metrics via its API:

curl -H "X-Auth-Token: your_api_token" \
  http://librenms:8000/api/v0/devices

The community also maintains a Grafana datasource plugin that pulls LibreNMS data directly into your existing dashboards.

Performance Tuning

A default LibreNMS install handles 50–100 devices without issues. For larger homelabs:

Monitor LibreNMS itself — check the Poller tab to ensure all devices complete polling within the 5-minute window. If polling overruns, you need more dispatcher workers or fewer enabled modules.

LibreNMS vs Other Monitoring Tools

If you already run Prometheus and Grafana, you might wonder why you'd add LibreNMS. The answer is specialization. Prometheus excels at application and server metrics with its pull-based model. LibreNMS excels at network device monitoring with its SNMP-native approach.

Most managed switches and enterprise APs don't expose Prometheus endpoints, but they all speak SNMP. LibreNMS handles the device discovery, MIB parsing, and per-port tracking that would require significant custom work in Prometheus.

The ideal homelab monitoring stack uses both: Prometheus and Grafana for your servers and containers, LibreNMS for your network infrastructure. They complement each other rather than compete.

Wrapping Up

LibreNMS fills a real gap in most homelab monitoring setups. It gives you visibility into the network layer — switches, routers, APs, UPS units — that server-focused tools miss. The autodiscovery alone saves hours of manual configuration, and the historical bandwidth graphs help you make informed decisions about network upgrades. Set it up once and it quietly watches everything, alerting you only when something needs attention.

Get free weekly tips in your inbox. Subscribe to HomeLab Starter