v1.2.2 Apache-2.0 全中文 UI

一个二进制
装下整套运维监控

Strix(夜枭)是一套开箱即用的轻量级分布式监控系统。Server 端 + Agent 端协同, 单机可管数千台主机。零模板、零脚本、零 CDN 依赖 —— 内网离线环境照样跑得起来。

  • 无需 MySQL / JDK / Tomcat
  • 常驻内存 20MB 以内
  • 纯静态二进制,换文件即升级
http://<服务器IP>:9999 LIVE
Strix 控制台仪表盘
在线率 100% 采集端每分钟上报
告警已认领 静默期内只留痕不打扰
20MB服务端常驻内存
1个SQLite 单文件存储
13类服务端主动探针
8套可视化大屏模板
10个跨平台构建产物
Architecture

两个角色,一条链路

没有中间件、没有消息队列、没有外部依赖。
采集端把指标 POST 上来,服务端落库、判定、推送 —— 链路短到能在抓包里读完。

strix-agent Linux 主机 · 采集端 CPU / 内存 / 磁盘 / 网络 strix-agent Windows · macOS 同一套采集抽象 strix-server HTTP API · 会话鉴权 控制台 / 大屏 / 教程(内嵌) 13 类主动探针 · 告警判定 :9999 单端口 邮件 / 钉钉 / 企微 / 飞书 / Slack / Webhook SQLite 单文件 strix.db(WAL) 零运维 · 冷备即拷贝 浏览器 控制台 / 投屏大屏 /screen/1 ~ /screen/8 授权中心 · 可选 不配置 = 完全离线单机模式 POST 指标 下发指令 写入 查询

Server 端

同时提供 Web 控制台、可视化大屏、使用教程与开放 API,并把 13 类主动探针跑在服务端侧 —— 被监控机不需要装任何探测组件。

Agent 端

单个二进制,注册为 systemd / launchd / 计划任务。上报间隔、采集项、升级策略全部由平台下发,改配置不用登主机、不用重启。

数据落点

全部写进一个 SQLite 文件,WAL 模式崩溃安全。备份就是 cp strix.db*,迁移就是把这个文件搬走。

Why Strix

把复杂度留在代码里,
不留在你的运维里

装监控最烦的从来不是监控本身,而是它带来的那一堆依赖。Strix 的目标是:下载、运行、完事。

极轻量

Go + SQLite 单文件,服务端常驻内存 20MB 以内。没有 JDK、没有 Tomcat、没有 MySQL,一台 1 核 1G 的机器就能当监控中心。

开箱即用

一个二进制 + 一个数据文件就是完整系统。不需要初始化数据库、不需要导入模板、不需要写采集脚本 —— 启动即用。

零 CDN 依赖

控制台、大屏、内置教程与 ECharts 全部打包进二进制。断网、隔离网、专网环境,界面一样完整 —— 不白屏、不缺图。

单文件静态部署

全平台产物均为 CGO_ENABLED=0 纯静态二进制,不绑 glibc 与系统库版本。Debian、CentOS 7、麒麟、统信、Alpine 都能直接跑。

上报可调,远程生效

默认每分钟上报一次,间隔由平台统一下发。调频率、换采集项、改升级策略,都在控制台点一下,不用挨台上主机改配置。

只验签,签不出来

授权码走 Ed25519 签名,私钥只存在于授权中心 —— 平台二进制里只内置公钥。即便被逆向,也伪造不出有效授权。

Capabilities

从 CPU 温度到数据库建连

主机指标、进程与日志、容器与中间件、接口可用性,四类监控覆盖日常运维的绝大部分盲区。

CPU 使用率采样 1 秒取平均
CPU 温度读取 hwmon 传感器最大值
内存使用率物理内存占用百分比
磁盘容量逐分区容量与使用率
磁盘 IO读写速率与 IOPS
硬盘 SMART整体健康度(需 smartmontools)
系统负载1 / 5 / 15 分钟
网卡流量上下行速率与包速率
连接数量TCP 总数与已建立数
硬件信息系统、CPU 型号、核数
MAC 地址主网卡物理地址
趋势统计1 小时 ~ 7 天窗口可切

温度与 SMART 依赖物理硬件。虚拟机与云主机通常没有温度传感器、云盘不暴露 SMART,此时显示「未采集」,不会被误判为异常。

服务器进程应用按名称做进程存活检查,异常可自动执行恢复命令
文件防篡改SHA256 指纹基线比对,改动后持续告警直到还原
端口监听本地端口监听状态检查
日志文件关键字与正则增量匹配
Nginx 访问日志请求量、5xx 错误率、Top IP / Top 路径
Docker 容器容器数量与状态;指定容器可采 CPU / 内存并设阈值
数据库MySQL / Redis / Kafka / RabbitMQ / Elasticsearch 真实建连探测
数据表真实连接执行 SQL,做行数与状态校验
服务接口 APIHTTP 可用性与状态码校验,支持期望状态码

探针跑在服务端,被监控端不需要装任何东西 —— 只要能通,就能监控。

icmp丢包与延迟 tcp端口连通 httpapi接口可用性 snmp网络设备 mysql建连与 SQL redisPING / 内存 kafkaBroker 状态 rabbitmq队列与堆积 elasticsearch集群健康 k8s集群与节点 ftp登录与目录 ssh登录探活 sftp传输可用性 ipmi带外硬件
Screenshots

全中文界面,上手即懂

控制台、工具箱、告警中心、8 套可视化大屏,全部内嵌在二进制里。

http://<服务器IP>:9999
控制台仪表盘

