133 lines
2.4 KiB
Markdown
133 lines
2.4 KiB
Markdown
# Pingping 监控平台
|
||
|
||
Pingping 是一个简单易用的自部署监控平台,用于监控 HTTP 和 TCP 服务的可用性。它可以定时检测服务是否正常运行,并在服务宕机时发送通知。
|
||
|
||
## 功能特点
|
||
|
||
- 支持 HTTP 和 TCP 服务监控
|
||
- 可自定义检测间隔、超时时间和期望的返回值
|
||
- 服务宕机时自动记录 DNS 解析和 traceroute 结果
|
||
- 支持飞书和邮件通知
|
||
- 简洁美观的用户界面
|
||
- 详细的监控历史记录
|
||
|
||
## 技术栈
|
||
|
||
- 前端:Vue 3 + TypeScript + Vite + Element Plus
|
||
- 后端:Node.js + TypeScript + Koa + TypeORM
|
||
- 数据库:SQLite(可配置为 MySQL)
|
||
- 进程管理:PM2
|
||
|
||
## 安装与使用
|
||
|
||
### 环境要求
|
||
|
||
- Node.js 14+
|
||
- pnpm
|
||
- PM2 (可选,用于生产环境)
|
||
|
||
### 安装步骤
|
||
|
||
1. 克隆项目
|
||
|
||
```bash
|
||
git clone https://github.com/yourusername/pingping.git
|
||
cd pingping
|
||
```
|
||
|
||
2. 安装依赖
|
||
|
||
```bash
|
||
# 安装后端依赖
|
||
cd backend
|
||
pnpm install
|
||
|
||
# 安装前端依赖
|
||
cd ../frontend
|
||
pnpm install
|
||
```
|
||
|
||
3. 构建项目
|
||
|
||
```bash
|
||
# 构建后端
|
||
cd ../backend
|
||
pnpm run build
|
||
|
||
# 构建前端
|
||
cd ../frontend
|
||
pnpm run build
|
||
```
|
||
|
||
4. 配置环境变量(可选)
|
||
|
||
如果需要使用邮件或飞书通知,请设置相应的环境变量:
|
||
|
||
```bash
|
||
# 飞书通知
|
||
export FEISHU_WEBHOOK=your_feishu_webhook_url
|
||
|
||
# 邮件通知
|
||
export EMAIL_HOST=smtp.example.com
|
||
export EMAIL_PORT=587
|
||
export EMAIL_SECURE=false
|
||
export EMAIL_USER=your_email@example.com
|
||
export EMAIL_PASS=your_password
|
||
export EMAIL_FROM=pingping@example.com
|
||
```
|
||
|
||
5. 启动服务
|
||
|
||
开发环境:
|
||
|
||
```bash
|
||
# 启动后端
|
||
cd ../backend
|
||
pnpm run dev
|
||
|
||
# 启动前端(新终端)
|
||
cd ../frontend
|
||
pnpm run dev
|
||
```
|
||
|
||
生产环境(使用 PM2):
|
||
|
||
```bash
|
||
# 安装 PM2
|
||
pnpm install -g pm2
|
||
|
||
# 启动服务
|
||
cd ..
|
||
pm2 start ecosystem.config.js
|
||
```
|
||
|
||
6. 访问应用
|
||
|
||
开发环境:
|
||
- 前端:http://localhost:3000
|
||
- 后端:http://localhost:2070
|
||
|
||
生产环境:
|
||
- 前端:http://localhost:3000
|
||
|
||
## 使用说明
|
||
|
||
1. 添加监控项
|
||
- 点击"监控项"页面中的"添加监控项"按钮
|
||
- 填写监控项信息(名称、类型、主机、端口等)
|
||
- 点击"确定"保存
|
||
|
||
2. 添加通知配置
|
||
- 点击"通知设置"页面中的"添加通知"按钮
|
||
- 选择通知类型(飞书或邮件)
|
||
- 填写相关配置信息
|
||
- 点击"确定"保存
|
||
|
||
3. 查看监控状态
|
||
- 在"仪表盘"页面可以查看所有监控项的状态
|
||
- 点击"详情"可以查看监控项的详细信息和历史记录
|
||
|
||
## 许可证
|
||
|
||
MIT
|