[Debian]开源探针面板 Komari 搭建教程分享

写于:20260118

看了眼上次写教程,已经是一年多以前了。_(:з)∠)_

这次要分享的是一个探针项目 Komari 的搭建方法,这个项目也挺有意思的,既不像 Prometheus 这种监控项目复杂难配,也不像 Uptime Kuma 这类监控主打外部观察不能获知服务器的具体数据,Komari 主打的是轻量可自托管,同时能在需要监控的服务器上安装 Agent 以获得更多服务器本身的运行数据,对于有多台服务器需要统一监控管理但是又嫌专业工具麻烦的朋友来说,也是个不错的选择。

一、Komari 简介

Komari 项目地址:https://github.com/komari-monitor/komari

Komari 是一款轻量级的自托管服务器监控工具,旨在提供简单、高效的服务器性能监控解决方案。它支持通过 Web 界面查看服务器状态,并通过轻量级 Agent 收集数据。

https://github.com/komari-monitor/komari/blob/main/docs/README_zh.md

说得再多,不如大家看看实际搭建出来的效果,比如这个是作者 Github 里挂的自己的:https://ss.akz.moe/

作者自己的应该是做了修改,所以背景比较二次元,默认的效果我也给大家找了下,大概长这样,你也可以自己修改或者安装主题更改为更好看的样式:

这个是默认的 Komari 主界面样式,点进去我们还能看到具体的服务器详情:

使用 Komari 可以集中化监控和管理自己的服务器,除了以上这些比较通用的项目,Komari 还可以设置每个服务器的价钱和账单日期,同时也支持创建离线提醒和负载监测提醒,当你的服务器临时到期或者离线/负载过大时,它会自动发通知(支持 Bark,Email,Telegram,Webhook 等方式)给你,还是很好用的。

二、服务器端搭建教程

由于面板比较轻量占用不是很大,就没必要专门说配置了,只说下系统,教程演示使用的是 Debian 12。

另外,因为博主我不怎么爱用 Docker 来装,所以这里演示的是二进制文件部署的方法,参考的官方的教程:https://komari-document.pages.dev/install/binary.html

如果你喜欢 Docker 部署,那么本教程可能不适合你,可以看下上面链接里作者写的其他部署方式的教程,也没什么难度。

2.1 下载服务端二进制文件

除非特别说明,以下操作都是在 root 用户下进行的,不过因为 Komari 并不要求运行在 root 下,基于安全考虑所以我们可以先创建一个专门的用户以后给它用,以下演示用的是创建 www 用户:

adduser --disabled-password www

创建好之后,就可以下载 Komari 的二进制文件了,这里选定的保存位置是 /home/www/komari,并且使用了 wget 的 -O 参数将下载的二进制文件重命名为 komari,这些你都可以根据自己的情况修改:

mkdir /home/www/komari
cd /home/www/komari
wget -O komari https://github.com/komari-monitor/komari/releases/latest/download/komari-linux-amd64

关于二进制文件的选择一定要根据自己的硬件情况来选,可以从这里找到各个平台对应的二进制文件:https://github.com/komari-monitor/komari/releases

下载好之后,因为是用 root 用户下载的,需要给 Komari 二进制文件改下所有人和组,然后授予执行权限好之后能运行:

chown www:www komari
chmod +x komari

2.2 初步运行 Komari

上面设置好执行权限之后,就可以运行 Komari 的服务端了,具体命令如下:

./komari server -l [::]:25774

注意:官方的命令写的 ./komari server -l 0.0.0.0:25774,也就是仅监听 IPv4 下的 25774 端口,我这里稍微改动了下监听地址,从原本的只监听 IPv4 端口改为了兼顾 IPv4+IPv6 端口的监听,如果你不在意 IPv6,那么直接写 0.0.0.0:25774 也可以,这个后面的 25774 是官方教程默认设置的监听端口,可以根据自己的情况再修改。

