giip

KB Management API 用户指南

本文档介绍如何使用 API 通过外部脚本(如

giipAgentWin
)管理知识库 (KB) 系统。

🔌 前往知识库管理 →

1. 概述

通过调用 KB API (

giipKb
),您可以存储和查询特定服务器 (
lssn
) 或数据库 (
mdb_id
) 的故障应对经验、配置信息等。

2. 基本信息

  • 接口地址 (Endpoint):
    https://giipfaw.azurewebsites.net/api/giipKb
  • 身份验证: 必须通过
    x-api-key
    请求头传递会话令牌 (AK/SK)。

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
  • 请求方法:
    POST
    (form-urlencoded)

4.1 主要参数

  • sk
    : 已颁发的安全密钥 (Secret Key)
  • text
    : 要执行的命令 (可选
    KbCreate
    ,
    KbUpdate
    ,
    KbDelete
    ,
    KbGet
    ,
    KbList
    )
  • jsondata
    : 传递给 API 的详细数据 (JSON 字符串)

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
脚本中将已完成的任务日志通过 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] 您可以在

giipv3
前端的服务器/数据库详情页面中立即查看通过此 API 注册的内容。


故障排除

症状原因解决
返回 401 Unauthorized
x-api-key
请求头中没有有效的 AK/SK 令牌,或会话已过期
在请求头中放入有效令牌,或切换到无会话过期的基于 SK 的
giipApiSk3
调用
SK 调用时命令未执行
text
字段不是
KbCreate jsondata
格式
text
中准确填写命令(
KbCreate
/
KbUpdate
/
KbDelete
/
KbGet
/
KbList
)和
jsondata
关键词
注册/修改时数据缺失
refType
不是
LSSN
/
MDB
/
GENERAL
之一,或缺少
kbSn
仅使用允许的三个
refType
值之一,并为 PUT/DELETE 指定有效的
kbSn
jsondata
解析错误
content
中的换行或引号未转义
使用
ConvertTo-Json -Compress
等序列化为 JSON 字符串后再发送