Komari 是一款轻量服务器状态监控工具,也就是常说的「探针」。主要优点有:
- 极低的系统资源占用
- 极简的部署与维护体验
- 直观美观的 Web 界面
本文主要记录我在 Debian 和 Alpine 系统下使用二进制安装与配置 Komari 的流程,作为日常的速查手册。
部署服务端#
Komari 服务端即负责接收与存储所有被控节点上报的数据,为保证主控服务的稳定性与网络兼容性,建议部署在运行稳定且原生支持双栈网络 (IPv4 + IPv6) 的服务器上 。
本文以 Netcup RS Piccolo ARMore 实例作为服务端部署的机器,它小巧强大、物美价廉、罕见珍奇,是我的心头之好~
环境准备#
出于安全考量,Komari 服务端无需特权用户运行,为其创建一个无登录权限的用户:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# 更新系统软件包
sudo apt update && sudo apt upgrade -y
# 创建专属的无登录权限用户
sudo useradd -r -s /usr/sbin/nologin komari
# 创建工作与数据存储目录
sudo mkdir -p /opt/komari/server
# 配置文件与目录权限
sudo chown -R komari:komari /opt/komari/server
sudo chmod 750 /opt/komari/server
|
下载安装服务端#
根据服务器硬件架构,下载对应的最新可执行二进制文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 当前版本:1.1.8
# 架构参数:komari-linux-amd64 | komari-linux-arm64
curl -L -o /tmp/komari-server https://github.com/komari-monitor/komari/releases/download/1.1.8/komari-linux-amd64
# 针对纯 IPv6 服务器的代理 GitHub 下载方式
curl -L -o /tmp/komari-server https://gh-proxy.com/https://github.com/komari-monitor/komari/releases/download/1.1.8/komari-linux-amd64
# 部署到指定目录
sudo mv /tmp/komari-server /opt/komari/komari-server
# 设置权限
sudo chown root:root /opt/komari/komari-server
sudo chmod 755 /opt/komari/komari-server
|
配置 Systemd 守护进程#
创建并编辑服务文件 /etc/systemd/system/komari.service :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
[Unit]
Description=Komari Monitor Server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=komari
Group=komari
WorkingDirectory=/opt/komari/server
ExecStart=/opt/komari/komari-server server -l 127.0.0.1:25774
Restart=always
RestartSec=5s
NoNewPrivileges=yes
ProtectSystem=strict
ProtectHome=yes
PrivateTmp=yes
ProtectKernelTunables=yes
ProtectControlGroups=yes
ReadWritePaths=/opt/komari/server
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
|
启动与验证服务#
重载 systemd 守护进程并启动 Komari 服务:
1
2
3
4
5
6
7
8
9
10
11
|
sudo systemctl daemon-reload
sudo systemctl enable --now komari
# 检查服务运行状态
sudo systemctl status komari
# 首次启动日志包含初始管理员用户名和密码
sudo journalctl -u komari -f
|
反向代理#
以 Nginx 为例,反向代理配置示例文件如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
server {
listen 80;
listen [::]:80;
server_name komari.your.domain;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name komari.your.domain;
ssl_certificate /etc/nginx/cert/komari.your.domain.pem;
ssl_certificate_key /etc/nginx/cert/komari.your.domain.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ecdh_curve X25519:P-256:P-384;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE+AES128:RSA+AES128:ECDHE+AES256:RSA+AES256';
ssl_prefer_server_ciphers off;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
access_log /var/log/nginx/komari.your.domain.access.log;
error_log /var/log/nginx/komari.your.domain.error.log;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline' 'unsafe-eval' 'wasm-unsafe-eval'" always;
location / {
proxy_pass http://127.0.0.1:25774;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
client_max_body_size 50M;
proxy_read_timeout 86400;
proxy_send_timeout 86400;
}
}
|
重载 Nginx 配置:
1
|
sudo nginx -t && sudo nginx -s reload
|
访问 komari.your.domain ,使用初始用户名和密码登录。
添加受控节点#
此时可以在管理后台添加第一台需要监控的服务器,复制被控端 (Agent) 专属的通信 Token 备用。

