digiRunner digiLogs digiC digiCollector

digiC 簡易介紹

杜嘉祐 2025/04/10 18:06:04
34

1. digiC 簡介

什麼是 digiC

digiC 的全名是digiCollector是由 TPIsoftware 產品處團隊開發的一款獨立工具,專門用於蒐集網路傳輸資料的 Collector 工具。它可攔截 HTTP/HTTPS 協議的請求,進行監控與數據蒐集,且具備非侵入式設計,無需對客戶端程式進行修改。

digiC 的主要功能

  • API 監控與盤點:記錄所有 API 請求資訊,包括請求次數、回應時間、請求明細等。
  • 鏈路追蹤:可將多個應用系統的請求數據串接起來,進行完整的請求追蹤與分析。
  • 非侵入式監控:不需要改動現有的應用系統即可蒐集數據。

2. 系統需求與架構

系統需求

  • 作業系統:Linux / Windows
  • 依賴環境:需支援 HTTP/HTTPS 監聽
  • 網路要求:需能夠與目標應用程式通訊

原始架構

在未加入 digiC 之前,Client 端(Web/APP)直接與後端 API 伺服器溝通,請求 API 並獲取回應,請求流向如下圖所示:

 

 

加入 digiC架構

確定安裝 digiC 前端的程式不需要修改,但是後端APIport需要調整(如下圖digiC取代原API 443port,原API採用新的port 18443),當加入 digiC 之後,所有請求將會先經過 digiC 進行攔截與監控會寫入dgl-packetdgc-monitoring兩個index到設定的elastic search中,同步轉發至後端 API 伺服器,確保能夠記錄所有 API 訪問行為,新的請求流向如下圖所示:

 

適用於高資料流量的架構

在某些高併發、高流量的環境下,digiC 直接將數據寫入 Elasticsearch (ES) 可能會導致寫入瓶頸,進而影響日誌的即時性與系統效能。為了解決這個問題,可以透過 Redis 作為中介緩衝層,讓 digiC 先將收集到的日誌數據寫入 Redis,然後再由 Logstash 定期從 Redis 讀取數據並寫入 Elasticsearch。這種方式能有效減少 ES 直接寫入的負載,提高整體系統的穩定性與效率。

 

3. 使用情境

API 監控與盤點

digiC 可部署在應用系統前端,所有請求將透過 digiC 進行轉發與監控。

  • 可記錄 API 的使用情況,如:
    • API 請求次數
    • 回應時間
    • 請求明細(HeaderBodyURL
  • 可偵測 API 是否有異常存取,如過高的請求頻率或可疑來源 IP
  • 可配合 API Gateway進行影子API盤點,如沒被註冊的API確一直暗地被呼叫,可以找出影子API來進行API的有效管理。

鏈路追蹤

  • 部署方式:將 digiC 部署於多個應用系統前方,形成統一數據串接。
  • 用途
    • 追蹤 API 調用鏈路,分析請求流向。
    • 偵測系統內部請求異常,輔助故障排查。

 

常見問題與解決方案

  • Q1digiC 影響系統效能嗎?
    • AdigiC 採用輕量級設計,不會影響應用系統效能。
  • Q2digiC 怎麼保證服務穩定性?
    • AdigiC 有內建livenssapi,可以透過container 或是OS對應的排程來偵測服務是否持續提供,當服務無法回應時再執行服務的重啟。
  • Q3digiC 只能連線digiLogs嗎?
    • AdigiC 寫入到ES digiRunner digiLogs都可以查詢到相關資料

 

杜嘉祐