LibreNMS – Dựng hệ thống giám sát Network miễn phí cho IT

LibreNMS là gì? Hướng dẫn cài đặt hệ thống giám sát mạng miễn phí bằng Docker

Nếu bạn đang quản lý một hệ thống có vài chục Switch, Router, Firewall, Access Point hoặc Server, sẽ có một vấn đề rất thực tế: Làm sao IT biết thiết bị nào đang Down, Interface nào đang lỗi hoặc đường truyền nào đang có vấn đề trước khi người dùng gọi báo?

Với 5–10 thiết bị, chúng ta vẫn có thể SSH vào từng thiết bị để kiểm tra. Nhưng khi hệ thống tăng lên 50, 100 hoặc vài trăm thiết bị, việc kiểm tra thủ công gần như không còn khả thi.

Đây là lúc chúng ta cần một Network Monitoring System (NMS). Một trong những giải pháp mã nguồn mở mà mình đang sử dụng là LibreNMS.

LibreNMS là gì?

LibreNMS là một hệ thống giám sát mạng mã nguồn mở, cho phép IT tập trung theo dõi Router, Switch, Firewall, Server, Access Point, UPS và nhiều loại thiết bị khác từ một giao diện quản trị.

LibreNMS chủ yếu sử dụng SNMP (Simple Network Management Protocol) để thu thập thông tin từ thiết bị mạng.

Thay vì phải đăng nhập từng thiết bị riêng lẻ, IT có thể sử dụng LibreNMS như một trung tâm giám sát toàn bộ Network Infrastructure.

LibreNMS có thể giám sát những gì?

Tùy vào thiết bị và các OID mà vendor cung cấp qua SNMP, LibreNMS có thể thu thập nhiều thông tin như:

  • CPU Usage
  • Memory Usage
  • Device Uptime
  • Traffic trên từng Interface
  • Trạng thái Up/Down của Interface
  • Packet Error và Packet Discard
  • Bandwidth Usage
  • Temperature
  • Fan Status
  • Power Supply
  • Storage
  • Hardware Sensor
  • VLAN
  • BGP
  • OSPF

Điểm quan trọng hơn là LibreNMS có hệ thống Alert, giúp IT chủ động phát hiện sự cố.

Một số tình huống cảnh báo thực tế

  • Switch mất kết nối.
  • Router hoặc Firewall Down.
  • Interface Uplink bị Down.
  • CPU thiết bị vượt ngưỡng 90%.
  • RAM sử dụng quá cao.
  • Traffic trên Interface tăng bất thường.
  • Temperature thiết bị vượt ngưỡng.

Thay vì đợi người dùng gọi IT:

“Anh ơi, mạng đang bị chậm.”

IT có thể chủ động phát hiện vấn đề thông qua hệ thống Monitoring trước khi sự cố ảnh hưởng trên diện rộng.

Mô hình hoạt động của LibreNMS

Một mô hình LibreNMS cơ bản có thể hình dung như sau:

Router ────────┐
Firewall ──────┤
Core Switch ───┤
Access Switch ─┼── SNMP ──> LibreNMS ──> Dashboard
Access Point ──┤                         └──> Alert
Server ────────┤
UPS ───────────┘

Các thiết bị hỗ trợ SNMP đều có khả năng đưa vào hệ thống Monitoring.

Ví dụ:

  • Cisco Router và Switch
  • Fortinet FortiGate
  • Aruba
  • HPE
  • MikroTik
  • Linux Server
  • UPS
  • Printer

Chuẩn bị Server cài đặt LibreNMS

Trong bài viết này mình triển khai LibreNMS bằng Docker để việc cài đặt, backup và migrate hệ thống sau này đơn giản hơn.

Môi trường sử dụng:

  • Ubuntu Server 24.04 LTS
  • Docker
  • Docker Compose
  • LibreNMS

Hướng dẫn cài LibreNMS bằng Docker trên Ubuntu Server

Bước 1: Cập nhật Ubuntu Server