升级服务端程序#
若 Komari 发布新版本,通过以下步骤升级服务端程序:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 停止当前运行的 Komari 服务
sudo systemctl stop komari
# 更新二进制文件(自行替换版本号与对应架构)
sudo curl -L -o /opt/komari/komari-server https://github.com/komari-monitor/komari/releases/download/<新版本号>/komari-linux-<架构>
# 设置权限
sudo chown root:root /opt/komari/komari-server
sudo chmod 755 /opt/komari/komari-server
# 重启服务并检查运行状态
sudo systemctl restart komari
sudo systemctl status komari
|
通用 Linux 部署被控端 (Agent)#
Debian GNU/Linux 通过 Systemd 管理守护进程,这是目前绝大多数主流 Linux 发行版的标准做法。
下载安装被控端#
准备 Agent 工作目录:
1
|
sudo mkdir -p /opt/komari/agent
|
根据服务器架构下载对应的 Agent 二进制程序:
1
2
3
4
5
|
# 当前版本:1.1.80
# 架构参数:komari-agent-linux-amd64 | komari-agent-linux-arm64
sudo curl -L -o /opt/komari/komari-agent https://github.com/komari-monitor/komari-agent/releases/download/1.1.80/komari-agent-linux-amd64
|
设置正确的权限:
1
2
3
|
sudo chown root:root /opt/komari/komari-agent
sudo chmod +x /opt/komari/komari-agent
|
配置 Systemd 守护进程#
编辑 /etc/systemd/system/komari-agent.service 服务配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
[Unit]
Description=Komari Agent Service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=root
Group=root
# 将 URL 和 <token> 替换为你在服务端后台生成的实际信息
# 若 Agent 与服务端部署在同一台机器,URL 可直接填写 http://127.0.0.1:25774
ExecStart=/opt/komari/komari-agent -e https://komari.your.domain -t <token> --disable-web-ssh --disable-auto-update --month-rotate 1
WorkingDirectory=/opt/komari/agent
Restart=always
RestartSec=10s
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
|
重载 Systemd 配置并启动 Komari Agent 服务:
1
2
3
|
sudo systemctl daemon-reload
sudo systemctl enable --now komari-agent
|
检查服务运行状态及实时日志,确认是否成功连接至主控端:
1
2
3
|
sudo systemctl status komari-agent
sudo journalctl -u komari-agent -f
|
升级 Agent 服务#
后续若需更新 Agent 程序,按照以下步骤:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 停止当前运行的 Agent 服务
sudo systemctl stop komari-agent
# 更新二进制文件(自行替换版本号与对应架构)
sudo curl -L -o /opt/komari/komari-agent https://github.com/komari-monitor/komari-agent/releases/download/<新版本号>/komari-agent-linux-<架构>
# 重新赋予执行权限
sudo chown root:root /opt/komari/komari-agent
sudo chmod +x /opt/komari/komari-agent
# 重启服务并检查运行状态
sudo systemctl restart komari-agent
sudo systemctl status komari-agent
|
PaaS 部署被控端#
对于支持 Docker 容器部署的 PaaS 平台,可以直接使用官方镜像运行 Agent:
1
2
3
4
5
6
7
8
9
10
11
|
# 指定公共容器镜像
ghcr.io/komari-monitor/komari-agent:1.1.41
# 覆盖默认启动命令
/bin/sh -c
# 设置部署参数(替换 URL 和 Token)
/app/komari-agent -e https://komari.your.domain -t <token> --disable-web-ssh --disable-auto-update --month-rotate 1
|
后续升级 Agent 版本,只需修改镜像的版本标签并重新部署即可。
Alpine 部署被控端#
Alpine 是一款主打轻量化的 Linux 发行版,底层依赖 Busybox,并采用 OpenRC 作为系统初始化与守护进程管理工具(而非主流的 Systemd)。
许多服务商提供超小内存的 LXC 容器通常预装 Alpine,由于其极低的资源开销,通常 64MB 内存即可流畅运行 Komari Agent 服务。
设置 Swap 交换空间(可选)#
此外,若使用的是 KVM 架构且内存极小(如 64MB)的 Alpine 实例,建议配置 Swap 虚拟内存。否则,在执行包管理器更新等操作时,极易触发 OOM 导致 apk 进程被杀。
对于共享宿主机内核的 LXC 容器,则通常无需执行此操作。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# 创建 512MB 的虚拟内存文件
dd if=/dev/zero of=/swapfile bs=1M count=512
# 设置安全权限
chmod 600 /swapfile
# 格式化并启用 Swap
mkswap /swapfile
swapon /swapfile
# 写入 fstab 开机自动挂载
echo "/swapfile none swap sw 0 0" >> /etc/fstab
# 将 swap 挂载服务加入开机启动项
rc-update add swap boot
# 验证 Swap 生效
free -m
# (备用)若之前因内存不足导致 apk 进程卡死
# 执行以下命令清理锁文件
killall apk 2>/dev/null
rm -f /lib/apk/db/lock
|
准备环境#
1
2
3
4
5
|
apk update && apk add curl vim
# 准备工作目录
mkdir -p /opt/komari/agent
|
安装被控端#
下载与 VPS 系统架构匹配的 Agent 二进制程序,并赋予可执行权限:
1
2
3
4
5
6
7
|
curl -L -o /opt/komari/komari-agent https://github.com/komari-monitor/komari-agent/releases/download/1.1.80/komari-agent-linux-amd64
# 设置权限
chown root:root /opt/komari/komari-agent
chmod +x /opt/komari/komari-agent
|
配置 OpenRC 守护进程#
在 Alpine 中,我们编写 OpenRC 的 init 脚本来管理服务守护进程:
1
|
vim /etc/init.d/komari-agent
|
写入以下配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#!/sbin/openrc-run
name="Komari Agent"
description="Komari Agent Service"
command="/opt/komari/komari-agent"
# 更改主机名和 Token
command_args="-e https://komari.your.domain -t <token> --disable-web-ssh --disable-auto-update --month-rotate 1"
command_background="yes"
pidfile="/run/${RC_SVCNAME}.pid"
directory="/opt/komari/agent"
rc_ulimit="-n 65536"
output_log="/var/log/komari-agent.log"
error_log="/var/log/komari-agent.log"
depend() {
need net
after firewall
}
|
赋予脚本可执行权限:
1
|
chmod +x /etc/init.d/komari-agent
|
启动服务:
1
2
3
4
5
6
7
|
# 设置开机自启
rc-update add komari-agent default
# 启动服务
rc-service komari-agent start
|
检查运行状态和日志:
1
2
3
4
5
6
7
|
# 查看服务状态
rc-service komari-agent status
# 查看运行日志
tail -f /var/log/komari-agent.log
|
升级 Agent 服务#
后续如果在 Alpine 环境下需要升级 Agent 版本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 停止 komari agent 服务
rc-service komari-agent stop
# 更新二进制文件
curl -L -o /opt/komari/komari-agent https://github.com/komari-monitor/komari-agent/releases/download/<新版本号>/komari-agent-linux-<架构>
# 重新赋予权限
chown root:root /opt/komari/komari-agent
chmod +x /opt/komari/komari-agent
# 重启服务并检查服务状态
rc-service komari-agent restart
rc-service komari-agent status
|
后续配置#
第一个节点添加完成后,后续其他服务器的添加步骤与上面完全一致。接下来,我们简单完成一下常用配置项。
安装主题#
Komari 默认主题已经很好看了,若想换换口味,可以前往 社区主题列表 下载主题,在管理后台直接上传 .zip 格式的压缩包并启用即可。

配置延迟测试#
Komari 原生支持 ICMP、TCP 和 HTTP 三种协议的延迟监控。对于国内测试节点,可以在 该页面 获取信息添加。

建议: 测试间隔可以适当调大一点,以免服务端短期的数据积累过于庞大。

编辑节点信息#
在此页面,可以统一管理被控服务器的基本信息、订阅费用、到期时间等信息。

一言之,Komari 的部署相当简单,运行稳定、资源占用极低,是服务器收藏者的必备实用服务。