在 Oracle Cloud Infrastructure 中儲存及分析您的內部部署日誌

Oracle Cloud Infrastructure Data Flow 是一項完全受管理的 Apache Spark™服務,適合處理大量的日誌檔。

正在產生所有日誌檔。來自硬體、作業系統、網路裝置、Web 服務和應用程式的所有項目都會連續產生日誌。分析此日誌資料有助於疑難排解與診斷、預測修復、入侵偵測、Web 存取樣式等等。

資料流程可讓您在 Oracle Cloud Infrastructure Object Storage 中集中儲存日誌資料。它可透過建立 Apache Spark 應用程式一次來啟用資料分析,然後在新日誌檔到達物件儲存時加以執行。接著,就可以將此分析的輸出載入 Autonomous Data Warehouse 來進行查詢和報告。而且,這項作業只會完成,不會超載,例如啟動設定叢集或軟體安裝。

架構

此架構顯示連線至物件儲存、分析日誌檔,以及將結果儲存在 Autonomous Data Warehouse 中以供報告的資料流程

下圖說明此參考架構。

architecture-analyze-logs.png 的描述如下
architecture-analyze-logs.png 圖解描述

架構包含下列元件:

  • 區域

    Oracle Cloud Infrastructure 區域是包含一或多個資料中心 (稱為可用性網域) 的本地化地理區域。區域與其他區域無關,而且大型距離可以區隔 (跨國家或甚至洲)。

  • 可用性網域

    可用性網域是區域內獨立的獨立資料中心。每個可用性網域中的實體資源都會與其他可用性網域中的資源隔離,以提供容錯。可用性網域不會共用基礎架構,例如電源、冷卻或內部可用性網域網路。因此,一個可用性網域的失敗並不會影響區域中的其他可用性網域。

  • 容錯域

    容錯域是一組可用性網域內的硬體和基礎架構。每個可用性網域都有三個具有獨立電源和硬體的容錯域。當您在多個容錯域之間分配資源時,應用程式可能會容許容錯容錯域內的實體伺服器失敗、系統維護和電源失敗。

  • 虛擬雲端網路 (VCN) 和子網路

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。VCN 就像傳統資料中心網路一樣,可讓您完全控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,供您在建立 VCN 之後變更。您可以將 VCN 區隔為子網路,子網路範圍可為區域或可用性網域。每個子網路均包含一個未與 VCN 中其他子網路重疊的連續位址範圍。您可以在建立子網路之後變更子網路的大小。子網路可以是公用或專用。

  • 物件儲存

    物件儲存可讓您快速存取任何內容類型的大量結構化和非結構化資料,包括資料庫備份、分析資料以及豐富的內容 (例如影像和視訊)。使用標準儲存體作為快速、立即及經常存取所需的「熱」儲存體。將封存儲存用於您保留的「冷」儲存空間長期、少數或少數存取。

  • Autonomous Data Warehouse

    Oracle Autonomous Data Warehouse 是一項針對資料倉儲工作負載最佳化的自我驅動、自我保護、自行修復資料庫服務。您不需要設定或管理任何硬體,或是安裝任何軟體。Oracle Cloud Infrastructure 會處理建立資料庫,以及備份、修正、升級和調整資料庫。

  • 資料流程

    Oracle Cloud Infrastructure Data Flow 是一項完全受管理的服務,可用來執行 Apache Spark™應用程式。它可讓開發人員專注於其應用程式,並提供簡單的程式實際執行環境來執行它們。它提供簡單且簡單的使用者介面,可支援 API 與應用程式和工作流程整合。您不需要隨時花費基礎架構、叢集啟動設定或軟體安裝。

推薦

您的需求可能會與此處描述的架構不同。使用下列建議作為起點。

  • VCN

    建立 VCN 時,請根據計畫連附至 VCN 中子網路的資源數目,判斷所需的 CIDR 區塊數目和各個區塊的大小。使用標準專用 IP 位址空間內的 CIDR 區塊。

    選取未與想要設定專用連線之任何其他網路 (在 Oracle Cloud Infrastructure 中、您的內部部署資料中心或其他雲端提供者) 重疊的 CIDR 區塊。

    建立 VCN 之後,您可以變更、新增及移除其 CIDR 區塊。

    設計子網路時,請考量您的流量和安全需求。將特定層或角色內的所有資源連附至可作為安全界限的相同子網路。

  • 物件儲存

    將所有日誌檔擷取至 Oracle Cloud Infrastructure Object Storage。根據業務需求決定適當的批次大小,然後執行資料流程應用程式來處理檔案。

  • 資料流程

    不需要特殊組態。不過,建議根據每次執行應用程式時所處理的日誌資料量,建議使用較大的 Spark 驅動程式和執行程式 VM 資源配置。

  • Oracle Autonomous Data Warehouse

    確定存取資料倉儲所需的公事包儲存在安全的地方,而且只能由授權的使用者存取。部署 Autonomous Data Warehouse 的其中一個考量就是在 VCN 中建立此項目作為專用端點。

  • 安全性

    您可以使用 Oracle Cloud Infrastructure Identity and Access Management 解決方案來套用原則,並提供使用者、群組和資源的存取權。Spark 應用程式需要存取儲存桶才能讀取日誌檔。使用 Vault 服務來儲存存取 Autonomous Data Warehouse 所需的密碼。

注意事項

  • 頻率

    執行應用程式的頻率取決於內送日誌檔的磁碟區和頻率。Spark 應用程式應使用適當的邏輯撰寫,以便處理此內送資料批次。一般準則是處理每個批次所花費的時間,應與使用已處理輸出的游服務在 Autonomous Data Warehouse 中需要重新整理的頻率一致。

  • 效能

    數個因素會影響效能,但最重要的是內送日誌檔的資料分佈和分割。您可以視需要針對每個分割區與 OCPU 和記憶體資源平行執行 Spark 應用程式。Oracle Cloud Infrastructure Data Flow 提供完整的彈性來管理每次執行應用程式所需的資源。

  • 安全性

    使用原則來限制誰可以存取 Oracle Cloud Infrastructure 資源以及程度。針對資料流程資料流程內的執行管理,使用 Oracle Cloud Infrastructure Identity and Access Management (IAM) 將權限指派給特定使用者和使用者群組。

    Oracle Cloud Infrastructure Object Storage 預設會啟用加密,而且無法關閉。

  • 成本

    Oracle Cloud Infrastructure Data Flow 是每次使用付費,因此您只需在執行資料流程應用程式時付費,而不需在建立時付費。建議您使用不同的可用層儲存日誌:物件存放區 (熱儲存體) 和存檔存放區 (冷儲存體)。接著,已處理的資料可以儲存在 Autonomous Data Warehouse 中。

部署

您可以在 GitHub 上取得此參照架構的 Terraform 程式碼。

  1. 前往 GitHub
  2. 將儲存區域複製或下載到您的本機電腦。
  3. 依照 README 文件中的指示進行。

變更日誌

此日誌僅列出重要的變更:

2021 年 6 月 2 日 已將連結新增至教學課程並新增「部署」區段。