初次运行之后,Komari 会开始初始化并生成能够用于登录的账号密码,注意执行之后的日志里这个字段:

Default admin account created. Username:  , Password:

Username 就是登录用的用户名,Password 就是密码,这个是后面登录面板后台要用的。

完成之后,由于之前执行用的是 root 权限的,Komari 创建的 data 数据文件夹还保留了 root 所有人,这里我们再将其改为给 www:

chown -R www:www /home/www/komari/data

2.3 设置 Komari 的 systemd 系统服务

上面的步骤做完,Komari 算是已经在运行了,但是这还不够,目前 Komari 还只能运行在前台,一段我们断开连接或者重启,Kamari 也就关闭了,所以我们现在需要给它设置一个系统服务好让它能后台运行并自启动。

首先我们打开/etc/systemd/system 这个目录,然后在其中创建个服务文件,比如 komari.service,然后在这个文件里输入下面的内容保存:

[Unit]
Description=Komari Monitoring Service
After=network.target

[Service]
ExecStart=/home/www/komari/komari server -l [::]:25774
WorkingDirectory=/home/www/komari
Restart=always
User=www
Group=www

[Install]
WantedBy=multi-user.target

这里需要注意三点,ExecStart 后面写的是 1.2 步初始化 Komari 填写的命令,不同的只是这里用的是完整路径 /home/www/komari/komari,前面是./komari。WorkingDirectory 填写的是 Komari 的工作目录,程序放在哪个文件夹我们就填哪里。User 写的是 Komari 用什么用户运行,前面我们已经选择了用 www 用户运行,所以这里写的就是 www。

保存好之后,重载下 systemd,然后就可以启用 Komari 的开机自启动和后台运行了:

systemctl daemon-reload
systemctl enable komari
systemctl start komari

2.4 启用防火墙并仅允许通过 Nginx 反向代理访问 Komari

前面的设置好之后,此时 Komari 已经在后台稳定运行了,现在我们要做的是一些安全与更加现代化的设置。

根据前面设置的运行参数 [::]:25774,此时我们的 Kamari 探针面板可以直接用 IP:25774 的形式访问,这显然不太符合普通网页的访问习惯,所以我的想法是给 Komari 绑定域名让它能通过域名访问,同时再设置防火墙让其无法直接通过 IP 访问。当然,如果你本来就没有想要绑定域名,或者也不在意 IP 访问的形式,这部分不看就可以~

首先我们先来设置防火墙,让 25774 这个端口无法通过公网访问,同时放行常用端口如 SSH HTTP HTTPS,这里的防火墙我使用的是 UFW,请大家根据自己的情况来设置:

apt update
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 443/udp
ufw enable

以上命令会给 Debian 安装 ufw 防火墙,并且默认拒绝所有的入站请求只放心 SSH(22),HTTP(80),HTTPS(443),我写的这个比较严格,但只是模板化的配置不一定适合所有人,请按照自己的情况修改,并且在确定 ufw status verbose 没有问题之后,再 ufw enable 开启防火墙。

之后就是添加 Nginx 的反向代理配置了,Nginx 的安装方法这里略过,只把反向代理的配置贴出来,大多数复制自官方,博主自己稍微改了下兼容了 IPv4 和 IPv6:

upstream backend
    {
    server 127.0.0.1:25774;
    server [::1]:25774;
    }

server {
    listen 80;
    listen [::]:80;
    server_name your-domain.com;

    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        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;

        # 允许大文件上传(50M)
        client_max_body_size 50M;
    }
}

注意里面的 your-domain.com 要改成你实际使用的域名,最开始的 upstram 字段主要是能兼顾 IPv4 和 IPv6 用的,里面的 25774 端口记得改成 Komari 服务端实际监听的端口。

如果你还需要开启 HTTPS,那么 Nginx 配置里再加上下面这段就可以了:

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;
    server_name your-domain.com;

    ssl_certificate /a/b/certificate.pem;
    ssl_certificate_key /a/b/key.pem;

    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        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;

        # 允许大文件上传(50M)
        client_max_body_size 50M;
    }
}

