feat: AI告警智能分析接入真实后端告警事件 — 替换硬编码mock为动态分析
- AIAlertAnalyzer: 从 GET /alerts 加载真实告警事件(替代4条硬编码mock) - mapAlertEvent: 映射AlertEvent→AlertItem(解析表达式提取指标/阈值,计算持续时间) - generateAIAnalysis: 按指标类型(CPU/内存/磁盘/网络/服务)动态生成根因分析/影响评估/修复建议/自动修复脚本 - Dashboard: 服务器/告警增长率标签从硬编码改为数据驱动(基于error/week_count) - DomainManager: 到期时间截取YYYY-MM-DD格式 - PipelineManager: 流水线创建传递stages/code/type字段
This commit is contained in:
1 parent
bae3a2f013
commit
b99e971fc9
4 files changed
+216
-140
No files matched your search
@@ -195,11 +195,25 @@ export function PipelineManager() {
|
||||
|
||||
const handleCreatePipeline = async () => {
|
||||
try {
|
||||
const selectedTemplate = pipelineTemplates.find(t => t.id === newPipeline.template);
|
||||
const stages = selectedTemplate
|
||||
? JSON.stringify(selectedTemplate.stages.map((name, i) => ({
|
||||
id: `stage-${i + 1}`, name, status: 'pending', duration: '-', logs: [],
|
||||
})))
|
||||
: '';
|
||||
const code = newPipeline.name
|
||||
.toLowerCase()
|
||||
.replace(/[^a-z0-9]/g, '-')
|
||||
.replace(/-+/g, '-')
|
||||
.replace(/^-|-$/g, '') || `pipeline-${Date.now()}`;
|
||||
await pipelineApi.createPipeline({
|
||||
name: newPipeline.name,
|
||||
code,
|
||||
description: newPipeline.description,
|
||||
repository: newPipeline.repository,
|
||||
source: newPipeline.repository,
|
||||
branch: newPipeline.branch,
|
||||
type: 'deploy',
|
||||
stages,
|
||||
});
|
||||
setIsCreateDialogOpen(false);
|
||||
setNewPipeline({ name: '', description: '', repository: '', branch: 'main', template: '' });
|
||||
|
||||
Reference in new issue
Block a user