Docker部署Komari监控面板&探针

一、简介

Komari 是一款轻量级的自托管服务器监控工具,旨在提供简单、高效的服务器性能监控解决方案。它支持通过Web 界面查看服务器状态,并通过轻量级 Agent 收集数据。Komari 的特点包括低资源占用,适合各种规模的服务器,用户可以完全掌控数据隐私,且部署过程简单。

展示:


二、部署

项目地址:Github
官方文档: 文档

(1)用Docker部署Dashboard

官方文档提供了多种安装方式:一键脚本安装、Docker部署、二进制安装和手动编译。本文使用Docker安装。

其实这部分文档里写的极其详细了,可以直接看文档

首先创建一个用来存储数据的文件夹:

1
mkdir -p ./komari

启动容器:

1
2
3
4
5
6
docker run -d \
-p 25774:25774 \
-v $(pwd)/komari:/app/data \
--name komari \
--restart unless-stopped \
ghcr.io/komari-monitor/komari:latest

且务必确保25774端口已开放

获取用户名和密码:

1
docker logs komari

顺利的话,你可以通过IP:25774访问面板了

由于当前没有https,这并不安全,所以我们需要设置Nginx反向代理。我用的是宝塔面板,所以直接在宝塔面板里面设置就很方便。

打开宝塔面板,左侧边栏选择docker,点击容器,点击相应容器名后面的“管理”

选择“反向代理”,输入你的域名和SSL证书即可

现在,你可以通过https://域名访问面板了


(2)用Docker部署Agent

刚刚安装的只是一个Dashboard管理面板,我们还需要探针,即Agent端部署在相应的服务器上以收集相关信息。

Agent有很多版本,一个是官方的komari-agent,还有其他第三方开发者开发的,各有利弊,我懒得折腾,就使用官方的agent

首先需要在Dashboard添加一个节点。 进入后台,选择“服务器“,接着点击右侧的”添加节点“,输入节点名称,就会出现需要执行的命令及相关选项

这时,如果不想用Docker安装,直接粘贴下面的命令就可以了

我最开始是使用这个命令安装的,因为我没有找到docker镜像。直到我搜到了 https://idcflare.com/t/topic/35252 ,发现官方其实是提供了docker镜像的。这个链接内的文章也同样介绍了手动build的教程,但本文采用Docker CLI命令进行直接部署。

官方Agent Docker版地址:Github

我们需要这个命令中提供的token,所以暂时不要关掉它。

拉取Docker镜像:

1
docker pull ghcr.io/komari-monitor/komari-agent:latest

启动容器:

1
2
3
4
5
6
7
8
9
10
11
12
13
docker run -d --name komari-agent \
--restart unless-stopped \
--network host \
--privileged \
-v /proc:/proc \
-v /sys:/sys:ro \
-v /dev:/dev:ro \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/os-release:/etc/os-release:ro \
ghcr.io/komari-monitor/komari-agent:latest \
--endpoint "https://xxx.com" \
--token "xxx" \
--disable-web-ssh
  • 请把token改成上面一键部署指令中提供的token
  • 请把https://xxx.com改成你面板的域名
  • --disable-web-ssh是我的自定义安装选项,即禁止远程SSH的功能。如果你不需要此选项,请删除此行以及上一行的\

按下回车执行,面板首页应该会出现相关服务器数据了!

额外:未禁用自动更新导致agent掉线

在使用一段时间后发现我的agent莫名其妙地就掉线了

用命令查看docker日志

1
2
3
4
$ sudo docker logs -f komari-agent
2025/11/30 23:11:31 Komari Agent 1.1.34
......
2025/11/30 23:11:31 Checking update...

日志显示它一直在检查更新,但由于我的服务器位于大陆,而且我没有换源,并且正常使用状态下代理是关闭的,所以很明显无法获得docker的最新镜像,就卡住了。解决办法也很简单,就是再加上一行--disable-auto-update参数即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
docker run -d --name komari-agent \
--restart unless-stopped \
--network host \
--privileged \
-v /proc:/proc \
-v /sys:/sys:ro \
-v /dev:/dev:ro \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/os-release:/etc/os-release:ro \
ghcr.io/komari-monitor/komari-agent:latest \
--endpoint "https://xxx.com" \
--token "xxx" \
--disable-web-ssh \
--disable-auto-update

三、自定义Dashboard设置和外观

点击右上角小齿轮,可以对面板进行自定义设置。

可以换一个外观,点击下方“社区维护的主题“可以阅览可用的主题。


四、部署哪吒面板的失败经历

我本来是要部署哪吒面板的,但哪吒面板发生了未知错误,遂放弃,简单记录一下。

运行一键脚本:

1
curl -L https://raw.githubusercontent.com/nezhahq/scripts/refs/heads/main/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh

部署dashboard完毕后,复制了agent安装命令,但是agent一直无法启动,且无任何报错:

1
2
3
4
5
6
7
8
9
10
11
12
root@ser501022241265:/etc/systemd/system# systemctl status nezha-agent
● nezha-agent.service - 哪吒监控 Agent
Loaded: loaded (/etc/systemd/system/nezha-agent.service; enabled; preset: enabled)
Active: active (running) since Sat 2025-11-29 12:35:48 CST; 55s ago
Main PID: 6904 (nezha-agent)
Tasks: 8 (limit: 2265)
Memory: 8.5M (peak: 9.3M)
CPU: 257ms
CGroup: /system.slice/nezha-agent.service
└─6904 /opt/nezha/agent/nezha-agent -c /opt/nezha/agent/config.yml

Nov 29 12:35:48 ser501022241265 systemd[1]: Started nezha-agent.service - 哪吒监控 Agent.
1
2
3
4
5
6
7
root@ser501022241265:/etc/systemd/system# journalctl -u nezha-agent -n 50 --no-pager

Nov 29 12:35:16 ser501022241265 systemd[1]: Started nezha-agent.service - 哪吒监控 Agent.
Nov 29 12:35:24 ser501022241265 systemd[1]: Stopping nezha-agent.service - 哪吒监控 Agent...
Nov 29 12:35:24 ser501022241265 systemd[1]: nezha-agent.service: Deactivated successfully.
Nov 29 12:35:24 ser501022241265 systemd[1]: Stopped nezha-agent.service - 哪吒监控 Agent.
Nov 29 12:35:48 ser501022241265 systemd[1]: Started nezha-agent.service - 哪吒监控 Agent.

于是我放弃了,搞不明白。所以我就用上Komari了


本文使用CC BY-NC-SA 4.0协议进行许可