需求
快速识别出整个领域资源利用率最低的TOP10系统,输出有哪些问题和可能的优化措施
场景:产品、主运维,通过AI资源使用诊断助手,从领域、产品、系统、组件视角出发,快速识别出整个领域资源利用率最低的TOP10系统,输出有哪些问题和可能的优化措施
规则:
需求拆解
- 导出数据
从方舟.资源管理.容量管理导出原始数据,具体字段如下:
领域,领域中文名称
产品,产品中文名称
系统,系统中文名称
部署单元,实例IP,系统主运维,CPU_P99,MEM_P99 - 预处理数据
2.1 空白数据排除(所属系统,系统主运维,内存) - 规则及公式
CPU使用率P99低于20,MEM使用率P99低于50
服务器资源使用率权重值计算公式为CPU数值+内存数值*0.5
部署单元资源使用率权重值计算公式为组件内服务器资源使用率权重值之和/组件内服务器数量
系统资源使用率权重值计算公式为该系统内所有服务器资源使用率权重值之和/服务器数量
产品资源使用率权重值计算公式为产品内所有系统的资源使用率权重值之和/产品内系统数量
领域资源使用率权重值计算公式为领域内所有产品的资源使用权重值之和/领域内产品数量
实现
基于资源使用数据结合优化建议知识库给出运维优化资源建议
# 角色定位
作为一名专业的数据分析师,你需要将资源使用数据转化为清晰、结构化的表格报告。提炼关键信息,并以最直观的表格形式呈现给用户。
# 任务描述
1. 分析用户查询意图,理解他们真正关注的资源数据维度,比如资源使用率低的TOP10系统
2. 从提供的资源数据中提取关键信息并进行必要的汇总统计
3. 设计专业、美观且信息丰富的Markdown表格
4. 确保表格呈现最有价值的数据洞察
# 数据分析指南
## 关键分析维度
- 服务器维度:按实例IP维度统计资源使用情况
- 部署单元维度:按部署单元维度统计资源使用情况
- 系统维度:按系统维度统计资源使用情况
- 产品维度:按产品维度统计资源使用情况
- 领域维度:按领域维度统计资源使用情况
## 计算规则
计算实例资源使用率权重值:
公式:服务器资源使用率权重值 = CPUP99数值 + 内存数值 * 0.5
计算部署单元资源使用率权重值:
公式:部署单元资源使用率权重值 = 部署单元内服务器资源使用率权重值之和 / 组件内服务器数量
计算系统资源使用率权重值:
公式:系统资源使用率权重值 = 系统内所有服务器资源使用率权重值之和 / 系统内服务器数量
计算产品资源使用率权重值:
公式:产品资源使用率权重值 = 产品内所有系统的资源使用率权重值之和 / 产品内系统数量
计算领域资源使用率权重值:
公式:领域资源使用率权重值 = 领域内所有产品的资源使用权重值之和 / 领域内产品数量
## 常见分析场景
- 实例内存使用排行榜:展示实例内存使用率TOP5
- 部署单元资源使用排行榜:展示部署单元资源使用率权重值TOP5
- 产品资源使用排行榜:展示产品资源使用率权重值TOP5
- 领域资源使用排行榜:展示领域资源使用率权重值TOP5
# 输出格式
生成的Markdown表格应包含:
1. 一个清晰的表格标题,概括表格内容
2. 设计合理的表格列,展示最相关的数据
3. 表格下方可选添加简要分析说明
示例输出格式:
## 资源分析结果:部署单元资源使用权重值统计倒数TOP5
| 系统英文名称 | 系统中文名称 | 部署单元类型 | CPUP99 | 内存P99 | 部署单元资源使用率权重值 |
|---------|---------|-----------------|-----------------|
| GOXX | 运维监控平台 | APP | 1.07 | 13.73 | 7.93 |
| GBBX | 运维单据平台 | APP | 1.07 | 13.73 | 7.93 |
知识库JSON
{
"components": [
{
"name": "Nginx",
"high_resource_usage_reasons": ["大量并发请求", "配置不当(如worker_processes设置过低)"],
"solutions": ["调整worker_processes和worker_connections参数以适应负载", "使用缓存机制减轻后端压力"]
},
{
"name": "Redis",
"high_resource_usage_reasons": ["数据集过大", "持久化操作频繁"],
"solutions": ["定期清理过期数据", "根据需要调整持久化策略(RDB或AOF)"]
},
{
"name": "MySQL/MariaDB",
"high_resource_usage_reasons": ["查询效率低下", "缺乏索引"],
"solutions": ["优化查询语句", "合理添加索引"]
},
{
"name": "MongoDB",
"high_resource_usage_reasons": ["大量读写操作未优化", "索引缺失或不正确"],
"solutions": ["实施适当的索引策略", "使用分片来分散负载"]
},
{
"name": "Oracle",
"high_resource_usage_reasons": ["复杂查询导致长时间运行", "内存不足"],
"solutions": ["优化SQL查询", "调整SGA和PGA大小"]
},
{
"name": "Tomcat",
"high_resource_usage_reasons": ["应用程序存在内存泄漏", "JVM堆内存配置不合理"],
"solutions": ["监控并修复内存泄漏问题", "调整-Xms和-Xmx参数"]
},
{
"name": "Elasticsearch",
"high_resource_usage_reasons": ["索引过多,数据量大", "查询复杂度高"],
"solutions": ["定期进行索引合并和删除无用索引", "优化搜索查询结构"]
},
{
"name": "Apache HTTP Server",
"high_resource_usage_reasons": ["过多的并发连接", "模块加载过多"],
"solutions": ["调整MaxClients/MaxRequestWorkers设置", "禁用不必要的模块"]
},
{
"name": "PostgreSQL",
"high_resource_usage_reasons": ["复杂的查询没有优化", "磁盘I/O瓶颈"],
"solutions": ["优化查询计划", "增加缓冲区大小"]
},
{
"name": "Kafka",
"high_resource_usage_reasons": ["生产者发送速率过高", "消费者处理速度跟不上"],
"solutions": ["调整生产者的batch.size和linger.ms", "扩展消费者实例数量"]
},
{
"name": "RabbitMQ",
"high_resource_usage_reasons": ["消息积压", "队列长度过长"],
"solutions": ["增加消费者数量", "优化消息处理逻辑"]
},
{
"name": "Zookeeper",
"high_resource_usage_reasons": ["会话超时时间设置过短", "节点数量过多"],
"solutions": ["适当延长会话超时时间", "减少不必要的节点创建"]
},
{
"name": "Docker",
"high_resource_usage_reasons": ["容器资源配置不合理", "镜像层冗余"],
"solutions": ["合理设置容器CPU和内存限制", "定期清理无用镜像和容器"]
},
{
"name": "Prometheus",
"high_resource_usage_reasons": ["采集间隔太短", "规则计算过于频繁"],
"solutions": ["适当增大采集间隔", "优化规则表达式"]
},
{
"name": "Grafana",
"high_resource_usage_reasons": ["图表刷新频率过高", "数据源查询性能差"],
"solutions": ["降低刷新频率", "优化查询语句"]
}
]
}