li-wen监控系统详解:实时掌握worker资源状态的完整指南

📅 2026/7/17 13:20:30
li-wen监控系统详解:实时掌握worker资源状态的完整指南
li-wen监控系统详解实时掌握worker资源状态的完整指南【免费下载链接】li-wenTool for dynamic management of worker resources in OBS-Build system项目地址: https://gitcode.com/openeuler/li-wen前往项目官网免费下载https://ar.openeuler.org/ar/li-wen监控系统是openEuler构建系统OBS中用于动态管理worker资源的智能监控工具。作为OBS构建系统的核心组件它能够实时监控worker节点的资源状态、自动扩展和释放资源确保构建任务高效执行。对于开发者和运维人员来说掌握li-wen监控系统是优化构建性能、降低资源成本的关键技能。本文将为您提供一份完整的li-wen监控系统使用指南帮助您实时掌握worker资源状态提升构建效率。 li-wen监控系统架构概览li-wen监控系统采用分层架构设计主要包括监控层、决策层和执行层三个核心部分。系统通过实时采集worker节点的状态数据结合智能算法分析构建需求自动调整资源分配策略。核心架构特点监控层负责收集worker节点的实时状态数据包括CPU、内存、IOPS、网络等资源使用情况决策层分析构建任务需求评估资源扩展或释放的时机和规模执行层通过华为云API接口实现worker资源的动态管理 核心监控功能详解1. 实时资源状态监控li-wen监控系统能够实时监控每个worker节点的运行状态包括硬件资源监控CPU使用率、内存占用、磁盘IO、网络带宽服务状态监控obsworker.service运行状态、实例调度情况构建任务监控实例运行数量、空闲实例统计、任务队列状态通过main/monitor/workerstatus.py中的QueryOBSWorker类系统实现了全面的监控功能。例如get_monitor_value()方法可以查询指定时间段的资源占用情况# 查询CPU使用率 resource_info get_monitor_value(ip172.1.16.11, times5m, resourceCPU)2. 智能资源扩展策略系统根据构建任务需求自动评估资源扩展需求资源扩展算法任务级别分类将构建任务按时长分为L1(5min)、L2(10min)、L3(15min)三个级别动态评估公式new_l2_worker (l2_sc_num - l2_wait_jobs) / l2_def_jobs架构感知分别处理aarch64和x86架构的worker节点3. 自动释放闲置资源当worker节点处于闲置状态时系统会自动评估并释放不必要的资源闲置检测定期检查所有worker节点的instance忙闲状态预留策略保留部分资源给待调度的构建任务安全释放调用华为云DeleteServers接口释放闲置资源️ 监控系统配置与使用配置文件详解li-wen监控系统的配置主要通过wsdm.ini和多个配置文件实现主要配置文件wsdm.ini主配置文件定义监控间隔、项目列表等参数libs/conf/ecs_servers.yaml华为云ECS服务器配置libs/conf/excluded_workers.yaml排除的worker节点列表libs/conf/global_config.py全局环境变量配置关键配置项[Monitor] interval_for_check_schedule 300 # 调度检查间隔(秒) interval_for_cycle_check_new_worker 60 # 新worker检查间隔 num_for_check_reserved_worker 3 # 保留worker检查次数 interval_for_check_reserved_worker 60 # 保留worker检查间隔 projects openEuler:Mainline openEuler:21.09 # 监控的项目列表 repo_server backend_002 # 项目所属的backend服务器系统安装与部署安装步骤克隆仓库将li-wen项目克隆到/usr/目录配置服务将wsdm.service文件拷贝到/usr/lib/systemd/system环境配置在Environment中配置IAM_PASSWORD、IAM_USER和IAM_DOMAIN排除配置配置excluded_workers.yaml文件定义不参与动态管理的worker服务管理命令# 启动监控服务 systemctl start wsdm # 停止监控服务 systemctl stop wsdm # 查看服务状态 systemctl status wsdm # 启用开机自启 systemctl enable wsdm 监控数据可视化实时状态查询接口li-wen提供了丰富的API接口用于查询监控数据接口名称功能描述调用示例get_all_worker_ip()查询所有worker IP列表get_all_worker_ip()get_worker_instance()查询worker实例状态get_worker_instance(ip[172.1.116.11])query_idle_instance()统计空闲实例query_idle_instance(ip_list)check_service()检查服务健康状态check_service(ip172.1.16.11, passwd******)构建项目监控系统支持对多个OBS项目进行监控# 查询项目构建状态 from main.monitor.project import QueryProject project QueryProject() # 查询指定工程的schedule状态包数量 status_info project.query_status_num_of_project( openEuler:Mainline, standard_aarch64, succeeded ) 故障排查与维护常见问题解决Worker节点状态异常检查obsworker.service服务状态验证机器规格与配置文件是否一致检查OBS_WORKER_JOBS和OBS_WORKER_INSTANCES配置资源扩展失败检查华为云API连接状态验证IAM认证信息是否正确查看日志文件/var/log/li-wen/监控数据不准确检查网络连接状态验证监控间隔配置重启监控服务日志分析li-wen监控系统将日志存储在/var/log/li-wen/目录workers.csv当前worker节点信息realtime_workers.csv实时创建的worker信息应用日志详细的系统运行日志通过分析日志可以快速定位问题# 查看最近100行日志 tail -n 100 /var/log/li-wen/li-wen.log # 实时监控日志变化 tail -f /var/log/li-wen/li-wen.log 最佳实践与优化建议性能优化配置监控间隔优化高峰期缩短检查间隔至60-120秒低峰期延长检查间隔至300-600秒资源预留策略根据历史负载设置合理的预留比例考虑节假日和版本发布周期调整策略告警配置设置资源使用率阈值告警配置服务状态异常告警建立构建任务积压告警机制扩展性考虑多架构支持同时支持aarch64和x86_64架构按架构分别管理worker资源支持混合架构环境部署云平台集成当前支持华为云ECS设计支持多云平台扩展提供统一的资源管理接口 高级功能与定制开发自定义监控策略开发者可以通过修改main/core/auto_extend.py中的逻辑来自定义资源管理策略# 自定义资源扩展算法 def evaluate_workers_to_apply(schedule_events_list, idle_instances_list): # 实现自定义的资源评估逻辑 pass插件化扩展li-wen监控系统支持插件化扩展监控数据源扩展添加新的监控数据采集模块决策算法扩展实现自定义的资源调度算法执行器扩展支持更多云平台或物理机管理集成第三方系统通过API接口li-wen可以与其他系统集成CI/CD系统与Jenkins、GitLab CI等集成监控平台对接Prometheus、Grafana等告警系统集成邮件、钉钉、企业微信告警 总结与展望li-wen监控系统作为openEuler构建系统的核心组件通过智能化的资源监控和管理显著提升了OBS构建效率。系统的主要优势包括✅实时监控全面监控worker节点的资源状态和服务健康✅智能扩展基于构建需求自动调整资源规模✅成本优化按需分配资源避免资源浪费✅高可用性支持故障自动检测和恢复✅易于集成提供丰富的API接口和配置选项未来发展方向支持更多云服务商引入机器学习算法优化资源预测提供Web管理界面增强多租户支持通过本文的详细指南您应该已经掌握了li-wen监控系统的核心功能和使用方法。无论是日常运维还是性能优化li-wen都能为您提供强大的支持。开始使用li-wen监控系统让您的OBS构建更加高效、稳定相关资源官方文档doc/design.md监控模块源码main/monitor/workerstatus.py项目监控模块main/monitor/project.py配置文件libs/conf/global_config.py【免费下载链接】li-wenTool for dynamic management of worker resources in OBS-Build system项目地址: https://gitcode.com/openeuler/li-wen创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考