pingping/README.md

133 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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