控制台 · 仪表盘:需要关注、在线率、告警与资源趋势一屏看全

8 套大屏模板,每套一个独立地址

/screen/1 ~ /screen/8,投屏机直接收藏,无需登录后台再点进去。支持全屏与自动轮播。

Alerting

告警不是发出去就完事

从通知到处理再到收口,每一步都留痕。这是 1.2.1 版本重做的告警闭环。

01

触发入库

同主机同类型告警在冷却窗口内合并,超出即新增一条独立记录。

02

通知 / 静默

按主机 + 监控项 + 级别 + 时段匹配静默规则;静默期内照常入库,只是不打扰人。

03

认领 / 催办

有人认领即记录人与时间,重复认领会提示「谁在处理」;超时无人认领自动再推一轮。

04

备注 / 复盘

处理备注随告警保存,导出 CSV / Excel 时一并带出认领人与备注。

认领与释放 记录处理人,避免两拨人同时排查同一件事。
静默规则 割接、压测、备份窗口提前静默,事后不用解释「为什么半夜报警」。
未认领催办 超过设定分钟数仍无人认领,再推一轮带「未认领催办」前缀的通知。
四张指标卡 未恢复、待认领、处理中、静默生效中,值班一眼看得出积压。
推送通道 邮件(明文 / STARTTLS / 隐式 TLS) 钉钉 企业微信 飞书 Slack 通用 Webhook
Get started

三条命令,从零到有数据

选一种方式启动 Server,再去控制台「监控 → 添加主机」复制命令装 Agent。全程不需要碰配置文件。

Docker

Docker Compose

推荐 · 1Panel / 宝塔 / 群晖
bash
mkdir -p /opt/strix/data && cd /opt/strix
vi docker-compose.yml
docker compose up -d
docker compose logs -f --tail=100

数据与发布缓存挂载到宿主机目录,重建容器不丢。

Binary

单二进制

Linux / Windows / macOS
bash
./strix-server \
  -addr :9999 \
  -db ./data/strix.db \
  -token <通信密钥> \
  -public-url http://192.168.1.10:9999

启动后浏览器打开 http://服务器IP:9999,默认 admin / strix。

Agent

接入采集端

控制台一键生成命令
bash · linux
curl -fsSL \
  "http://<IP>:9999/install.sh?\
wgToken=<MD5>&name=web-01" | sudo bash

脚本自动识别系统架构 → 下载 → 校验 SHA256 → 注册开机自启。

已验证可直接运行 DebianUbuntuCentOS 7+ RHELRockyFedora openEuler麒麟统信 UOS AlpineWindows ServermacOS
完整部署方案 含容量规划、反向代理、备份恢复、升级回滚与排障手册
Changelog

持续在打磨的地方

当前版本 1.2.2。下面是二开版本里对日常运维影响最大的几次改动。

1.2.2界面收束

表格操作列图标化,把空间还给内容

主机、监控项、指令、资产、账号、巡检、成员、凭证、Webhook 等表格的操作按钮统一改为 27×27 图标按钮,操作列宽度从 200~300px 降到 120~160px;仪表盘指标卡排满一行,表格时间列统一等宽数字。

1.2.1告警闭环

认领、静默、催办

告警可认领 / 释放并记录处理人,支持处理备注;新增按主机 + 监控项 + 级别 + 时段匹配的静默规则,静默期照常入库只压通知;未认领超时自动再推一轮。

1.2.0品牌更名

更名为 Strix(夜枭)

二进制、目录、部署路径、环境变量前缀、授权码前缀统一为 strix / STRIX_;旧标识与存量授权码继续兼容 —— 老部署换个二进制即可,无需重新授权或迁移数据。

1.1.5主机管理

支持中文主机名与主机重命名

一键安装脚本不再把中文主机名清成一串连字符;新增主机重命名与删除,改名会级联迁移历史数据,旧名仍在上报的采集端自动归位、无需重装。

1.1.3自升级

平台自升级后自动重启生效

systemd、Docker Compose 与手工 nohup 三种部署形态都能在替换二进制后自动拉起,启动失败自动回滚 .bak。

FAQ

常见问题

真的不需要 MySQL 吗?
不需要。存储层只有 SQLite(纯 Go 实现,无 CGO),所有数据落在一个文件里。MySQL 驱动只用于「数据库监控项」去探测你已有的库,不作为存储后端。
能监控多少台主机?
默认每分钟上报,读取走 8 个连接、写入走 8192 长度队列,单实例可支撑数千台主机。历史数据默认保留 30 天,可按需调整(0 表示永久保留)。
完全内网、不能上外网能用吗?
能。前端资源、ECharts、内置教程全部打包在二进制里,不请求任何 CDN。把授权中心地址配置为空(-hub=)就是完全离线的单机模式,功能不受影响。
被监控机要装什么?
一个采集端二进制,注册为系统服务即可。服务端探针类监控(ICMP / TCP / HTTP / 数据库 / 中间件等)完全跑在服务端,被监控机什么都不用装。
怎么升级?
服务端就是「换一个二进制 + 重启」,数据与配置都在二进制之外。采集端支持平台统一下发自动升级,也可以在控制台统一指定版本。升级前建议把 strix.db 连同 -wal / -shm 一起冷备。
老版本的授权码还有效吗?
有效。STRIX2- 为主,历史前缀的授权码继续只读兼容;机器码与设备密钥的历史盐值保持不变,换二进制不会导致授权失效。

把它跑起来,比读介绍快

一个二进制,一个数据文件,一分钟看到仪表盘。