同样的记得改 your-domain.com 为自己使用的域名,ssl_certificate 和 ssl_certificate_key 填写 SSL 证书的公钥和私钥。

到这里,Komari 服务端的配置算是做完了,现在你应该能通过域名直接访问自己的探针面板了,记得第一时间用最初执行程序给你生成的默认用户名和密码登录,然后立即先把用户名和密码修改了。

三、Agent 搭建教程

上面是部署好了探针面板的服务端,面板要正常工作,接下来就是给要监控的服务器安装部署 Agent 程序了,这个程序主要用于和服务端沟通并汇报所在服务器有关的状态。比如系统配置信息,网络信息等。

3.1 通过一键脚本部署

关于 Agent 的部署,我们可以直接登录 Komari 面板登录后台之后,打开服务器选项,选择添加节点,添加好之后就是这样的:

点击图里的这个下载的图标,就会出现配置 Agent 功能的选项:

根据自己的情况选择好之后,底下的指令里就会提供一键部署的命令,到要安装监控的服务器上执行就可以了。

3.2 手动部署 Agent

如果你不喜欢脚本自动部署这种没法自己控制的方式(没错是我),也可以选择和 Komari 服务端一样自己下载二进制文件到要被监控的服务器上手动部署,这个会稍微麻烦一点,以下是教程。

手动部署的教程也可以参考官方文档:https://komari-document.pages.dev/faq/agent-no-root.html

我们先创建好目录并下载保存好 Komari Agent,这里我选择的目录和官方默认配置使用的一样,也就是 /opt/komari-agent,命令如下:

mkdir /opt/komari-agent
cd /opt/komari-agent
wget -O komari-agent https://github.com/komari-monitor/komari-agent/releases/latest/download/komari-agent-linux-amd64

注意,这里的下载地址要根据自己被监控的服务器对应的平台和架构来进行选择,我这里下载的是适用于 Linux 系统 x64 架构的二进制文件。如果你的服务器不一样,在这里选择对应版本的文件链接复制:https://github.com/komari-monitor/komari-agent/releases

下载完成之后,再赋予二进制文件执行权限,否则无法正常运行:

chmod +x komari-agent

再然后,我们就需要按照自己的需求来配置 Agent 的运行参数了,也就是具体功能的设置,这一步我们需要先到 Komari 的服务端监控面板里,添加一个节点,也就是像这个这样:

添加好之后,点开第三个编辑按钮,你会看到有一个 Token 令牌的栏目,这里我们就简称为 token 了,后面要用到它,先记住。

然后,我们就需要配置这个 Agent 程序具体的运行参数了,这是我做的表:

功能说明具体参数
服务端所在地址(参数例子里是 example.com)-e http://example.com
Token(被控端必填的 Token 令牌,就是上面让记住的那串)-t token
禁用远程控制(监控面板不能控制被监控设备)--disable-web-ssh
忽略不安全证书--ignore-unsafe-cert
只监测特定网卡(统计流量和网速用的,参数例子里是 eth0,eth1)--include-nics eth0,eth1
排除特定网卡(统计流量和网速用的,参数例子里是 lo)--exclude-nics lo
只监测特定挂载点(参数例子里是/;/home;/var)--include-mountpoint /;/home;/var
网络统计月重置日(用于流量统计,设置服务器流量是什么日子重置,例子里是 5 号)--month-rotate 5
禁用自动更新--disable-auto-update
包含缓冲区内存(不选只上报已用内存,选了上报已用+缓冲区内存)--memory-include-cache

以上就是自己部署 Agent 时可以使用的全部运行参数,那么根据需要,组合出来的 Agent 程序运行的完整命令大概就是这样的:

./komari-agent -e http://example.com -t 1234567890abcdef --disable-web-ssh --month-rotate 5

