Files
ai-ops/static/openapi.json
2026-05-12 17:48:22 +08:00

223 lines
7.2 KiB
JSON

{
"openapi": "3.0.3",
"info": {
"title": "AI-Ops API",
"version": "1.0.0",
"description": "AI-Ops 智能运维平台 API"
},
"servers": [
{"url": "http://localhost:8080", "description": "Local development"}
],
"paths": {
"/api/v1/ai-ops/login": {
"post": {
"summary": "用户登录",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"username": {"type": "string"},
"password": {"type": "string"}
}
}
}
}
},
"responses": {
"200": {"description": "Login success"},
"400": {"description": "Bad request"}
}
}
},
"/api/v1/ai-ops/metrics/realtime": {
"get": {
"summary": "实时指标",
"security": [{"bearerAuth": []}],
"responses": {"200": {"description": "OK"}}
}
},
"/api/v1/ai-ops/metrics/query": {
"get": {
"summary": "指标下钻查询",
"security": [{"bearerAuth": []}],
"parameters": [
{"name": "service", "in": "query", "schema": {"type": "string"}},
{"name": "path", "in": "query", "schema": {"type": "string"}},
{"name": "supplier", "in": "query", "schema": {"type": "string"}}
],
"responses": {"200": {"description": "OK"}}
}
},
"/api/v1/ai-ops/metrics/suppliers/count": {
"get": {
"summary": "活跃供应商数量",
"security": [{"bearerAuth": []}],
"responses": {"200": {"description": "OK"}}
}
},
"/api/v1/ai-ops/alerts/open/count": {
"get": {
"summary": "未关闭告警数量",
"security": [{"bearerAuth": []}],
"responses": {"200": {"description": "OK"}}
}
},
"/api/v1/ai-ops/logs": {
"get": {
"summary": "日志查询",
"security": [{"bearerAuth": []}],
"parameters": [
{"name": "service", "in": "query", "schema": {"type": "string"}},
{"name": "path", "in": "query", "schema": {"type": "string"}},
{"name": "status_code", "in": "query", "schema": {"type": "integer"}},
{"name": "start_time", "in": "query", "schema": {"type": "string"}},
{"name": "end_time", "in": "query", "schema": {"type": "string"}},
{"name": "page", "in": "query", "schema": {"type": "integer", "default": 1}},
{"name": "page_size", "in": "query", "schema": {"type": "integer", "default": 100}}
],
"responses": {"200": {"description": "OK"}}
}
},
"/api/v1/ai-ops/logs/export": {
"get": {
"summary": "日志导出 CSV",
"security": [{"bearerAuth": []}],
"responses": {"200": {"description": "CSV file"}}
}
},
"/api/v1/ai-ops/rules": {
"get": {
"summary": "告警规则列表",
"security": [{"bearerAuth": []}],
"responses": {"200": {"description": "OK"}}
},
"post": {
"summary": "创建规则",
"security": [{"bearerAuth": []}],
"responses": {"201": {"description": "Created"}}
}
},
"/api/v1/ai-ops/rules/{id}": {
"get": {
"summary": "获取规则详情",
"security": [{"bearerAuth": []}],
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
"responses": {"200": {"description": "OK"}}
},
"put": {
"summary": "更新规则",
"security": [{"bearerAuth": []}],
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
"responses": {"200": {"description": "OK"}}
},
"delete": {
"summary": "删除规则",
"security": [{"bearerAuth": []}],
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
"responses": {"204": {"description": "No Content"}}
}
},
"/api/v1/ai-ops/alerts": {
"get": {
"summary": "告警事件列表",
"security": [{"bearerAuth": []}],
"parameters": [
{"name": "status", "in": "query", "schema": {"type": "string"}},
{"name": "page", "in": "query", "schema": {"type": "integer"}},
{"name": "page_size", "in": "query", "schema": {"type": "integer"}}
],
"responses": {"200": {"description": "OK"}}
}
},
"/api/v1/ai-ops/channels": {
"get": {
"summary": "通知渠道列表",
"security": [{"bearerAuth": []}],
"responses": {"200": {"description": "OK"}}
},
"post": {
"summary": "创建渠道",
"security": [{"bearerAuth": []}],
"responses": {"201": {"description": "Created"}}
}
},
"/api/v1/ai-ops/channels/{id}": {
"get": {
"summary": "获取渠道详情",
"security": [{"bearerAuth": []}],
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
"responses": {"200": {"description": "OK"}}
},
"put": {
"summary": "更新渠道",
"security": [{"bearerAuth": []}],
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
"responses": {"200": {"description": "OK"}}
},
"delete": {
"summary": "删除渠道",
"security": [{"bearerAuth": []}],
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
"responses": {"204": {"description": "No Content"}}
}
},
"/api/v1/ai-ops/audits": {
"get": {
"summary": "审计日志列表",
"security": [{"bearerAuth": []}],
"parameters": [
{"name": "object_type", "in": "query", "schema": {"type": "string"}},
{"name": "object_id", "in": "query", "schema": {"type": "string"}},
{"name": "page", "in": "query", "schema": {"type": "integer"}},
{"name": "page_size", "in": "query", "schema": {"type": "integer"}}
],
"responses": {"200": {"description": "OK"}}
}
},
"/api/v1/ai-ops/audits/{id}/rollback": {
"post": {
"summary": "配置回滚",
"security": [{"bearerAuth": []}],
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
"responses": {"200": {"description": "OK"}}
}
},
"/health": {
"get": {
"summary": "健康检查",
"responses": {"200": {"description": "OK"}}
}
},
"/actuator/health": {
"get": {
"summary": "健康检查",
"responses": {"200": {"description": "OK"}}
}
},
"/actuator/health/live": {
"get": {
"summary": "Liveness probe",
"responses": {"200": {"description": "UP"}}
}
},
"/actuator/health/ready": {
"get": {
"summary": "Readiness probe",
"responses": {"200": {"description": "UP"}, "503": {"description": "DOWN"}}
}
}
},
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
}
}
}