一直需要一个监控多服务器的工具,用来监控我的 NAS 和服务器的运行状况:包括监控内存、CPU 占用,以及离线 / 上线通知等等。于是我找到了一个轻量级开源的监控工具 Komari,效果如下图所示

选择这个工具的原因:
-
支持不同操作系统,包括 Windows、Linux、MacOS 以及 NAS
-
安装简单,使用 Docker 快速安装
-
占用资源较低,跑在我 2G 内存的服务器上也没有问题
-
支持邮件通知,监控服务器离线以及占用异常
-
界面友好,可以切换主题
服务端安装
文档地址:https://komari-document.pages.dev/install/quick-start.html
Linux 发行版使用脚本安装,适用于使用了 systemd 的发行版 Ubuntu、Debian
curl -fsSL https://raw.githubusercontent.com/komari-monitor/komari/main/install-komari.sh -o install-komari.sh
chmod +x install-komari.sh
sudo ./install-komari.sh
或者使用 Docker
mkdir -p ./data
docker run -d \
-p 25774:25774 \
-v $(pwd)/data:/app/data \
--name komari \
--restart unless-stopped \
ghcr.io/komari-monitor/komari:latest
docker logs komari
我使用 Docker-Compose 安装的,具体配置如下:
version: '3.8'
services:
komari:
image: ghcr.io/komari-monitor/komari:1.1.2a
container_name: komari
ports:
- "25774:25774"
volumes:
- ./data:/app/data
environment:
- TZ=Asia/Shanghai # 设置时区
restart: unless-stopped
安装成功后,打开浏览器访问 http://ip:25774 即可看到仪表盘
添加节点
进入管理后台 - 服务器列表,点击添加节点,输入名称后,点击下载按钮,会提示不同平台的安装 Agent 脚本,复制后在对应平台的服务器上执行命令安装 Agent

模式很简单,服务端跟不同 Agent 通过 Socket 通信,定时上传数据信息,Agent 是自动更新的
添加 NAS 节点
NAS 添加稍微复杂一点,因为 NAS 一般没有完整的 Linux 包管理,所以需要添加定时任务手动执行 Agent 程序
首先去下载 Agent 程序,根据内核下载对应版本 Releases
下载后放在 NAS 的某个目录下,注意这个目录要有权限并且不会被 NAS 自动删除,比如我放在了 /share/.qpkg/komari 目录下,然后给程序添加执行权限
chmod +x ./komari-agent
然后编写一个定时任务脚本,放在任意目录下,记得给脚本添加执行权限。需要修改你的后台域名和创建节点生成的 token
#!/bin/sh
DAEMON=/share/CACHEDEV1_DATA/.qpkg/komari/agent
ARGS="-e $your_domain -t $your_token --include-nics eth0"
if ps | grep -v grep | grep "$DAEMON" >/dev/null 2>&1; then
exit 0
fi
"$DAEMON" $ARGS >>/tmp/komari.log 2>&1 &
接着添加一个定时任务,每10分钟检查一下 Agent 是否在运行,如果没有则启动
*/10 * * * * /root/komari.sh
修改主题
上面的截图就是用的 Light 主题,在管理后台 - 设置 - 主题中可以添加主题和切换主题,这里有一些官方推荐的主题 suggest theme

添加主题需要去 github 下载 zip 压缩包,然后在后台上传主题,可以手动更新主题版本
添加邮件通知
首先添加 SMTP 配置,在管理后台 - 设置 - 通知中添加,可以自定义通知模板
然后分别添加 SMTP 服务器、端口、用户名、密码、发件人、收件人
我使用的是 brevo 免费邮件服务,账号密码在 Settings - SMTP & API 中获取,发件人邮箱需要在域名添加 MX 记录

接下来设置邮件通知的场景,在通知 - 离线通知 / 负载通知 添加,可以设置离线宽限期,负载阈值等,可以对不同服务器单独设置

站点设置
在管理后台 - 设置 - 站点中自定义站点信息,我修改了站点名称、描述和图标,这里最重要的一项是可以开启 私有站点,开启后监控数据需要登陆才能查看

我个人目前只用到了以上配置,很快就能部署配置完成了,还有一些实用的功能比如 远程执行,可以在后台快捷地在对应服务器上执行一些命令,已经满足我的需求了