侧边栏壁纸
博主头像
Tech • VPS • Network vlx@tech

行动起来,活在当下

  • 累计撰写 20 篇文章
  • 累计创建 3 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Pika Monitor 一个带安全审计能力的轻量级监控系统

vlongx
2026-01-11 / 0 评论 / 0 点赞 / 212 阅读 / 0 字
温馨提示:
本文最后更新于2026-01-11,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

今年有一个扫描节点被大区安服团队拿下了 root 登录权限,导致机器上的多种密钥发生泄露。具体漏洞成因这里不展开说明,只能说属于不该出现的低级失误

这次事件让我重新审视了一个长期被忽略的问题:
我们现有使用的大多数开源监控工具,本质上仍停留在“可用性监控”层面
它们可以非常清楚地告诉你——服务是不是还活着、端口通不通、接口回不回,但当机器已经“被进门”时,它们几乎没有任何感知能力

也正是基于这个背景,我开始着手编写一个偏安全侧的探针程序,目标不是替代现有监控体系,而是补上一个长期缺失的能力:
让节点在运行过程中,具备基础的“看门”与异常感知能力。

pika.png
pika1.png

市面上的方案各有侧重:

工具 定位 优势 局限
哪吒监控 多服务器状态监控 界面友好,流量统计,DDNS 支持 无安全审计能力,无历史数据
Komari 轻量级多节点探测 / 网络质量监控 部署极简(单二进制 / Docker),多节点延迟、丢包、TCP/HTTP 探测,适合 VPS / 家宽 指标维度有限,不适合复杂业务监控
Uptime Kuma 服务可用性检测 轻量简洁,通知灵活 仅做探活
Prometheus 专业指标采集 生态成熟,扩展性强 配置复杂,需自建完整监控栈
Zabbix 企业级全功能 功能全面,成熟稳定 资源占用高,学习曲线陡峭

Pika 的设计思路是"监控 + 安全"一体化:

项目地址:github.com/dushixiang/pika

功能特性

  • 📊 实时性能监控:CPU、内存、磁盘、网络、GPU、温度等系统资源监控
  • 🔍 服务监控:HTTP/HTTPS、TCP 端口、ICMP/Ping 监控,支持证书到期检测
  • 🛡️ 防篡改保护:文件实时监控、属性巡检、事件告警
  • 🔒 安全审计:资产清单收集、安全风险分析、历史审计记录
  • 🔐 多种认证:Basic Auth、OIDC、GitHub OAuth
  • 📦 轻量部署:Docker Compose 一键部署,资源占用低

快速开始

SQLite 版本

1. 下载配置文件
# 下载 docker-compose.yml 配置文件
curl -O https://raw.githubusercontent.com/dushixiang/pika/main/docker-compose.sqlite.yml
# 下载配置文件示例
curl -o config.yaml https://raw.githubusercontent.com/dushixiang/pika/main/config.sqlite.yaml

# 或使用 wget
wget https://raw.githubusercontent.com/dushixiang/pika/main/docker-compose.sqlite.yml
wget -O config.yaml https://raw.githubusercontent.com/dushixiang/pika/main/config.sqlite.yaml
2. 修改配置
编辑 config.yaml
vim config.yaml
数据库配置(SQLite):
database:
  enabled: true
  type: sqlite
  sqlite:
    path: "./data/pika.db"
生成随机密钥
https://1024tools.com/uuid
JWT 密钥
必须修改为强随机字符串:
App:
  JWT:
    Secret: "your-secret-key-here"  # 必须修改

pika4.png

修改登入密码
htpasswd -nbBC 12 "" 'xxxxxxxxx' | cut -d: -f2

pika2.png

vim config.yaml

pika3.png

启动服务
docker compose -f docker-compose.sqlite.yml up -d
重启docker服务
sudo systemctl restart docker

访问 http://IP:8081
默认账户 admin / admin123

详细文档:SQLite 版本部署指南
转载至:https://www.nodeseek.com/post-565148-1

0

评论区