Sign inSign up

ywsj/komari-agent

By ywsj

Updated 9 days ago

Komari监控探针Docker镜像 - 轻量级服务器监控Agent | komari-monitor/komari

Image
0

596

ywsj/komari-agent repository overview

Komari Agent - Docker 监控探针

Komari 是一个轻量、自托管的服务器监控方案,由 服务端(Komari Dashboard)客户端探针(komari-agent) 组成。本镜像将 Agent 打包为 Docker 容器,便于一键部署到被监控服务器。

✨ 特性

  • 🔁 实时监控,默认 3 秒上报一次
  • 🪶 极低资源占用(镜像仅 10MB)
  • 🐳 Docker 一键部署,无需安装二进制
  • 📊 支持多服务器集中管理
  • 🌐 支持自定义 IP/DNS/网络接口
  • 🖥️ 可选 Web SSH 远程控制

📋 前提条件

必须先部署 Komari 服务端,Agent 只是探针,需要一个 Komari Dashboard 作为接收端。

部署服务端后,在后台 添加节点 即可获得该节点的 Endpoint(服务端地址)和 Token(认证令牌)。

🚀 快速开始

方式一:Docker Run
docker run -d \
  --name komari-agent \
  --restart unless-stopped \
  --net host \
  ywsj/komari-agent:latest \
  --endpoint https://your-komari-server.com \
  --token YOUR_NODE_TOKEN
方式二:Docker Compose(推荐)

创建 docker-compose.yml

services:
  komari-agent:
    image: ywsj/komari-agent:latest
    container_name: komari-agent
    restart: unless-stopped
    network_mode: host
    command:
      - --endpoint=https://your-komari-server.com
      - --token=YOUR_NODE_TOKEN
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /dev:/dev:ro

启动:

docker compose up -d

为什么用 network_mode: host 这样 Agent 可以读到宿主机真实 IP、网络流量和所有网卡数据。如果不需要这些信息,也可以用端口映射模式。

⚙️ 完整参数说明

参数默认值说明
-e, --endpoint(必填)Komari 服务端地址
-t, --token(必填)节点 Token
-i, --interval3上报间隔(秒)
--info-report-interval5基础信息上报间隔(分钟)
-c, --reconnect-interval5重连间隔(秒)
-r, --max-retries3最大重试次数
--custom-ipv4自动自定义 IPv4 地址
--custom-ipv6自动自定义 IPv6 地址
--custom-dns系统自定义 DNS 服务器
--get-ip-addr-from-nic关闭从网卡接口获取 IP
--include-nics全部仅监控指定网卡(逗号分隔)
--exclude-nics排除指定网卡(逗号分隔)
--include-mountpoint全部仅统计指定挂载点(分号分隔)
--gpu关闭启用 GPU 详细监控
--memory-include-cache关闭内存统计包含缓存/缓冲
--memory-exclude-bcf关闭用 Total-Free-Buffers-Cached 计算内存
--month-rotate自动流量统计按月重置日(0=禁用)
--prefer-ip-version自动优先 IP 版本:4 或 6
--disable-auto-update关闭禁用自动更新
--disable-compression关闭禁用 gzip 压缩
--disable-web-ssh关闭禁用 Web SSH 远程控制
--ignore-unsafe-cert关闭忽略不安全证书
--auto-discovery自动发现密钥
--config指定配置文件路径

📖 常用配置示例

基础监控(最简配置)
services:
  komari-agent:
    image: ywsj/komari-agent:latest
    restart: unless-stopped
    network_mode: host
    command:
      - --endpoint=https://komari.example.com
      - --token=abc123def456
精简监控(自定义 IP + 排除虚拟网卡)
services:
  komari-agent:
    image: ywsj/komari-agent:latest
    restart: unless-stopped
    network_mode: host
    command:
      - --endpoint=https://komari.example.com
      - --token=abc123def456
      - --custom-ipv4=203.0.113.50
      - --exclude-nics=docker0,br-*,veth*
      - --interval=5
GPU 服务器监控
services:
  komari-agent:
    image: ywsj/komari-agent:latest
    restart: unless-stopped
    network_mode: host
    command:
      - --endpoint=https://komari.example.com
      - --token=abc123def456
      - --gpu
    devices:
      - /dev/nvidia0:/dev/nvidia0
      - /dev/nvidiactl:/dev/nvidiactl
      - /dev/nvidia-uvm:/dev/nvidia-uvm
安全加固版(禁用远程控制 + 自签证书)
services:
  komari-agent:
    image: ywsj/komari-agent:latest
    restart: unless-stopped
    network_mode: host
    command:
      - --endpoint=https://komari.example.com:8443
      - --token=abc123def456
      - --disable-web-ssh
      - --ignore-unsafe-cert
      - --disable-auto-update
      - --memory-include-cache

🛠️ 辅助命令

# 检查宿主机内存使用情况
docker run --rm --net host ywsj/komari-agent:latest check-mem

# 列出所有物理磁盘
docker run --rm --net host ywsj/komari-agent:latest list-disk

🔍 验证与日志

# 查看运行状态
docker compose ps

# 查看实时日志
docker compose logs -f komari-agent

# 查看帮助
docker run --rm ywsj/komari-agent:latest --help

Agent 启动后会自动连接服务端并开始上报数据,在 Komari Dashboard 后台即可看到该节点的实时监控数据。

🔄 更新镜像

docker compose pull
docker compose up -d

📌 注意事项

  • --disable-web-ssh 会禁用 Web SSH 和远程命令执行功能,出于安全考虑建议在不可信环境中启用此选项
  • 使用 network_mode: host 时 Agent 可以获取真实网络流量数据
  • 流量统计默认按月重置,可用 --month-rotate 自定义重置日
  • 多台服务器只需重复上述部署流程,每台使用各自唯一的 Token

🙏 致谢

Tag summary

Content type

Image

Digest

sha256:0b16fc6b2

Size

10.2 MB

Last updated

9 days ago

docker pull ywsj/komari-agent