上面这些的意思是,探针面板所在地址是 http://example.com,使用的令牌是 1234567890abcdef,不允许服务端控制被监测端,被监测端服务器是每个月 5 号重置流量。

当然,这个命令只能说是一次性命令,断开服务器的 SSH 或者重启后就没法继续运行了,所以我们要和部署服务端一样,同样添加 systemd 服务文件以让它能持久运行,并且开机自启动。

打开/etc/systemd/system 这个目录,创建一个叫 komari-agent.service 的文件,然后在里面填写如下内容:

[Unit]
Description=Komari Agent Service
After=network.target

[Service]
ExecStart=/opt/komari-agent/komari-agent -e http://example.com -t 1234567890abcdef --disable-web-ssh --month-rotate 5
WorkingDirectory=/opt/komari-agent
Restart=always
User=root
Group=root

[Install]
WantedBy=multi-user.target

这里的 ExecStart 就是写的前面我们配置的 Agent 完整运行命令,只是要用完整路径的形式,WorkingDirectory 就写 Komari Agent 的所在目录,后面的 User 和 Group 写的是 Agent 以什么用户运行,我这里用的是 root,你也可以设置为非 root 用户运行,这样会更安全。

如果设置了非 root 用户运行,记得将 Komari Agent 所在目录以及本体的所有者信息改为对应的用户,避免因为权限问题而导致 Agent 无法自动更新,以下命令为改所有者为 root:

chown -R root:root /opt/komari-agent

上面的做好以后,就开始激活开机自启动并立即运行了:

systemctl daemon-reload
systemctl enable komari-agent
systemctl start komari-agent

手动部署,结束!

最后再补充一点注意!手动部署的这些操作是以你有被监测服务器的 root 权限来考虑的,如果你没有 root 权限,那么就不能通过创建 systemd 来让 Agent 开机自启动并后台保活了,这种条件可以看看官方推荐的做法,也就是用 screen 来让 Agent 即便是断开 SSH 也能保持后台运行:

apt install screen
screen -S komari-agent
./komari-agent -e http://example.com -t 1234567890abcdef --disable-web-ssh --month-rotate 5

PS:screen 这个工具的作用只能做到机器只要不关机,你在它里面输入命令执行的程序就会一直在后台运行,但重启之后就失效了。

到这里,不管你的 Agent 的是用一键脚本部署的还是手动部署的,现在你应该都能在 Komari 面板里看到刚刚添加好的被监测服务器的信息了。如果后面还需要添加其他被监测的服务器,只需要再重复这个步骤就可以了。

四、Komari 和 Komari Agent 的更新升级

这一部分就只简单的说下,因为并没有什么难度。

由于 Komari 和 Komari Agent 都是二进制文件,更新升级只需要去官方的 Github 下载页里下最新的文件覆盖过去就行了。

Komari 服务端下载地址:https://github.com/komari-monitor/komari/releases

Komari Agent 下载地址:https://github.com/komari-monitor/komari-agent/releases

在覆盖之前,别忘了先停止程序的运行:

systemctl stop komari
systemctl stop komari-agent

覆盖完成后,再重新运行:

systemctl start komari
systemctl start komari-agent

不过,我看官方说明好像 Agent 是可以自动更新的,所以可能真正要手动更新的只有 Komari 服务端。

结束

好了,以上就是纯手动部署 Komari 面板服务端和 Agent 被监测端的教程了,其实如果你不像我这样有强迫症,直接用作者提供的一键部署脚本会方便很多,这个就看自己需要啦!

Komari 作为一个主打轻量的工具,博主使用起来感觉比哪吒面板好不少,该有的功能也差不多都有了,感兴趣的可以试试。

文章标题:[Debian]开源探针面板 Komari 搭建教程分享
本文作者:希卡米
链接:https://hikami.moe/dev/5272.html

如非文内特别说明,博客内作品均默认采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
知识共享许可协议
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