Log Collector

The black-box flight recorder for your fleet — metrics and log bundles from any Docker host.

What the Log Collector does

The Log Collector runs as a small container next to your workload and continuously pushes diagnostic data to the FleetManager — so root-cause information exists centrally before a machine goes offline.

  • Host metrics: CPU, load, RAM, disk and container state (~every 90 s).
  • Log bundles: compressed Docker container logs + host diagnostics, uploaded in resumable chunks.
  • Outage-proof: logs are mirrored to a volume continuously — a bundle assembled after a crash still contains the pre-outage lines.
  • On demand: "Collect logs now" right from the dashboard.

Requirements

  • Any Linux host with Docker and Docker Compose
  • An ingest token (fmt_…) from your FleetManager
  • A few hundred MB of free disk for the bundle spool

1. Create the fleet config

Create a config.json with your fleet identity:

{
  "fleetmanagement": {
    "base_url": "https://fleet.brinkhaus-gmbh.de",
    "customer_name": "your-customer-slug",
    "machine": "your-machine-name",
    "token": "fmt_YOUR_INGEST_TOKEN",
    "heartbeat_interval_sec": 60
  }
}

2. Set up Docker Compose

Create a docker-compose.yml. The collector talks only to the read-only docker-socket-proxy — never the raw Docker socket:

services:
  docker-socket-proxy:
    image: tecnativa/docker-socket-proxy:0.3.0
    restart: always
    environment:
      CONTAINERS: 1
      INFO: 1
      EVENTS: 1
      POST: 0
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

  logcollector:
    image: brinkhausgmbh/fleetmanager-logcollector:latest
    restart: always
    depends_on:
      - docker-socket-proxy
    environment:
      DOCKER_PROXY_URL: tcp://docker-socket-proxy:2375
      METRICS_DISK_PATH: /host-root
      SPOOL_DIR: /spool
    volumes:
      - ./config.json:/app/fleetManagementData/config.json:ro
      - logcollector-spool:/spool
      - /:/host-root:ro
    cpus: 0.50
    mem_limit: 256m

volumes:
  logcollector-spool:

3. Start and verify

# Start the stack
docker compose up -d

# Check the logs
docker compose logs -f logcollector

Within a minute the machine appears in the dashboard — with a Resources tab (metrics) and an Artifacts tab (log bundles).

Security

The collector never mounts the raw /var/run/docker.sock. All Docker access goes through the read-only docker-socket-proxy (CONTAINERS/INFO/EVENTS=1, POST=0). The container runs as an unprivileged user; the spool is bounded and can never fill the disk.

Docker image

The official image is published on Docker Hub:

docker pull brinkhausgmbh/fleetmanager-logcollector:latest

# Or a specific version:
docker pull brinkhausgmbh/fleetmanager-logcollector:0.2.0

Available tags: :latest, :X.Y.Z, :X.Y, :X

Changelog

0.2.0 2026-06-02

Added

  • Standalone, customer-deployable module with its own Docker image (brinkhausgmbh/fleetmanager-logcollector) — runs on any Docker host
  • Tier-2 log bundles: compressed tar.zst snapshots of container logs + host diagnostics (df, ps, /proc, docker inspect), uploaded in resumable chunks
  • Continuous log mirroring to a host volume — bundles survive a container update/restart and contain the pre-outage logs
  • On demand: a "Collect logs now" button in the dashboard
  • Event-triggered: a container crash/OOM fires an immediate bundle
  • Tier-1 metrics now include a container summary (running/total/state)

Security

  • No direct docker.sock access — only via a read-only docker-socket-proxy (POST=0). Runs as a non-root user.
0.1.0 2026-06-01

Added

  • Initial tier: host metrics (CPU/RAM/disk) via psutil under the "logcollector" software slug

Start for free — 5 devices included

Fleet monitoring and security compliance in under 10 minutes. No credit card required.

Want to talk to an expert?

Click the link and we'll have a quick chat.

Schedule a Call →