|
||
---|---|---|
backend | ||
frontend | ||
.gitignore | ||
README.md | ||
docker-compose.yml | ||
ecosystem.config.js | ||
package.json | ||
pnpm-workspace.yaml | ||
start.sh | ||
stop.sh |
README.md
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 (可选,用于生产环境)
安装步骤
- 克隆项目
git clone https://github.com/yourusername/pingping.git
cd pingping
- 安装依赖
# 安装后端依赖
cd backend
pnpm install
# 安装前端依赖
cd ../frontend
pnpm install
- 构建项目
# 构建后端
cd ../backend
pnpm run build
# 构建前端
cd ../frontend
pnpm run build
- 配置环境变量(可选)
如果需要使用邮件或飞书通知,请设置相应的环境变量:
# 飞书通知
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
- 启动服务
开发环境:
# 启动后端
cd ../backend
pnpm run dev
# 启动前端(新终端)
cd ../frontend
pnpm run dev
生产环境(使用 PM2):
# 安装 PM2
pnpm install -g pm2
# 启动服务
cd ..
pm2 start ecosystem.config.js
- 访问应用
开发环境:
生产环境:
使用说明
-
添加监控项
- 点击"监控项"页面中的"添加监控项"按钮
- 填写监控项信息(名称、类型、主机、端口等)
- 点击"确定"保存
-
添加通知配置
- 点击"通知设置"页面中的"添加通知"按钮
- 选择通知类型(飞书或邮件)
- 填写相关配置信息
- 点击"确定"保存
-
查看监控状态
- 在"仪表盘"页面可以查看所有监控项的状态
- 点击"详情"可以查看监控项的详细信息和历史记录
许可证
MIT