Skip to main content
Version: 2.8.1

API History

API History

用途說明#

可以動態配置 API紀錄頁面中的 Log 來源要從 Database 或 ElasticSearch 中取得。

欄位配置說明#

啟用時可以看到以下畫面:

插件啟用配置圖

對應的配置說明如下:

參數類型預設值說明必填
source_bystringdatabase要從哪個來源管道拿取 API 紀錄。
可以選擇的管道有以下其一:database、elastic-search。
V
es_hoststringelastic-search 的主機位置。
若 source_by 選擇 elastic-search,則務必填寫此欄位。
es_portnumber9200elastic-search 的連接 port 數。
若 source_by 選擇 elastic-search,則務必填寫此欄位。
es_protocolstringhttpelastic-search 的 protocol。
若 source_by 選擇 elastic-search,則務必填寫此欄位。
es_indexstringapi_gateway_logelastic-search 的 index,可以支援 wild-card 的方式來搜尋到對應的 index,例如:api_gateway_log-* 就可以搜尋到 api_gateway_log-2021.01.01api_gateway_log-2022.05.01 這兩個 index。
若 source_by 選擇 elastic-search,則務必填寫此欄位。

source_by 選擇 database#

選擇 database,則代表 API Log 會寫入 database,否則無法從 database 中取得任何 API Log。

因此需要確定是否也有同步啟用日誌分類的「database-log」插件(請務必確認是有顏色的 "啟用" 狀態,而非灰色的 "禁用" 狀態),啟動後, API Log 才會正確的寫入 database。詳細可參考 database-log 插件的說明頁面

caution

將 API Log 存入 database 是不建議的做法,因 database 本身效能及資料儲存量可能過大,影響本身系統效能,因此只建議在 小量測試、小量驗證 的應用情境下使用。

大量的 API Log 請另外串接 ELK (elastic-search, logstash, kibana),ELK 相較於 Database,本身索引及搜尋特性更適合用來儲存大量 API Log 的資料。

source_by 選擇 elastic-search#

選擇 elastic-search,則代表 API Log 會寫入 elastic-search,否則無法從 elastic-search 中取得任何 API Log。

除了目前的「api-history」插件需要啟用及設定之外,同步也要啟用日誌分類的「tcp-body-log」插件, API Log 才會正確的透過 logstash 拋送寫入 elastic-search。詳細可參考 tcp-body-log 插件的說明頁面

用法示例#

在全局啟用插件#

  1. 從網站左邊 Menu 中 外掛插件 頁面中,點選右上角的 新增外掛插件

全局啟用畫面

  1. 點選後,選擇 分析及監控 頁籤,並啟用 API History,填寫內容參考欄位配置說明,設定成功後,API 紀錄頁面就會依照配置至對應的來源端,從 database or elastic-search 中取得 API Log。

驗證#

啟用插件後,確認配置設定無誤後,透過 GOC API Gateway 去呼叫服務,再切換到「API 紀錄」頁面,選擇欲查詢的 API 紀錄起訖日、輸入要篩選之關鍵字後點擊查詢,即可看到如下圖的 API 紀錄:

API History 驗證畫面1