# 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