ByteNoteByteNote
Pika:开源轻量的服务器探针监控,防篡改和安全审计也顺带做了

字节笔记本

2026年9月14日

Pika:开源轻量的服务器探针监控,防篡改和安全审计也顺带做了

API中转
¥120

分散在各处的服务器想统一看指标、盯服务是否活着,Pika 是个轻量的新选择。它是 Go 写的开源探针监控系统,Docker Compose 一键拉起,除了实时指标和服务拨测,还把文件防篡改保护和安全审计做进了同一个面板,后两样在同类探针工具里很少见。

项目简介

Pika(pika-monitor/pika)2025 年 11 月开始开发,Go 编写,Apache-2.0 协议,目前在 GitHub 上有 553 stars,最新版 v0.2.7 于 9 月 6 日发布,界面中文优先。

架构是经典的探针模式:被监控的机器跑探针,指标通过 WebSocket 推到中心面板,时序数据存 VictoriaMetrics,业务数据存 SQLite 或 PostgreSQL。界面分管理后台和公开页两套,公开页能给访客看设备状态,玩法和哪吒监控类似,但 Pika 往安全方向多走了两步:防篡改和安全审计。

核心特性

  • 实时指标:CPU、内存、磁盘、网络、GPU、温度,支持 5 分钟到 1 小时多档历史查询
  • 服务检查:HTTP(S) 状态码、响应时间、内容匹配,HTTPS 证书到期检测;TCP 端口连通性;ICMP 延迟和丢包率
  • 防篡改保护:基于 fsnotify 实时监听受保护目录的文件变动,定期巡检文件不可变属性,发现篡改立即告警
  • 安全审计:自动收集资产清单(端口、进程、用户、SSH 配置、Cron、启动脚本、内核),按 Critical/High/Medium/Low 四级给出风险分级,审计历史可查询对比
  • 认证:Basic Auth(bcrypt)、OIDC、GitHub OAuth,区分管理员视图和公开视图
  • 部署轻:Docker Compose 一条命令,SQLite 起步,多人用时换 PostgreSQL

技术栈

  • Go 1.21+ - 探针与服务端
  • VictoriaMetrics - 时序指标存储
  • PostgreSQL / SQLite - 业务数据存储
  • WebSocket - 探针数据推送
  • Docker Compose - 部署编排

安装指南

系统要求:Docker 20.10+ 和 Docker Compose 1.29+。

最省事的 SQLite 方案,三条命令:

bash
curl -O https://raw.githubusercontent.com/pika-monitor/pika/main/docker-compose.sqlite.yml
curl -o config.yaml https://raw.githubusercontent.com/pika-monitor/pika/main/config.sqlite.yaml
# 编辑 config.yaml:改掉 JWT secret 和管理员密码
docker compose -f docker-compose.sqlite.yml up -d

完成后打开 http://localhost:8080,默认账号 admin / admin123。

生产环境用 PostgreSQL 版:

bash
curl -O https://raw.githubusercontent.com/pika-monitor/pika/main/docker-compose.postgresql.yml
curl -o config.yaml https://raw.githubusercontent.com/pika-monitor/pika/main/config.postgresql.yaml
# 编辑 config.yaml:改数据库密码、JWT secret 和管理员密码
docker compose -f docker-compose.postgresql.yml up -d

config.yaml 里还支持网卡过滤和数据保留策略,按需调整。

使用示例

面板跑起来后,在被监控的机器上下发探针,指标就实时出现在面板里。三个最常用的场景:

盯住服务是否活着

在服务监控里加一条 HTTP 检查,填上 URL,面板持续记录状态码和响应时间,HTTPS 站点顺带盯证书到期。检测端口用 TCP 类型,测网络质量用 ICMP,各管一摊。

保护关键目录不被改

把网站目录或配置文件路径加进防篡改保护:fsnotify 盯实时变动,不可变属性巡检兜底,有动静立刻上报。对挂了静态站、平时没人登录的老服务器,这一层很实用。

给服务器做安全体检

安全审计收集机器的资产清单,检查登录异常、可疑进程、用户权限和 SSH 配置问题,输出四级风险报告。官方截图里能看到实际效果:临时目录里的可执行文件、无密码可登录的用户、允许 root 密码登录的 SSH 配置,都会被逐条点名。

功能模块参考

模块说明
设备监控实时指标、历史趋势、GPU 与温度
服务监控HTTP(S)/TCP/ICMP 拨测、证书到期检测
防篡改保护实时文件监听 + 不可变属性巡检 + 告警
安全审计资产清单、四级风险分级、审计历史
公开页访客可看的设备状态页
认证Basic Auth / OIDC / GitHub OAuth

注意事项

  • 部署前必须改掉 config.yaml 里的 JWT secret 和管理员密码,默认的 admin123 不要带上公网。
  • SQLite 和 PostgreSQL 要在部署前定好,事后再迁移比较折腾。
  • 探针是主动回连面板的,被监控机器只要能访问面板端口就行,面板侧不用为每台探针开入站规则。
  • 项目还处在 v0.2.x 阶段,迭代活跃但年轻,关键环境先在测试机上跑一阵再上。

项目链接

分享: