# Agent-2 (A2) 生产部署指南 ## 🚀 部署前检查清单 ### 1. 环境要求 - ✅ .NET 8.0 Runtime - ✅ Windows Server 2019+ 或 Windows 10+ - ✅ SQL Server Express 2019+ (如使用持久化) - ✅ 足够的内存和存储空间 ### 2. 依赖验证 ```bash # 验证所有依赖项 dotnet list OrpaonVision.SiteApp package # 检查安全漏洞 dotnet list OrpaonVision.SiteApp package --vulnerable --include-transitive ``` ### 3. 配置文件检查 确保 `appsettings.json` 包含必要的配置: ```json { "Runtime": { "TotalLayers": 10, "MaxRetries": 3, "TimeoutSeconds": 30, "EnableAutoRecovery": true, "AutoClearIntervalSeconds": 30 }, "Logging": { "LogLevel": { "OrpaonVision.SiteApp.Runtime.Services": "Information", "OrpaonVision.SiteApp.Runtime.Services.AdvancedRuleEngineService": "Debug", "OrpaonVision.SiteApp.Runtime.Services.AdvancedRuntimeStateMachineService": "Debug", "OrpaonVision.SiteApp.Runtime.Services.ManualOverrideService": "Information", "OrpaonVision.SiteApp.Runtime.Services.AlarmSystemService": "Warning" } }, "AllowedHosts": "*" } ``` ## 🔧 服务配置 ### 依赖注入注册 在 `Program.cs` 中确保正确注册所有服务: ```csharp // 添加运行时选项 builder.Services.Configure( builder.Configuration.GetSection("Runtime")); // 注册Agent-2负责的服务 builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); ``` ### 健康检查配置 ```csharp // 添加健康检查 builder.Services.AddHealthChecks() .AddCheck("rule-engine") .AddCheck("state-machine") .AddCheck("alarm-system"); ``` ## 📊 监控配置 ### 性能计数器 ```csharp // 添加性能监控 builder.Services.AddMetrics(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); ``` ### 日志配置 ```json { "Serilog": { "MinimumLevel": { "Default": "Information", "Override": { "OrpaonVision.SiteApp.Runtime.Services": "Debug" } }, "WriteTo": [ { "Name": "File", "Args": { "path": "logs/orpaonvision-.log", "rollingInterval": "Day", "retainedFileCountLimit": 30 } }, { "Name": "Console" } ] } } ``` ## 🛡️ 安全配置 ### 权限配置 ```csharp // 添加授权策略 builder.Services.AddAuthorization(options => { options.AddPolicy("Operator", policy => policy.RequireRole("Operator", "Supervisor", "Administrator")); options.AddPolicy("Supervisor", policy => policy.RequireRole("Supervisor", "Administrator")); options.AddPolicy("Administrator", policy => policy.RequireRole("Administrator")); }); ``` ### 审计日志 ```json { "Audit": { "Enabled": true, "LogLevel": "Information", "LogToFile": true, "LogToDatabase": true, "RetentionDays": 90 } } ``` ## 🧪 部署验证 ### 1. 基础功能验证 ```powershell # 启动服务 dotnet OrpaonVision.SiteApp.dll # 验证健康检查 curl http://localhost:5000/health # 验证服务状态 curl http://localhost:5000/api/runtime/status ``` ### 2. 规则引擎验证 ```powershell # 测试规则评估 curl -X POST http://localhost:5000/api/rules/evaluate ` -H "Content-Type: application/json" ` -d '{"sessionId":"test-session","inference":{"detections":[{"className":"product","confidence":0.9}]}}' ``` ### 3. 状态机验证 ```powershell # 测试状态转换 curl -X POST http://localhost:5000/api/state/trigger ` -H "Content-Type: application/json" ` -d '{"trigger":"Initialize","reason":"系统初始化"}' ``` ### 4. 人工干预验证 ```powershell # 测试人工干预 curl -X POST http://localhost:5000/api/override/execute ` -H "Content-Type: application/json" ` -d '{"sessionId":"test-session","operatorId":"admin","overrideType":"Release","reason":"测试放行"}' ``` ### 5. 报警系统验证 ```powershell # 测试报警触发 curl -X POST http://localhost:5000/api/alarms/trigger ` -H "Content-Type: application/json" ` -d '{"alarmType":"RuleViolation","alarmLevel":"High","title":"测试报警","sessionId":"test-session"}' ``` ## 📈 性能基准 ### 预期性能指标 | 指标 | 目标值 | 说明 | |------|--------|------| | 规则评估延迟 | < 100ms | 单次规则评估 | | 状态转换延迟 | < 50ms | 状态机转换 | | 人工干预延迟 | < 200ms | 包含权限检查 | | 报警触发延迟 | < 150ms | 报警生命周期 | | 内存使用 | < 512MB | 稳定运行状态 | | CPU使用率 | < 30% | 正常负载下 | ### 压力测试 ```powershell # 并发规则评估测试 for ($i=1; $i -le 100; $i++) { Start-Job -ScriptBlock { curl -X POST http://localhost:5000/api/rules/evaluate ` -H "Content-Type: application/json" ` -d '{"sessionId":"test-session-' + $i + '","inference":{"detections":[{"className":"product","confidence":0.9}]}}' } } # 等待所有任务完成 Get-Job | Wait-Job | Receive-Job ``` ## 🔧 故障排除 ### 常见问题 #### 1. 服务启动失败 **症状**: 服务无法启动,报依赖注入错误 **解决**: 检查所有服务是否正确注册,验证配置文件格式 #### 2. 状态转换失败 **症状**: 状态转换返回错误 **解决**: 检查守卫条件,验证当前状态是否允许转换 #### 3. 权限检查失败 **症状**: 人工干预权限不足 **解决**: 检查用户角色配置,验证权限策略设置 #### 4. 报警不触发 **症状**: 规则失败但不触发报警 **解决**: 检查报警服务配置,验证规则与报警的关联 ### 日志分析 ```powershell # 查看错误日志 Get-Content "logs/orpaonvision-*.log" | Select-String "ERROR" # 查看性能日志 Get-Content "logs/orpaonvision-*.log" | Select-String "Performance" # 查看审计日志 Get-Content "logs/orpaonvision-*.log" | Select-String "Audit" ``` ## 📋 维护指南 ### 日常维护 1. **日志清理**: 定期清理过期日志文件 2. **性能监控**: 监控关键性能指标 3. **备份策略**: 定期备份配置和数据 4. **安全更新**: 及时更新依赖包和系统补丁 ### 升级流程 1. **备份数据**: 备份当前配置和数据 2. **停止服务**: 优雅停止所有服务 3. **更新代码**: 部署新版本代码 4. **验证功能**: 执行功能验证测试 5. **监控观察**: 观察系统运行状态 ## 🚨 应急响应 ### 服务不可用 1. **检查服务状态**: 验证服务是否正常运行 2. **查看日志**: 分析错误日志定位问题 3. **重启服务**: 必要时重启相关服务 4. **回滚版本**: 严重问题时回滚到稳定版本 ### 性能问题 1. **监控指标**: 检查CPU、内存、网络使用情况 2. **分析日志**: 查找性能瓶颈相关日志 3. **优化配置**: 调整配置参数 4. **扩容资源**: 必要时增加系统资源 ## 📞 支持联系 ### 技术支持 - **开发团队**: Agent-2开发组 - **文档参考**: A2-DELIVERABLES.md, A2-VERIFICATION.md - **问题反馈**: 通过项目管理系统提交 ### 紧急联系 - **24小时值班**: [值班电话] - **紧急响应**: [紧急联系人] - **故障升级**: [升级流程] --- **文档版本**: 1.0 **最后更新**: 2026年4月1日 **维护团队**: Agent-2 开发组