Cài đặt Device Management

Device Management là dịch vụ quản lý tập trung cho xác thực và cấu hình của các Agent và Forwarder trong hệ sinh thái BlackHole. Dịch vụ này cung cấp RESTful API để quản lý thiết bị, cấu hình và đồng bộ hóa dữ liệu.

Yêu cầu

  • Docker và Docker Compose đã được cài đặt
  • Quyền truy cập để tạo và quản lý Docker containers
  • Kết nối mạng để tải Docker image từ registry

Cài đặt bằng Docker Compose

Cách đơn giản nhất để cài đặt Device Management là sử dụng Docker Compose. Thực hiện theo các bước sau:

1. Tạo file docker-compose.yml

Tạo file docker-compose.yml với nội dung sau:
version: "3.8"

services:
  blackhole-devices-management:
    image: ghcr.io/gcsclabs/siem-devices-management:latest
    container_name: blackhole-devices-management
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
    networks:
      - bh-net
    restart: unless-stopped
    healthcheck:
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s

networks:
  bh-net:
    external: true
“Lưu ý” Nếu bạn chưa có network bh-net, hãy tạo network trước bằng lệnh: bash docker network create bh-net Hoặc nếu bạn muốn Docker Compose tự tạo network, hãy thay đổi phần networks như sau: yaml networks: bh-net: driver: bridge

2. Khởi động Device Management

Chạy lệnh sau để khởi động dịch vụ:
docker compose up -d
Lệnh này sẽ:
  • Tải image ghcr.io/gcsclabs/siem-devices-management:latest nếu chưa có
  • Tạo và khởi động container blackhole-devices-management
  • Kết nối container vào network bh-net

3. Kiểm tra trạng thái

Kiểm tra xem container đã khởi động thành công chưa:
docker compose ps
Hoặc xem logs của container:
docker compose logs -f blackhole-devices-management

Cấu hình nâng cao

Thay đổi cổng

Nếu cổng 3000 đã được sử dụng, bạn có thể thay đổi mapping cổng trong docker-compose.yml:
ports:
  - "8080:3000" # Sử dụng cổng 8080 trên host

Biến môi trường

Bạn có thể thêm các biến môi trường tùy chỉnh trong phần environment:
environment:
  - NODE_ENV=production
  - PORT=3000
  - LOG_LEVEL=info

Volume mounts

Nếu cần lưu trữ dữ liệu bền vững, bạn có thể mount volume:
volumes:
  - ./data:/app/data

Dừng và xóa dịch vụ

Để dừng dịch vụ:
docker compose down
Để dừng và xóa tất cả dữ liệu (bao gồm volumes):
docker compose down -v
Sau khi Device Management đã được cài đặt và chạy, bạn cần cấu hình BlackHole Search để kết nối với dịch vụ này. Xem Hướng dẫn kết nối Device Management trong tài liệu cài đặt BlackHole Search.

Khắc phục sự cố

Container không khởi động

Kiểm tra logs để xem lỗi:
docker compose logs blackhole-devices-management
Đảm bảo:
  • Cả hai container đều nằm trong cùng một Docker network
  • Tên container hoặc hostname trong cấu hình BlackHole Search khớp với tên service trong docker-compose.yml
  • Cổng đã được mở đúng cách

Kiểm tra network

Xem các container trong network:
docker network inspect bh-net