Netdata logoReal-time Monitoring

Netdata

Giám sát hiệu năng server theo thời gian thực với hàng nghìn metrics, cài đặt nhanh và nhẹ.

Ghi chú review

Tự động phát hiện dịch vụ và thu thập metrics. Không cần cấu hình nhiều, nhưng nên giới hạn truy cập dashboard nếu public.

Hướng dẫn deploy

Cài đặt bằng một container Docker hoặc script. Tự động thu thập metrics của host.

  1. Chạy container Netdata với quyền truy cập /proc, /sys và Docker socket.
  2. Mở dashboard tại port 19999 để xem metrics real-time.
  3. Cấu hình alarm notifications qua email, Slack hoặc webhook.
  4. Tuỳ chỉnh retention và storage nếu cần lưu metrics lâu hơn.
  5. Giới hạn truy cập bằng firewall hoặc basic auth nếu không dùng Netdata Cloud.
Backup:Netdata lưu metrics local. Backup thư mục config và custom dashboards. Metrics có thể tái thu thập.

Copy để chạy trên server

Dùng từng block riêng: lưu compose trước, hoặc copy script bash để tạo file và chạy container.

docker-compose.ymlyaml
services:
  netdata:
    image: netdata/netdata:stable
    container_name: netdata
    hostname: netdata-server
    cap_add:
      - SYS_PTRACE
      - SYS_ADMIN
    security_opt:
      - apparmor:unconfined
    volumes:
      - ./config:/etc/netdata
      - ./lib:/var/lib/netdata
      - ./cache:/var/cache/netdata
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - "19999:19999"
    restart: unless-stopped
setup.shbash
#!/usr/bin/env bash
set -euo pipefail

sudo mkdir -p /opt/netdata
sudo chown "$USER":"$USER" /opt/netdata
cd /opt/netdata

cat > docker-compose.yml <<'COMPOSE'
services:
  netdata:
    image: netdata/netdata:stable
    container_name: netdata
    hostname: netdata-server
    cap_add:
      - SYS_PTRACE
      - SYS_ADMIN
    security_opt:
      - apparmor:unconfined
    volumes:
      - ./config:/etc/netdata
      - ./lib:/var/lib/netdata
      - ./cache:/var/cache/netdata
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - "19999:19999"
    restart: unless-stopped
COMPOSE

docker compose up -d
echo "Netdata is running on http://SERVER_IP:19999"

Stack

CPythonDocker