giip

系統管理 API 參考

引導您如何透過系統級自動化 API 向伺服器發送指令或控制代理狀態。

📋 概述

此 API 模組提供了一系列端點,用於透過 GIIP 代理直接向各伺服器下達指令,或管理伺服器的元數據(如標籤等)。

🔐 認證與請求頭

所有請求必須包含通用的認證請求頭。

  • Header:
    x-giip-ak: [Your Access Key]
  • Header:
    x-giip-sk: [Your Secret Key]

🚀 核心 API 端點

1. 遠端執行命令 (Run Remote Command)

  • URL:
    POST /api/system/command/run
  • 描述: 在指定的伺服器上執行特定的 Shell 腳本或指令。
  • 請求體 (Request Body):
{
  "serverIsn": 456,
  "command": "ls -al /var/log",
  "timeout": 30
}

2. 代理控制 (Agent Control)

  • URL:
    POST /api/system/agent/control
  • 描述: 遠端重啟安裝在伺服器上的 GIIP 代理或同步配置。
  • 請求體 (Request Body):
{
  "serverIsn": 456,
  "action": "restart"
}

3. 管理伺服器標籤 (Manage Server Tags)

  • URL:
    POST /api/system/server/tags
  • 描述: 更新用於分類伺服器的標籤列表。
  • 請求體 (Request Body):
{
  "serverIsn": 456,
  "tags": ["Production", "Web", "Region-KR"]
}

🔍 響應數據示例 (Command Run)

{
  "RstVal": 0,
  "RstMsg": "Success",
  "Data": {
    "jobId": "JOB-10293",
    "output": "total 1024\ndrwxr-xr-x 2 root root ...",
    "exitCode": 0
  }
}

💡 使用場景

  • 自動補丁管理: 針對發現漏洞的軟體包,向所有伺服器下達批量更新指令。
  • 動態資源分配: 透過標籤管理 API 自動指定新創建 VM 的用途並應用相應策略。

🛡️ 巧用 Sk3 (高性能日誌)

在進行遠端命令執行 (

Run Remote Command
) 或代理控制等敏感的系統管理操作時,為了確保操作的完整性並保留詳細的執行歷史,建議使用
giipApiSk3
端點。

  • 端點:
    https://giipfaw.azurewebsites.net/api/giipApiSk3
  • 優勢: 若命令執行失敗,系統會立即記錄調用者的詳細環境資訊 (IP, UA) 和堆疊追蹤 (StackTrace),助力快速、清晰地識別非法請求或網絡故障狀況。
  • 使用技巧: 靈活運用
    jsondata
    替換功能,確保在管理複雜的 Shell 命令字串或包含特殊字符的標籤資訊時數據不丟失且安全。

🔧 疑難排解

症狀原因解決
請求因認證錯誤被拒絕缺少
x-giip-ak
/
x-giip-sk
請求頭或金鑰錯誤
在兩個請求頭中均包含有效的 Access Key 與 Secret Key 後重試
遠端命令未執行
serverIsn
錯誤,或目標伺服器的代理離線
確認伺服器標識符,並透過代理控制 API(
action: restart
)重啟代理
回應中的
RstVal
不為 0
命令執行失敗或超過
timeout
檢查
RstMsg
Data.exitCode
,必要時調高
timeout
發送含特殊字符的標籤時數據丟失未使用
jsondata
替換功能
透過
giipApiSk3
端點的
jsondata
欄位發送以防止數據丟失

版本: 1.1 最後更新: 2026-04-11 源碼:

giipv3/public/help/api-system.zh-TW.md


相關文檔: