在这个把所有数据都搬上手机的时代,服务器监控自然也不能落后。对于手里跑着几台 VPS 或 NAS 的朋友来说,时不时掏出手机看一眼服务器状态,早已不是刚需,而是强迫症般的“安心感”。

今天分享一个极低成本的 DIY 方案,利用开源的服务器探针 Komari 配合 iOS 上的神器 Scriptable,把实时的系统监控数据直接渲染成你手机桌面上的小组件。这种方案不仅保留了原神探针的美观界面,还完全私有化,不用担心数据泄露。

Komari监控组件效果展示

Komari 探针配合 Scriptable 在 iOS 桌面上的实时渲染效果

准备工作

首先,你需要在后端部署好 Komari 探针(这里默认你已经搞定服务端,或者有现成的实例可用)。其次,iOS 设备上需要下载 Scriptable 这个 App。它是一个能让用户通过 JavaScript 编写脚本来在 iOS 主屏幕上显示信息的神器,也是很多 DIY 桌面的必备工具。

获取与配置脚本

核心在于脚本部分,已经有现成的开源项目适配了 Komari 的 API,能直接把数据绘制成漂亮的卡片。你可以直接下载适配好的脚本文件(komari-card.js)并导入到 Scriptable 中。

脚本导入后,最重要的一步是修改配置区。打开脚本编辑,找到顶部的 CONFIG 对象,这里有几个关键参数需要根据你的实际情况来调整:

const CONFIG = {
    baseURL: "https://komari.example.com", // 必填,结尾不带斜杠
    apiKey: "", // 可选
    offlineThreshold: 120,
    pingHours: 1,
    netHours: 6, // 网络折线图时间窗(小时)
};

参数避坑指南

别看代码只有几行,随便配一下可能会遇到不显示数据的问题,这里细说几个关键点:

  1. ** baseURL(必填):这是你 Komari 探针的访问地址,记住必须是 https:// 开头,且结尾一定不要带斜杠**。很多人第一次配置失败都是多加了一个 /,导致 API 接口 404。
  2. ** apiKey(可选)**:如果你的探针是私密的,没有开启访客模式,这里必须填入具有读取权限的 API Key。如果没设密钥,留空即可。
  3. ** offlineThreshold(离线阈值)**:默认是 120(秒),即如果探针超过 120 秒没心跳,就视为离线。你可以根据网络状况适当放宽或收紧。
  4. ** pingHours 和 netHours(图表时间窗)**:这两个参数控制小组件内折线图的时间跨度。pingHours 控制延迟图表显示过去几个小时的数据,netHours 控制网络流量图的时间范围。比如你想看过去 6 小时的流量趋势,就把 netHours 改为 6。建议根据小组件的大小调整,大组件可以设长一点看起来更爽,小组件保持默认即可。

实际体验与优化

配置完成后,回到 iOS 桌面,长按添加 Scriptable 的组件,选择刚刚导入的脚本。初次加载可能需要几秒钟,之后就会看到服务器当前的运行状态了,包括 CPU、内存使用率以及流畅的流量折线图。

相比于单纯在浏览器刷新探针页面,这种原生小组件的体验显然更“丝滑”。而且 Komari 本身就支持多节点监控,你甚至可以为每台关键服务器单独写一个脚本(或者在脚本中做一个节点切换逻辑),让手机桌面上铺满服务器状态卡片,科技感瞬间拉满。

唯一的“缺点”可能就是 Scriptable 在 iOS 17 之后的一些机制限制,但总体来说,这种 DIY 的乐趣和掌控感,是那些现成的监控 App 无法比拟的。还没动手的朋友,今晚就试试把自己的 VPS 装进手机里吧。

标签: none

评论已关闭