watchflare-io/watchflare
GitHub: watchflare-io/watchflare
自托管的主机监控平台,提供实时系统指标采集、软件包清单追踪和阈值告警,支持 Docker 或单一二进制部署。
Stars: 2 | Forks: 0
# Watchflare
自托管服务器监控。提供实时指标、软件包清单和告警功能。支持通过 Docker 部署或作为单一二进制文件运行。
[](https://github.com/watchflare-io/watchflare/releases)
[](LICENSE)
[](https://go.dev)
[](https://github.com/watchflare-io/watchflare/pkgs/container/watchflare)
### 主机详情
深入查看任意主机的完整系统指标和实时图表。TimescaleDB 连续聚合功能让从 1 小时到 30 天的缩放操作瞬间完成。
### 软件包清单
跟踪您整个集群中安装的每个软件包。检测约 30 种包管理器(apt、dnf、pacman、brew、npm、pip、cargo 等)的过期版本和安全更新。
### 可配置的告警规则
通过简洁的抽屉界面为每台主机设置阈值。包括主机离线、CPU、内存、磁盘使用率等。
## 快速开始
**要求:** Docker 和 Docker Compose v2+。
```
mkdir watchflare && cd watchflare && \
curl -sSLO https://get.watchflare.io/hub/docker-compose.yml
```
然后生成三个所需的密钥:
```
printf "POSTGRES_PASSWORD=%s\nJWT_SECRET=%s\nSMTP_ENCRYPTION_KEY=%s\n" \
"$(openssl rand -base64 32)" \
"$(openssl rand -base64 32)" \
"$(openssl rand -base64 32)" > .env
```
启动技术栈:
```
docker compose up -d
```
打开 `http://your-host:8080`。首次加载时,您将被重定向以创建管理员帐户。
**二进制安装 (Linux):** 从 [GitHub 发布页面](https://github.com/watchflare-io/watchflare/releases) 下载预构建的二进制文件,并按照[二进制安装指南](https://docs.watchflare.io/hub/binary-install/)进行操作。
## 安装 Agent
在仪表板中,创建一个主机并复制注册令牌(Token)。然后在目标机器上运行:
**Linux:**
```
curl -sSL https://get.watchflare.io | sudo bash -s -- \
--token wf_reg_YOUR_TOKEN \
--host YOUR_HUB_IP \
--port 50051
```
**macOS (通过 Homebrew):**
```
curl -sSL https://get.watchflare.io/brew | bash -s -- \
--token wf_reg_YOUR_TOKEN \
--host YOUR_HUB_IP \
--port 50051
```
安装程序将注册 Agent,写入配置,并启动服务。几秒钟后,该主机将在仪表板中显示为在线状态。
## 技术栈
| 组件 | 技术 |
|-----------|------------|
| Hub | Go, Gin, gRPC, GORM |
| 前端 | SvelteKit 5, Tailwind CSS v4, uPlot |
| 数据库 | PostgreSQL + TimescaleDB |
| Agent | Go, gopsutil |
| 安全 | TLS 1.3, HMAC-SHA256, JWT, bcrypt |
## 文档
完整文档请访问 **[docs.watchflare.io](https://docs.watchflare.io)**
- [架构概览](https://docs.watchflare.io/get-started/architecture/)
- [Hub 配置参考](https://docs.watchflare.io/reference/hub-env/)
- [Agent 安装 (Linux)](https://docs.watchflare.io/agent/install/linux/)
- [Agent 安装 (macOS)](https://docs.watchflare.io/agent/install/macos/)
- [告警与通知](https://docs.watchflare.io/monitoring/alerts-notifications/)
- [软件包清单](https://docs.watchflare.io/monitoring/packages/)
## 开发
```
# 1. 仅启动数据库
docker compose -f docker-compose-postgres.yml up -d
# 2. Hub (终端 1)
cd backend && go run .
# 3. Frontend (终端 2)
cd frontend && npm install && npm run dev # http://localhost:5173
```
复制 `.env.example` 到 `.env`,并将 `POSTGRES_PASSWORD`、`JWT_SECRET` 和 `SMTP_ENCRYPTION_KEY` 设置为随机字符串(使用 `openssl rand -base64 32` 分别生成)。首次启动时,Hub 会重定向您以创建管理员帐户。
查看 [CONTRIBUTING.md](CONTRIBUTING.md) 获取完整的贡献指南。
## 许可证
[AGPL-3.0](LICENSE)
标签:Docker, EVTX分析, Go, Python工具, Ruby工具, 安全防御评估, 日志审计, 测试用例, 系统指标, 自托管, 请求拦截, 运维监控