sudo apt update
sudo apt upgrade -y

Bước 2: Cài đặt Docker

Cài Docker và Docker Compose:

sudo apt install docker.io docker-compose-v2 -y

Kiểm tra Docker:

docker --version

Kiểm tra Docker Compose:

docker compose version

Nếu cả hai lệnh trả về version tương ứng thì có thể tiếp tục.

Bước 3: Download LibreNMS Docker

Clone repository Docker của LibreNMS:

git clone https://github.com/librenms/docker.git

Di chuyển vào thư mục Docker Compose:

cd docker/examples/compose

Bước 4: Cấu hình LibreNMS

Mở file môi trường:

nano .env

Cần kiểm tra và cấu hình các thông số liên quan đến Database và timezone, ví dụ:

MYSQL_DATABASE
MYSQL_USER
MYSQL_PASSWORD
MYSQL_ROOT_PASSWORD
TZ

Với Server đặt tại Việt Nam, có thể cấu hình timezone:

TZ=Asia/Ho_Chi_Minh

Lưu ý: Không nên sử dụng các mật khẩu đơn giản cho MySQL khi triển khai trên môi trường Production.

Bước 5: Khởi động LibreNMS

Khởi động toàn bộ container:

docker compose up -d

Kiểm tra trạng thái:

docker compose ps

Nếu các container cần thiết đều ở trạng thái hoạt động, chúng ta có thể truy cập giao diện Web của LibreNMS.

Ví dụ:

http://IP-SERVER:8000

Port thực tế phụ thuộc vào cấu hình Docker Compose đang sử dụng.

Sau đó thực hiện các bước thiết lập ban đầu và tạo tài khoản Administrator.

Cấu hình SNMP để LibreNMS giám sát thiết bị

Đây là phần quan trọng cần hiểu khi mới triển khai LibreNMS.

LibreNMS không tự nhiên biết được CPU, RAM, Interface hay Traffic của Switch. Phần lớn những dữ liệu này được thu thập thông qua SNMP – Simple Network Management Protocol.

Ví dụ bật SNMP trên Cisco

Ví dụ cấu hình SNMP v2c cơ bản:

conf t

snmp-server community YOUR_COMMUNITY RO

end
write memory

Trong đó:

  • YOUR_COMMUNITY: SNMP Community String.
  • RO: Read Only.

Đây chỉ là cấu hình đơn giản để minh họa. Trong môi trường Production, không nên mở SNMP một cách không giới hạn.

Nên giới hạn IP của Monitoring Server được phép thực hiện SNMP Query bằng ACL hoặc sử dụng SNMPv3 nếu thiết bị hỗ trợ.

Thêm thiết bị vào LibreNMS

Sau khi SNMP trên thiết bị đã hoạt động, vào LibreNMS và chọn:

Devices → Add Device

Nhập các thông tin tương ứng:

Hostname/IP: 192.168.x.x
SNMP Version: v2c
Community: YOUR_COMMUNITY

Sau đó chọn Add Device.

Nếu kết nối SNMP thành công, LibreNMS sẽ tiến hành Discovery thiết bị và tự động nhận diện các thông tin mà thiết bị cung cấp.

Ví dụ:

  • Operating System
  • Hardware
  • CPU
  • Memory
  • Interfaces
  • Traffic
  • Sensors
  • VLAN

Sau khi Poller chạy một thời gian, các biểu đồ Traffic và Performance sẽ bắt đầu có dữ liệu.

Tại sao nên sử dụng LibreNMS?

Điểm mình đánh giá cao ở LibreNMS không đơn thuần là Dashboard.

Giá trị thực tế là khả năng tập trung việc giám sát Network Infrastructure về một hệ thống duy nhất.

Trước đây IT có thể phải làm:

Router      → SSH
Switch      → SSH
Firewall    → Web GUI
Server      → SSH
UPS         → Web GUI

Khi triển khai LibreNMS:

                    ┌── Router
                    │
                    ├── Firewall
                    │
LibreNMS ── SNMP ───┼── Core Switch
                    │
                    ├── Access Switch
                    │
                    ├── Server
                    │
                    └── UPS

Toàn bộ trạng thái cơ bản của hạ tầng có thể được quan sát tập trung.

Khi hệ thống chỉ có vài thiết bị, lợi ích này chưa thực sự rõ ràng. Nhưng khi phải quản lý hàng chục hoặc hàng trăm Network Device, việc Monitoring tập trung giúp giảm đáng kể thời gian kiểm tra thủ công.

LibreNMS có backup cấu hình Switch và Router không?

Đây là vấn đề mình gặp ngay sau khi triển khai Monitoring.

LibreNMS có thể cho chúng ta biết:

  • Switch có đang hoạt động hay không.
  • Interface nào đang Up hoặc Down.
  • CPU và RAM hiện tại.
  • Traffic trên từng Interface.
  • Thiết bị đang có Alert gì.

Nhưng có một câu hỏi khác:

Nếu ngày mai Switch chết hoàn toàn và phải thay bằng thiết bị khác thì Configuration hiện tại của Switch nằm ở đâu?

Không lẽ IT phải định kỳ SSH vào từng Switch rồi chạy:

show running-config

sau đó copy cấu hình ra file?

Với vài thiết bị thì có thể làm thủ công. Với hàng trăm thiết bị thì cách này rất khó quản lý.

Đó là lý do mình triển khai thêm Oxidized.

LibreNMS
   │
   ├── Monitoring
   │
   ├── SNMP
   │
   ├── Traffic
   │
   └── Alert

Oxidized
   │
   ├── SSH vào Network Device
   │
   ├── Lấy Running Configuration
   │
   ├── Backup Configuration
   │
   └── Theo dõi thay đổi Configuration

Nói ngắn gọn:

LibreNMS lo Monitoring – Oxidized lo Network Configuration Backup.

Ở bài tiếp theo mình sẽ chia sẻ cách triển khai LibreNMS + Oxidized để tự động backup cấu hình Router, Switch và Firewall.

Câu hỏi thường gặp về LibreNMS

LibreNMS có miễn phí không?

Có. LibreNMS là một dự án mã nguồn mở và có thể self-host trên Server của doanh nghiệp hoặc hệ thống Lab.

LibreNMS sử dụng giao thức gì để monitor thiết bị?

SNMP là một trong những cơ chế chính được LibreNMS sử dụng để Discovery và Poll dữ liệu từ Network Device.

LibreNMS có monitor FortiGate được không?

Có. FortiGate hỗ trợ SNMP và có thể được đưa vào LibreNMS để theo dõi nhiều thông số mà thiết bị cung cấp qua SNMP.

LibreNMS có monitor Cisco Switch được không?

Có. Cisco Switch và Router là những nhóm thiết bị mạng phổ biến có thể được giám sát bằng LibreNMS thông qua SNMP.

LibreNMS có thay thế Zabbix không?

Hai hệ thống có phạm vi sử dụng giao nhau nhưng cách tiếp cận khác nhau. LibreNMS tập trung mạnh vào Network Monitoring và khả năng tự động Discovery các thành phần của thiết bị mạng, trong khi Zabbix thường được sử dụng cho phạm vi Monitoring rộng hơn gồm Server, Application, Service và Infrastructure.

LibreNMS có tự động backup cấu hình thiết bị không?

Đối với bài toán backup cấu hình Router, Switch và Firewall, có thể tích hợp LibreNMS với công cụ như Oxidized để xây dựng hệ thống Network Configuration Backup tự động.


Series Network Monitoring & Automation:

Phần 1: LibreNMS – Xây dựng hệ thống Network Monitoring miễn phí.

Phần 2: LibreNMS + Oxidized – Tự động backup cấu hình Router, Switch và Firewall.

Share:

nhienphan1 writes for NhienPhan.

1 comment

Comments are closed.