Skip to main content
Glama

mcp-oceanbase

Official
by oceanbase
17.appendix-1.md8.68 kB
# API 文档 --- ## 一、告警 API ### 1.1 场景接入示例 #### 1.1.1 查看实时告警 通过定时调用接口获取实时告警事件列表。 **代码示例** ```bash # 获取第一页数据 curl 'http://OCP-IP:8080/api/v2/alarm/alarms?isSubscribedByMe=false&status=Active&page=1&size=10' \ --user username:password \ --compressed \ --insecure # 获取第二页数据 curl 'http://OCP-IP:8080/api/v2/alarm/alarms?isSubscribedByMe=false&status=Active&page=2&size=10' \ --user username:password \ --compressed \ --insecure ``` **关键参数说明** | 参数 | 说明 | |---------------|----------------------------------------------------------------------| | `alarmType` | 告警规则名。 | | `activeAt` | 告警触发时间(格林尼治时间,需转换为当地时间)。 | | `updatedAt` | 告警更新时间(格林尼治时间,需转换为当地时间)。 | | `target` | 告警对象(如集群租户)。 | | `description` | 告警描述信息。 | | `summary` | 告警概述信息。 | | `level` | 告警等级。 | | `labels` | 扩展标签(如集群、租户、IP等,非标准字段可能不兼容高版本)。 | --- #### 1.1.2 对接客户告警平台 通过定期轮询接口更新告警状态,统计告警信息。 **关键逻辑说明** - **告警状态更新**:若某 `target` 在批次请求中未出现,则标记为已恢复。 - **告警统计**:按告警等级统计当前活跃告警数量。 --- #### 1.1.3 验证告警可用性 主动触发告警并验证链路有效性。 **步骤示例** 1. **触发日志告警**: ```bash echo '[2035-01-02 15:04:05.666666] ERROR [CLOG] test ob error for ocp alarm' >> /home/admin/oceanbase/log/observer.log.wf ``` 2. **验证告警**: ```bash curl 'http://OCP-IP:8080/api/v2/alarm/alarms' \ --user username:password \ --compressed \ --insecure ``` --- ### 1.2 其他 API 示例(附录补充) #### 1.2.1 查询告警事件(附录示例) ```bash curl -X GET "http://ocp-server:8080/api/v2/alarm/events" \ -H "Authorization: OCP-ACCESS-KEY-HMACSHA1 ${AK}:${signature}" \ -H "Date: ${date}" \ -H "x-ocp-origin: from-mcp" ``` **注意**: - 接口路径 `/api/v2/alarm/events` 与场景1中的 `/api/v2/alarm/alarms` 可能为不同端点,需确认具体使用场景。 --- #### 1.2.2 创建告警规则 ```bash curl -X POST "http://ocp-server:8080/api/v2/alarm/rules" \ -H "Authorization: OCP-ACCESS-KEY-HMACSHA1 ${AK}:${signature}" \ -H "Date: ${date}" \ -H "x-ocp-origin: from-mcp" \ -H "Content-Type: application/json" \ -d '{ "name": "规则名称", "type": "告警类型", "target": "告警目标", "level": "告警级别" }' ``` --- ### 1.3 矛盾标注 - **接口路径差异**: 场景1中使用 `GET /api/v2/alarm/alarms`,而附录中使用 `GET /api/v2/alarm/events`。需确认是否为不同版本或功能差异,建议结合文档版本验证。 --- ## 二、任务信息(DAG 相关) ### 2.1 TaskInstance 数据结构 | 参数 | 类型 | 说明 | |-------------------|-----------|----------------------------------------------------------------------| | `id` | Long | 软件包 ID。 | | `name` | String | 软件包名称。 | | `clusterId` | Long | 集群 ID。 | | `tenantId` | Long | 租户 ID。 | | `hostId` | Long | 主机 ID。 | | `type` | String | 任务类型:<br>- `MANUAL`:手动运维任务<br>- `SYS_ONECE`:系统单次任务<br>- `SCHEDULED`:非内置定时任务<br>- `SYS_SCHEDULED`:系统内置定时任务 | | `status` | String | 状态:<br>- `RUNNING`<br>- `FAILED`<br>- `SUCCESSFUL` | | `creator` | String | 创建者用户名。 | | `operation` | String | 操作类型:<br>- `EXECUTE`<br>- `RETRY`<br>- `ROLLBACK`<br>- `SKIP`<br>- `CANCEL` | | `executor` | String | 执行节点地址。 | | `context` | String | JSON 格式上下文信息。 | | `createTime` | String | 任务创建时间。 | | `startTime` | String | 任务开始时间。 | | `finishTime` | String | 任务结束时间。 | | `prohibitRollback`| Boolean | 是否允许回滚。 | | `subtasks` | Object[] | 子任务列表。 | --- ### 2.2 SubtaskInstance 数据结构 | 参数 | 类型 | 说明 | |-------------------|-----------|----------------------------------------------------------------------| | `id` | Long | 子任务 ID。 | | `name` | String | 子任务名称。 | | `seriesId` | Long | 子任务序列 ID。 | | `description` | String | 子任务描述。 | | `className` | String | 对应类名。 | | `timeout` | Integer | 超时时间(秒)。 | | `status` | String | 状态:<br>- `PENDING`<br>- `READY`<br>- `RUNNING`<br>- `CANCELING`<br>- `FAILED`<br>- `SUCCESSFUL` | | `operation` | String | 操作类型:<br>- `EXECUTE`<br>- `RETRY`<br>- `ROLLBACK`<br>- `SKIP`<br>- `CANCEL` | | `executor` | String | 执行节点信息。 | | `runTime` | Integer | 执行次数。 | | `context` | String | 上下文信息。 | | `createTime` | String | 创建时间。 | | `startTime` | String | 开始时间。 | | `finishTime` | String | 结束时间。 | | `nodeType` | String | 节点类型(如 `JAVA_TASK`)。 | | `paralleIdx` | Integer | 并行索引(-1 表示非并行任务)。 | | `upstreams` | Long[] | 上游子任务 ID 列表。 | | `downstream` | Long[] | 下游子任务 ID 列表。 | | `prohibitRollback`| Boolean | 是否支持回滚。 | --- ### 2.3 DAG 结构示例 ```json { "nodes": [{ "id": "节点ID", "type": "节点类型", "name": "节点名称", "status": "节点状态" }], "edges": [{ "source": "源节点ID", "target": "目标节点ID" }] } ``` --- ## 三、注意事项 1. **时区转换**:`activeAt` 和 `updatedAt` 需转换为当地时间。 2. **字段兼容性**:`labels` 中带下划线的字段(如 `tenant_name_1`)可能不兼容高版本。 3. **认证方式**:部分接口需使用 `Authorization` 头或 `--user` 参数,需根据场景选择。

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oceanbase/mcp-oceanbase'

If you have feedback or need assistance with the MCP directory API, please join our Discord server