# jar-monitor **Repository Path**: attacker/jar-monitor ## Basic Information - **Project Name**: jar-monitor - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-24 - **Last Updated**: 2025-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Jar Monitor - 监控数据模拟器 基于 **Java 17** 和 **Spring Boot 3.1.5** 的监控模拟项目,用于生成 Prometheus 指标和日志告警数据。 ## 功能特性 - ✅ **Prometheus 指标模拟** - 订单/支付/登录成功率、活跃用户、队列大小、响应时间等 - ✅ **日志告警模拟** - ERROR/FATAL/OOM/timeout 等关键字日志 - ✅ **Web 控制界面** - 可视化启用/停用模拟器 ## 快速开始 ### 📦 编译打包 ```bash # Maven 打包 mvn clean package # 生成文件:target/jar-monitor.jar ``` ### 🚀 运行应用 ```bash # 默认端口 8080 java -jar target/jar-monitor.jar # 指定端口运行 java -Dserver.port=8000 -jar target/jar-monitor.jar # 后台运行 nohup java -Dserver.port=8000 -jar target/jar-monitor.jar > app.log 2>&1 & ``` ### 🌐 访问地址 | 功能 | 地址 | |------|------| | Web 控制台 | http://localhost:8080 | | Prometheus 指标 | http://localhost:8080/actuator/prometheus | | 健康检查 | http://localhost:8080/actuator/health | ## 🐳 Docker 部署 ### 🔨 构建镜像 ```bash # 构建 Docker 镜像 docker build -t jar-monitor:1.0.0 . # 推送到私有仓库(可选) docker tag jar-monitor:1.0.0 registry.example.com/jar-monitor:1.0.0 docker push registry.example.com/jar-monitor:1.0.0 ``` ### 🚢 运行容器 ```bash # 默认端口 8080 docker run -d --name jar-monitor -p 8080:8080 jar-monitor:1.0.0 # 指定端口 8000 docker run -d --name jar-monitor -p 8000:8000 -e JAVA_OPTS="-Dserver.port=8000" jar-monitor:1.0.0 # 使用 Docker Compose docker-compose up -d ``` ## 📊 监控配置 ### Prometheus 抓取配置 ```yaml scrape_configs: - job_name: 'jar-monitor' metrics_path: '/actuator/prometheus' scrape_interval: 5s static_configs: - targets: ['localhost:8080'] ``` ### 主要指标 - `business_order_success_total` / `business_order_fail_total` - 订单成功/失败数 - `business_payment_success_total` / `business_payment_fail_total` - 支付成功/失败数 - `business_active_users` - 活跃用户数 - `business_queue_size` - 队列大小 - `business_api_response_time_seconds` - API 响应时间 ### 日志告警关键字 `FATAL` `ERROR` `CRITICAL` `OOM` `timeout` `ConnectionPoolExhaustedException` `RejectedExecutionException` ## 📚 相关文档 - [SLS告警配置](SLS-ALERT-GUIDE.md) - 阿里云 SLS 日志告警配置指南 - [监控文档](监控文档.MD) - Prometheus/SLS 查询语法、指标列表、错误关键字详解 - `alert_rules.yml` - Prometheus 告警规则示例 ## 🛠️ 技术栈 Java 17 | Spring Boot 3.1.5 | Micrometer | Prometheus | Logback ## 📝 License MIT License