Version: 2.3.3
TCP Body Log
#
用途說明傳送請求及回應日誌至TCP server。
與TCP Log
相似,差異在於可以自定義是否紀錄回應body內容,以及可彈性自定義不需紀錄到日誌內的標頭。
日誌格式請參考下方:日誌格式。
#
欄位配置說明啟用時可以看到以下畫面:
對應的配置說明如下:
參數 | 類型 | 預設值 | 說明 | 必填 |
---|---|---|---|---|
host | string | 日誌欲發送的IP位址或主機名。 ex: 10.18.66.1 | V | |
port | integer | 日誌欲發送的主機服務器之端口。 ex: 30544 | V | |
timeout | number | 10000 | 發送日誌到服務器的超時時間(以毫秒為單位)。 | |
keepalive | number | 60000 | 定義空閒連接關閉前的存活時間(以毫秒為單位)。 | |
hide_body | boolean | false | true :隱藏回應的body內容,不會將body內容記錄到日誌內。false :會將body內容記錄到日誌內。 | |
clear_header | boolean | true | true :開啟過濾header的功能。false :關閉過濾header的功能。 | |
clear_request_header_list | array of string | 定義不紀錄到日誌中的請求標頭,ex: Content-Type ...等。沒設定代表所有請求標頭都會記錄於日誌中。 注意:當 clear_header 設定為true ,才會觸發此設定。 | ||
clear_response_header_list | array of string | 定義不紀錄到日誌中的回應標頭,ex: Content-Type ...等。沒設定代表所有請求標頭都會記錄於日誌中。 注意:當 clear_header 設定為true ,才會觸發此設定。 |
#
用法示例#
日誌格式日誌使用JSON的格式來組成,如下:
request
包含有關客戶端發送的請求。response
包含發送給客戶端的回應(含body內容)。tries
包含負載均衡器對此請求進行的(成功和失敗)列表。route
包含請求所對應之特定的API Manager 路由設定資料。service
包含請求所對應之API Manager 路由關聯的服務設定資料。authenticated_entity
如果已啟動身份認證插件,則會包含認證憑據。consumer
如果已啟動身份認證插件,則會包含認證的用戶設定資料。latencies
包含有關延遲的一些數據:proxy
是最終服務處理請求所花費的時間。kong
是運行所有插件所需的內部延遲。request
是從客戶端讀取第一個字節到將最後一個字節發送到客戶端之間經過的時間。對於檢測速度較慢的客戶端很有用。
client_ip
包含原始客戶端IP地址。started_at
包含開始處理請求的時間的UTC時區時戳。
#
在全局啟用插件- 從網站左邊Menu中
外掛插件
頁面中,點選右上角的新增外掛插件
:
- 點選後,選擇
日誌
頁籤,並啟用TCP Body Log,填寫內容參考欄位配置說明,設定成功後,任何請求(不分服務、路由、用戶)的日誌都會發送到所配置的遠端主機上。
#
在服務端上啟用插件- 從網站左邊Menu中
服務 > 服務列表
頁面中,選擇要啟用此插件的服務,假設為google
,點選對應的編輯按鈕:
- 在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選後,選擇 日誌
頁籤,並啟用TCP Body Log,填寫內容參考欄位配置說明,設定成功後,僅有此服務(範例為google
)請求的日誌會發送到所配置的遠端主機上。
#
在路由端上啟用插件可以由兩種方式來選擇路由,並啟用插件:
#
方式一:路由列表- 從網站左邊Menu中
服務 > 路由列表
頁面中,選擇要啟用此插件的路由,假設為google
,點選對應的編輯按鈕:
#
方式二:服務 > 服務列表 > 路由列表- 從網站左邊Menu中
服務 > 服務列表
頁面中,選擇要啟用此插件的路由 所屬之服務(假設為google
),點選對應的編輯按鈕。
在編輯畫面中,點選上方的 路由
頁籤,選擇要啟用此插件的路由(假設為google
),點選對應的編輯按鈕:
- 承第1步,點擊上述兩種方式之一的編輯按鈕後,在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選新增外掛插件
按鈕後,選擇 日誌
頁籤,並啟用TCP Body Log,填寫內容參考欄位配置說明,設定成功後,僅有此路由(範例為google
)請求的日誌會發送到所配置的遠端主機上。
#
在用戶端上啟用插件- 從網站左邊Menu中
訂閱用戶 > 用戶列表
頁面中,選擇要啟用此插件的用戶,假設為portaladmin
,點選對應的編輯按鈕:
- 在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選後,選擇 日誌
頁籤,並啟用TCP Body Log,填寫內容參考欄位配置說明,設定成功後,僅有此用戶(範例為portaladmin
)請求的日誌會發送到所配置的遠端主機上。
#
驗證假設有個Logstash Server,host為10.18.66.1,port為30544,啟用此插件時,填入對應的host及port。
透過API Manager去呼叫服務,可以觀察到Logstash Server所接收到的資訊類似如下,即為設定驗證成功。