API文档
AIOPS平台提供完整的RESTful API,允许第三方系统集成和自定义开发。本API文档详细介绍了所有可用的API接口、参数、返回值和使用示例,帮助开发者快速集成AIOPS平台功能。
1. API概述
1.1 API版本
当前API版本:v1
API基础路径:/api/v1
1.2 认证方式
AIOPS平台API使用API Key和JWT Token两种认证方式:
1.2.1 API Key认证
适用于服务器间的集成调用:
- 在AIOPS平台中,进入"用户中心" > "API密钥管理"
- 创建新的API密钥,设置有效期和权限范围
- 保存生成的API密钥
- 在API请求中,通过请求头
X-API-Key传递API密钥
curl -H "X-API-Key: your-api-key" https://aiops.example.com/api/v1/metrics
1.2.2 JWT Token认证
适用于用户界面或需要更细粒度权限控制的场景:
- 首先通过登录接口获取JWT Token
- 在后续API请求中,通过请求头
Authorization传递JWT Token
# 1. 获取JWT Token
curl -X POST \
https://aiops.example.com/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"username": "admin", "password": "password123"}'
# 返回包含token的响应
# {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "expires_at": "2023-06-01T12:00:00Z"}
# 2. 使用JWT Token访问API
curl -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." https://aiops.example.com/api/v1/metrics
1.3 请求格式
所有API请求使用JSON格式传递数据,请求头中需指定Content-Type: application/json。
1.4 响应格式
API响应统一使用JSON格式,包含以下字段:
{
"success": true,
"code": 200,
"message": "操作成功",
"data": {}
}
success:布尔值,表示请求是否成功code:响应状态码message:响应消息,成功或错误描述data:实际的响应数据,根据API不同而变化
1.5 通用参数
1.5.1 分页参数
对于返回列表的API,支持以下分页参数:
| 参数名 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| page | integer | 页码,从1开始 | 1 |
| page_size | integer | 每页大小 | 20 |
| sort | string | 排序字段 | 默认排序 |
| order | string | 排序方向,升序(asc)或降序(desc) | desc |
1.5.2 时间范围参数
对于查询历史数据的API,支持以下时间范围参数:
| 参数名 | 类型 | 说明 | 示例 |
|---|---|---|---|
| start_time | string | 开始时间,ISO 8601格式 | 2023-05-01T00:00:00Z |
| end_time | string | 结束时间,ISO 8601格式 | 2023-05-02T00:00:00Z |
| time_range | string | 相对时间范围,优先级低于start_time和end_time | 1h, 1d, 7d |
1.6 错误码
| 错误码 | 描述 | HTTP状态码 |
|---|---|---|
| 200 | 操作成功 | 200 |
| 400 | 请求参数错误 | 400 |
| 401 | 未授权访问 | 401 |
| 403 | 权限不足 | 403 |
| 404 | 资源不存在 | 404 |
| 409 | 资源冲突 | 409 |
| 500 | 服务器内部错误 | 500 |
| 503 | 服务不可用 | 503 |
| 1001 | API密钥无效 | 401 |
| 1002 | JWT Token过期 | 401 |
| 1003 | JWT Token无效 | 401 |
| 1004 | 账号已锁定 | 403 |
| 2001 | 资源创建失败 | 400 |
| 2002 | 资源更新失败 | 400 |
| 2003 | 资源删除失败 | 400 |
| 3001 | 数据查询失败 | 500 |
| 3002 | 数据写入失败 | 500 |
| 3003 | 数据处理超时 | 504 |
| 4001 | 任务创建失败 | 400 |
| 4002 | 任务执行失败 | 500 |
| 4003 | 任务取消失败 | 400 |
| 5001 | 告警规则创建失败 | 400 |
| 5002 | 告警规则触发失败 | 500 |
| 5003 | 告警发送失败 | 500 |
2. API分类
AIOPS平台API分为以下几个主要类别:
2.1 认证管理API
管理用户认证、权限和API密钥。
2.2 监控指标API
查询和管理系统监控指标数据。
2.3 日志管理API
查询和管理日志数据。
2.4 告警管理API
创建、查询和管理告警规则和告警事件。
2.5 系统管理API
管理系统配置、用户、角色和权限。
2.6 报告管理API
创建、查询和导出各类报告。
2.7 自动化运维API
管理自动化任务、脚本和工作流。
2.8 AI分析API
访问AI异常检测、根因分析和预测功能。
2.9 集成API
与第三方系统集成的接口。
3. 快速开始
3.1 环境准备
- 获取API访问凭证(API Key或JWT Token)
- 确保您的网络可以访问AIOPS平台API服务器
- 选择合适的HTTP客户端工具(如curl、Postman、Insomnia等)
3.2 简单示例
3.2.1 获取系统状态
curl -H "X-API-Key: your-api-key" \
https://aiops.example.com/api/v1/system/status
响应示例:
{
"success": true,
"code": 200,
"message": "操作成功",
"data": {
"version": "1.0.0",
"status": "running",
"uptime": "86400",
"components": {
"api": "healthy",
"database": "healthy",
"message_queue": "healthy",
"cache": "healthy"
}
}
}
3.2.2 查询监控指标
curl -H "X-API-Key: your-api-key" \
"https://aiops.example.com/api/v1/metrics?metric_name=cpu_usage&host=server1&time_range=1h"
响应示例:
{
"success": true,
"code": 200,
"message": "操作成功",
"data": {
"metric_name": "cpu_usage",
"host": "server1",
"data_points": [
{"timestamp": "2023-05-01T00:00:00Z", "value": 45.6},
{"timestamp": "2023-05-01T00:01:00Z", "value": 47.2},
{"timestamp": "2023-05-01T00:02:00Z", "value": 46.8},
...
],
"unit": "%"
}
}
4. 最佳实践
4.1 速率限制
AIOPS平台对API调用频率进行限制,避免滥用。默认限制如下:
- 普通用户:60次/分钟
- 管理员用户:300次/分钟
- API Key认证:1000次/分钟(可配置)
超过限制的请求将返回429状态码(Too Many Requests)。
4.2 错误处理
- 总是检查API响应中的
success字段和code字段 - 对于401错误,请检查认证信息是否正确
- 对于429错误,请减少调用频率或实现指数退避重试机制
- 对于500系列错误,记录详细日志并联系系统管理员
4.3 性能优化
- 批量操作:对于大量数据操作,尽量使用批量API
- 合理设置时间范围:避免查询过长时间范围的数据
- 使用缓存:对频繁查询的结果进行本地缓存
- 分页处理:对大量返回数据使用分页查询
4.4 安全建议
- 保护API密钥和JWT Token,不要在代码中硬编码
- 使用HTTPS进行API通信
- 定期轮换API密钥
- 最小权限原则:为API密钥分配最小必要的权限
- 监控API调用:定期检查API调用日志,发现异常及时处理
5. 版本兼容性
5.1 API版本控制
AIOPS平台通过URL路径中的版本号进行API版本控制,确保向后兼容。
例如:/api/v1/metrics、/api/v2/metrics
5.2 废弃和更新策略
- 当API接口计划废弃时,会在响应头中添加
X-API-Deprecation-Notice - 废弃的API会至少保留6个月,之后可能会被移除
- 重大更新会提前通过文档和通知渠道告知用户
6. 联系支持
如有API使用问题,请通过以下方式联系技术支持:
- 工单系统:在AIOPS平台中提交工单
- 邮件支持:support@aiops.example.com
- 电话支持:400-123-4567
请在报告问题时提供以下信息:
- API接口路径
- 请求参数
- 完整的错误响应
- 问题复现步骤
- 浏览器或客户端环境信息
