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 字串後再發送