KB Management API User Guide
본 문서는 지식 베이스(KB) 시스템을 외부 스크립트(
giipAgentWin 등)에서 관리하기 위한 API 사용법을 안내합니다.
1. 개요
KB API(
giipKb)를 호출하여 특정 서버(lssn) 또는 데이터베이스(mdb_id)에 대한 장애 대응 노하우, 설정 정보 등을 저장하고 조회할 수 있습니다.
2. 기본 정보
- Endpoint:
https://giipfaw.azurewebsites.net/api/giipKb - Authentication:
헤더를 통해 세션 토큰(AK/SK)을 전달해야 합니다.x-api-key
3. 기능 안내 (Endpoints)
3.1 KB 등록 (POST)
새로운 지식 문서를 등록합니다.
Payload (JSON):
{ "csn": 100, "refType": "LSSN", "lssn": 1234, "title": "서버 커널 튜닝 가이드", "content": "# 가이드\n커널 파라미터 수정 방법...", "tags": "kernel,tuning,linux" }
:refType
(서버),LSSN
(DB),MDB
중 선택GENERAL
3.2 KB 수정 (PUT)
기존 지식 문서를 수정합니다.
Payload (JSON):
{ "kbSn": 42, "title": "수정된 제목", "content": "업데이트된 내용...", "tags": "linux,updated" }
3.3 KB 조회 (GET)
필터 조건에 맞는 KB 목록 또는 상세 정보를 조회합니다.
Query Parameters:
: 특정 문서 조회 시 사용kbSn
: 특정 서버 관련 지식 조회lssn
: 특정 DB 관련 지식 조회mdb_id
: 검색어searchKeyword
3.4 KB 삭제 (DELETE)
지식 문서를 삭제합니다.
Query Parameters:
: 삭제할 문서 번호kbSn
4. SK 기반 API 사용법 (giipAgent 권장)
giipAgent와 같이 상주형 프로그램 또는 자동화 스크립트에서는 세션 만료가 없는 Secret Key(SK)를 사용하는 것이 권장됩니다. SK 기반 호출은 통합 API 엔드포인트(giipApiSk3)를 통해 수행됩니다.
- Endpoint:
https://giipfaw.azurewebsites.net/api/giipApiSk3 - Method:
(form-urlencoded)POST
4.1 주요 파라미터
: 발급받은 Secret Keysk
: 실행할 명령어 (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 = "에이전트에서 자동으로 분석된 내용입니다." 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 기반)
giipAgentWingiipAgentWin 스크립트에서 완료된 작업 로그를 AK로 자동 등록하는 예제입니다 (로그인 세션이 유효한 경우).
$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]
프론트엔드의 서버/DB 상세 페이지에서 이 API로 등록된 내용을 즉시 확인할 수 있습니다.giipv3