MCPcopy Index your code
hub / github.com/dushixiang/pika

github.com/dushixiang/pika @v0.1.13

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.13 ↗ · + Follow
1,853 symbols 4,805 edges 255 files 965 documented · 52%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Pika 探针监控系统

一个基于 Go + PostgreSQL/SQLite + VictoriaMetrics 的实时探针监控系统

快速开始截图功能特性文档加入群聊

简介

Pika 是一个轻量级的探针监控系统,支持实时数据采集、存储和查询。系统采用 WebSocket 进行探针与服务端的通信,使用 VictoriaMetrics 存储时序指标数据,支持 PostgreSQL 和 SQLite 两种数据库方案。除了基础监控功能外,还提供 Linux 应急响应和安全基线检查能力,帮助快速发现和分析系统安全风险。

功能特性

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

详细功能说明请参考 功能特性文档

截图

public1.png public2.png public3.png public4.png sec1.png sec2.png tamper.png setting.png

快速开始

SQLite 版本

# 下载配置文件
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

# 修改配置(重要:修改 JWT Secret 和管理员密码)
# 编辑 config.yaml

# 启动服务
docker-compose -f docker-compose.sqlite.yml up -d

# 访问 http://localhost:8080
# 默认账户 admin / admin123

详细文档:SQLite 版本部署指南

PostgreSQL 版本

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

# 修改配置(重要:修改数据库密码、JWT Secret 和管理员密码)
# 编辑 config.yaml

# 启动服务
docker-compose -f docker-compose.postgresql.yml up -d

# 访问 http://localhost:8080
# 默认账户 admin / admin123

详细文档:PostgreSQL 版本部署指南

文档

环境要求

  • Docker 20.10+
  • Docker Compose 1.29+

加入群聊

请备注 pika

https://t.me/next_terminal

Extension points exported contracts — how you extend this code

WebSocketWriter (Interface)
WebSocketWriter 抽象 JSON 写入操作,由 outboundBuffer 和 outboundWriter 共用 [2 implementers]
pkg/agent/service/metrics_buffer.go
MonitorScheduler (Interface)
MonitorScheduler 调度器接口(避免循环依赖) [1 implementers]
internal/service/monitor_service.go
Provider (Interface)
Provider DNS 服务商接口 [1 implementers]
internal/ddns/provider.go
SystemConfigProvider (Interface)
(no doc) [2 implementers]
internal/assets/ui.go
MessageHandler (FuncType)
MessageHandler 消息处理器接口
internal/websocket/manager.go
Replace (FuncType)
(no doc)
pkg/replace/fs.go
Window (Interface)
(no doc)
web/src/global.d.ts
Logger (Interface)
Logger 日志接口 [1 implementers]
pkg/agent/audit/utils.go

Core symbols most depended-on inside this repo

Error
called by 430
pkg/agent/audit/utils.go
Info
called by 233
pkg/agent/audit/utils.go
Warn
called by 114
pkg/agent/audit/utils.go
Set
called by 53
internal/service/property_service.go
getErrorMessage
called by 40
web/src/lib/utils.ts
Debug
called by 38
pkg/agent/audit/utils.go
formatBytes
called by 38
web/src/lib/format.ts
Close
called by 34
pkg/agent/service/agent.go

Shape

Method 688
Function 642
Struct 288
Interface 227
FuncType 4
Class 2
TypeAlias 2

Languages

Go67%
TypeScript33%

Modules by API surface

web/src/api/agent.ts79 symbols
internal/protocol/message.go68 symbols
web/src/types/index.ts52 symbols
pkg/agent/service/agent.go46 symbols
internal/service/notifier.go46 symbols
internal/migrate/v0_0_13/metric.go40 symbols
pkg/agent/audit/utils.go33 symbols
internal/service/alert_service.go30 symbols
web/src/api/property.ts25 symbols
pkg/agent/tamper/tamper_protector.go25 symbols
internal/service/property_service.go24 symbols
internal/service/metric_service.go23 symbols

For agents

$ claude mcp add pika \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact