KB Management API 用户指南
本文档介绍如何使用 API 通过外部脚本(如
giipAgentWin)管理知识库 (KB) 系统。
1. 概述
通过调用 KB API (
giipKb),您可以存储和查询特定服务器 (lssn) 或数据库 (mdb_id) 的故障应对经验、配置信息等。
2. 基本信息
- 接口地址 (Endpoint):
https://giipfaw.azurewebsites.net/api/giipKb - 身份验证: 必须通过
请求头传递会话令牌 (AK/SK)。x-api-key
3. 功能说明 (Endpoints)
3.1 注册 KB (POST)
注册新的知识文档。
请求载荷 (JSON):
{ "csn": 100, "refType": "LSSN", "lssn": 1234, "title": "服务器内核优化指南", "content": "# 指南\n如何修改内核参数...", "tags": "kernel,tuning,linux" }
: 可选refType
(服务器),LSSN
(数据库),MDB
(通用)GENERAL
3.2 修改 KB (PUT)
修改现有的知识文档。
请求载荷 (JSON):
{ "kbSn": 42, "title": "修改后的标题", "content": "更新后的内容...", "tags": "linux,updated" }
3.3 查询 KB (GET)
查询符合过滤条件的 KB 列表或详细信息。
查询参数:
: 查询特定文档时使用kbSn
: 查询与特定服务器相关的知识lssn
: 查询与特定数据库相关的知识mdb_id
: 搜索关键词searchKeyword
3.4 删除 KB (DELETE)
删除知识文档。
查询参数:
: 要删除的文档编号kbSn
4. 基于 SK 的 API 使用方法 (建议 giipAgent 使用)
对于像
giipAgent 这样的常驻程序或自动化脚本,建议使用没有会话过期的安全密钥 (SK)。基于 SK 的调用通过集成 API 端点 (giipApiSk3) 进行。
- 接口地址 (Endpoint):
https://giipfaw.azurewebsites.net/api/giipApiSk3 - 请求方法:
(form-urlencoded)POST
4.1 主要参数
: 已颁发的安全密钥 (Secret Key)sk
: 要执行的命令 (可选text
,KbCreate
,KbUpdate
,KbDelete
,KbGet
)KbList
: 传递给 API 的详细数据 (JSON 字符串)jsondata
4.2 调用示例 (PowerShell)
$sk = "YOUR_SECRET_KEY" $url = "https://giipfaw.azurewebsites.net/api/giipApiSk3" # 注册 KB 示例 $body = @{ sk = $sk text = "KbCreate jsondata" jsondata = (@{ csn = 100 refType = "LSSN" lssn = 1234 title = "Agent 自动注册知识" content = "这是从 Agent 自动分析的内容。" tags = "agent,auto" } | ConvertTo-Json -Compress) } $response = Invoke-RestMethod -Uri $url -Method Post -Body $body Write-Host "KB Registered. kbSn: $($response.data[0].kbSn)"
5. giipAgentWin
自动化示例 (基于 AK)
giipAgentWin是在
giipAgentWin 脚本中将已完成的任务日志通过 AK 自动注册为 KB 的示例(当登录会话有效时)。
$ak = "YOUR_SESSION_AK" $url = "https://giipfaw.azurewebsites.net/api/giipKb" $body = @{ title = "自动化分析结果 - $(Get-Date -Format 'yyyyMMdd')" content = "# 分析结果`n环境检查已完成。" refType = "LSSN" lssn = 1201 csn = 0 tags = "auto,diag" } | ConvertTo-Json -Compress $headers = @{ "x-api-key" = $ak "Content-Type" = "application/json" } $response = Invoke-RestMethod -Uri $url -Method Post -Headers $headers -Body $body Write-Host "KB Registered. kbSn: $($response.kbSn)"
[!TIP] 您可以在
前端的服务器/数据库详情页面中立即查看通过此 API 注册的内容。giipv3
故障排除
| 症状 | 原因 | 解决 |
|---|---|---|
| 返回 401 Unauthorized | 请求头中没有有效的 AK/SK 令牌,或会话已过期 | 在请求头中放入有效令牌,或切换到无会话过期的基于 SK 的 调用 |
| SK 调用时命令未执行 | 字段不是 格式 | 在 中准确填写命令(////)和 关键词 |
| 注册/修改时数据缺失 | 不是 // 之一,或缺少 | 仅使用允许的三个 值之一,并为 PUT/DELETE 指定有效的 |
解析错误 | 中的换行或引号未转义 | 使用 等序列化为 JSON 字符串后再发送 |