当前位置: 首页 > news >正文

Nexknit Gateway v0.2.0:全新采集器与告警系统上线

NexKnit 是一款基于约束开发的、完全开源免费的内网设备监控系统。它的网关只有 Python 标准库,单文件部署,零依赖,极易审查和集成。采集器和网关之间通过 TCP 环回通信,任何语言、任何工具,只要能在本地发一行文本,就能完成一次指标上报。云端寄生在 Cloudflare Workers 的免费额度上,全程无需信用卡,同时支持一键部署 。

版本:Core v0.2.0
日期:2025-05-28
核心变更:新增可插拔采集器体系 + 服务端告警

详细指引见COLLECTORS_GUIDE_CN.md at nexknit-dev/nexknit-gateway

快速部署见NexKnit快速部署指南:三分钟白嫖 Cloudflare,打造零依赖内网监控面板

架构设计见NexKnit:基于约束开发的开源免费监控-CSDN博客

一、一键启动(全栈)

git clone https://github.com/nexknit-dev/nexknit-gateway cd nexknit-gateway python run_gateway.py

启动后自动拉起:

  • 网关(127.0.0.1:12345

  • 系统采集器(CPU/内存/磁盘/网络)

  • HTTP 存活采集器(https://example.comhttps://google.com

  • GPU 采集器(如检测到 NVIDIA GPU)

  • 本地存储采集器(数据落盘./data/

所有采集器数据自动推送到网关 → Cloudflare Worker → 仪表盘。


二、四个内置采集器

1. 系统采集器collectors/system.py

指标

指标名类型说明
hostnameS主机名
cpu_percentTCPU 使用率 %
mem_percentT内存使用率 %
disk_used_percentI磁盘使用率 %
net_sent_mbT累计发送 MB
net_recv_mbT累计接收 MB
load_avgL1/5/15 分钟负载
uptime_secondsI运行时间秒
cpu_tempTCPU 温度(Linux)

依赖psutil(可选,无则模拟数据+警告)

单独运行

python collectors/system.py --host 127.0.0.1 --port 12345 --interval 5 # 输出到stdout以供调试,所有的采集器均支持这个参数 python collectors/system.py --output stdout

2. HTTP 存活采集器collectors/http_alive.py

参数

参数默认说明
--urls硬编码空格分隔的 URL 列表
--timeout5请求超时秒

示例

python collectors/http_alive.py --urls https://api.myapp.com/health https://db.internal:8080/ping --timeout 3

3. GPU 采集器collectors/gpu.py

进程变更检测:每--process-log-interval秒(默认 60)对比进程列表,仅当有变化时发送 L 类型日志。

示例

python collectors/gpu.py --interval 5 --process-log-interval 60

无 NVIDIA GPU 时:返回S状态⚠️ GPU Unavailable,不崩溃。

4. 本地存储采集器collectors/local_storage.py

行为

  • 继承StorageCollector

  • 每次采集的原始数据(JSON)追加写入--storage-path下的文件

  • 网关不可达时缓存失败数据

  • 启动时重试未发送成功的缓存

示例

python collectors/local_storage.py --storage-path ./data

三、告警系统

配置(在run_gateway.py顶部)

ALERT_CONFIG = { "enabled": True, "type": "stdout", # "stdout" 或 "webhook" "target": "ops@example.com", "webhook_url": "https://your-server/webhook" }

在采集器中发送告警

self.alert( level="WARNING", # INFO, WARNING, ERROR, CRITICAL title="High CPU", message=f"CPU at {cpu_percent}%", metric_name="cpu_percent", metric_value=cpu_percent )

内置冷却:同一(level, metric_name)5 分钟内只发一次。

Webhook payload

json

{ "level": "WARNING", "title": "High CPU", "message": "CPU at 92%", "collector": "SystemCollector", "metric_name": "cpu_percent", "metric_value": 92.5, "timestamp": "2025-05-28T10:00:00", "target": "ops@example.com" }

四、二次开发最小示例:自定义采集器

from collectors.base import BaseCollector class MyCollector(BaseCollector): def collect(self): return {"my_value": 42} def metrics_to_lines(self, metrics): return [self.format_metric("T", "my_value", metrics["my_value"])]

集成进run_gateway.py

from collectors.my_collector import MyCollector my = MyCollector() my.start()

基类可用方法

方法说明
self.format_metric(type, name, value)返回"T|cpu|42.5\n"
self.send_tcp_message(msg)原始 TCP 发送
self.alert(level, title, message, metric_name, metric_value)发送告警
self.set_alert_config(config)动态修改告警配置

七、其余改进

1. 前端更新了排序逻辑,从按照Type排序更新为按照Name排序

2. 前端更新了对换行符的支持,现在它可以自动换行了

3. 同步更新了Worker的静态页面

八、功能预告

考虑到告警的全套需求,下一步我准备更新Worker,为其附加一个自动检测节点存活的Core定时器,当发现节点下线时触发告警。

仓库:https://github.com/nexknit-dev/nexknit-gateway
一键部署 Cloudflare Worker:见 README 按钮
Issue 响应:36 小时内

http://www.jsqmd.com/news/906785/

相关文章:

  • 回民街的坑很多,但洒金桥那条巷子藏着真正的老味道
  • 2026年5月衡水档案柜之选:深度剖析河北精纳金属制品有限公司 - 2026年企业资讯
  • Arduino与Visuino实现电机定时启停:可视化编程与L298N驱动详解
  • Windows系统的用户管理操作
  • 限时解密|金融/医疗/教育三大垂直领域AI语音合成真实落地瓶颈:92%项目因“微表情语音失真”遭客户拒用
  • 知识IP卡在变现第一步:创客匠人用一套陪跑系统回答“谁来陪你落地”
  • 据说刷一个百度热搜的成本在1万以上
  • 制作儿童英文教学视频的AI工具选型指南
  • 面向美区市场直播拍卖,跨境网络链路选型全指南
  • 最全整理|Claude Code 180+ 运行状态词
  • codex下载与配置
  • VEP注释结果怎么看?从输出VCF里快速筛选致病SNP的实战技巧
  • Mapillary Vistas数据集实战:用Python快速加载并可视化66类街景语义分割标签
  • 别再只算欧氏距离了!用Python+NumPy实战Grassmann流形,搞定人脸识别中的子空间比对
  • 北京研华医疗工控机
  • [智能体-137]:从硬件到智能体:全层级系统记忆体系与空间开销演进
  • CentOS 7最小化安装后,5分钟搞定网络连接(含nmtui图文详解与常见坑点)
  • 口碑好的卡盒哪个创新强
  • 2026年5月市面上四川美式箱变外壳生产厂家口碑推荐厂家推荐榜:YB□、ZGS、欧式、美式箱变外壳厂家选择指南 - 海棠依旧大
  • 【ChatGPT汇报材料优化黄金法则】:20年高管秘书亲授——3类高频废稿+5步AI精修法,今日不学明天被退回
  • 2026年当下,温州别墅门窗选购指南与实力生产商深度解析 - 2026年企业资讯
  • 保姆级教程:在Ubuntu 20.04上从零跑通《视觉SLAM十四讲》所有代码(附避坑指南)
  • 强强联合!比昂芯携手麒麟软件,打造新一代全栈国产化电路仿真解决方案
  • Magisk系统级修改框架:Android权限管理与系统定制终极指南
  • 100个安全运维知识,懂一半绝对高手!
  • 别再问红外图像为啥模糊了!一文讲透它与可见光融合的实战价值(附Python代码示例)
  • 基于Arduino的轻量级外骨骼手臂:从力反馈原理到DIY实践
  • DeepSeek + 腾讯云函数SCF实现毫秒级弹性扩缩容:单实例QPS突破128,成本直降63%(含压测数据对比表)
  • 2026年5月早教中心室内玩具厂家推荐榜:儿童体适能器材、感统训练教具、跑酷套装、攀爬系列、体操垫厂家选择指南 - 海棠依旧大
  • 腾讯云代理商:腾讯云一键部署Hermes Agent 75个技能免配置开箱即用