使用 OCI 搜尋服務的聚總日誌和 OpenSearch

具備 OpenSearch 的 OCI 搜尋服務 (Oracle OpenSearch 管理的服務),可讓您運用強大的索引,以毫秒為單位搜尋大型資料集並顯示結果。OpenSearch 是衍生自 Apache 2.0 授權 Elasticsearch 7.10.2 和 Kibana 7.10.2 的社群導向、開放原始碼搜尋與分析套件。

OpenSearch 的 OCI 搜尋服務包含:
  • 搜尋引擎常駐程式 - OpenSearch
  • 視覺化和使用者介面 - OpenSearch 儀表板
使用 OCI Search Service 搭配 OpenSearch 時,您可以利用相同的 Elasticsearch 和 Kibana API,簡化現有堆疊的移轉作業。
如何使用 OpenSearch 的 OCI 搜尋服務?
  • 分析您的日誌
    • 儲存、調查及連結事件資料,以儘快找出並修正問題,以及提升應用程式效能。
    • 無縫擴充叢集大小以因應事件資料季節性波動。
    例如:旅遊獎勵公司可以使用 OpenSearch 的 OCI 搜尋服務分析跨多個供應商的通話量,以快速找出問題並加以解決,讓客戶對想要使用的團隊提出要求。
  • 申請搜尋

    對於您的應用系統、網站以及大型資料儲存區域,需要的資料集會不斷增加大小,以及快速而自訂的搜尋體驗。使用 OpenSearch 的 OCI 搜尋服務可根據源自或依時間而定,啟用最快的結果。

    例如:相片封存業務可能會使得最近要求的影像更快顯示圖片結果,並將較舊的及較不少存取的影像移到暖儲存時,以便儘快建立索引。

架構

此參照架構顯示了伺服器記錄、處理及整合的簡單使用案例。

下圖說明此參照架構。



oci-opensearch-log-analytics-arch-oracle.zip

上方的圖表在 OCI 顯示簡化的高可用性應用程式環境,專注於負載平衡器之後的兩個虛擬機器執行處理。執行處理位於兩個不同的可用性網域。

每個虛擬機器執行處理皆使用「檔案」訊號來轉送日誌。檔案訊號是安裝於虛擬機器執行處理上的輕量型代理程式,可監督指定的日誌檔和位置、收集日誌事件,以及將它們轉送至 Logstash。

Logstash,也就是日誌剖析和轉換的資料處理管線,會在放置在兩個不同可用性網域中的執行處理中執行。Logstash,接著會以 OpenSearch 將經過轉換的日誌傳送至 OCI 搜尋服務

具有 OpenSearch 的 OCI 搜尋服務是區域託管的服務,內建備援。具有 OpenSearch 的 OCI 搜尋服務在 OpenSearch 和 OpenSearch 儀表板具有專用端點,因此您的流量不會周遊網際網路。

若要使用本機機器的 OpenSearch 連線至 OCI 搜尋服務,請在公用子網路中設定防禦主機,以及使用網際網路閘道作為目標的路由規則。您可以使用防禦主機進行連接埠轉送 (也稱為 SSH 通道),在機器中的選擇連接埠和所需的 OpenSearch / OpenSearch 儀表板專用端點目的地連接埠之間建立安全連線:
  • 9200 至 OpenSearch
  • OpenSearch 儀表板的 5601
專用子網路中的應用程式執行處理也可以透過防禦主機存取。

架構具有下列元件:

  • 租用戶

    註冊 Oracle Cloud Infrastructure 時,租用戶是 Oracle 在 Oracle Cloud 內設定的安全獨立的分割區。您可以在租用戶的 Oracle Cloud 中建立、組織及管理您的資源。租用戶與公司或組織同義。通常,公司會有單一租用戶,並且反映該租用戶內的組織結構。單一租用戶通常與單一訂閱關聯,且單一訂閱通常只有一個租用戶。

  • 原則

    Oracle Cloud Infrastructure Identity and Access Management 原則會指定誰可存取哪些資源及存取方式。群組和區間層次會授予存取權,這表示您可以撰寫原則,讓群組在特定區間或租用的特定存取類型。

  • 區間

    區間是 Oracle Cloud Infrastructure 租用戶內的跨區域邏輯分割區。使用區間在 Oracle Cloud 中組織您的資源、控制對資源的存取,以及設定使用配額。若要控制對指定區間中資源的存取,您可以定義原則,指定誰可以存取資源以及可執行的動作。

  • 虛擬雲端網路

    OCI 中的第一個步驟之一,就是為雲端資源設定虛擬雲端網路 (VCN)。VCN 是您在 OCI 區域中設定的軟體定義網路。VCN 可以區段至子網路,成為區域或可用性網域的特定子網路。區域特定與可用性網域特定子網路都可以在同一個 VCN 中共存。子網路可以是公用或專用子網路。

  • 可用性網域

    可用性網域是區域內的獨立獨立資料中心。每個可用性網域中的實體資源會與提供容錯能力的其他可用性網域中的資源隔離。可用性網域並不共用基礎設施,例如電源或冷卻系統,或內部可用性網域網路。因此,一個可用性網域發生故障並不會影響該區域中的其他可用性網域。

  • 防禦主機

    防禦主機是運算執行處理,可作為從雲端外部到拓樸的安全控制進入點。它可讓您存取放置在專用網路中的機密資源,這些資源無法直接從雲端外部存取。拓樸含有單一已知的輸入點,您可以定期監督和稽核,因此您可以避免顯示拓樸中較機密的元件,且不會影響其存取權。

  • 負載平衡器

    Oracle Cloud Infrastructure Load Balancing 服務提供從單一進入點到後端多部伺服器的自動化流量分配。

  • 運算執行處理

    Oracle Cloud Infrastructure Compute 可讓您佈建及管理運算主機。您可以使用符合資源需求的資源配置啟動運算執行處理 (CPU、記憶體、網路頻寬以及儲存)。建立運算執行處理之後,您就可以安全地存取該執行處理、重新啟動磁碟區、連附及取消連附磁碟區,並在不需要時將其終止。

  • 網際網路閘道

    網際網路閘道允許 VCN 中的公用子網路和公用網際網路之間的流量。

  • 動態路由閘道 (DRG)

    DRG 是一個虛擬路由器,在 VCN 與區域外部網路 (例如另一個 Oracle Cloud Infrastructure 區域中的 VCN、企業內部部署網路,或其他雲端提供者中的網路) 之間,提供相同區域中 VCN 之間專用網路流量的路徑。

  • 保存庫

    Oracle Cloud Infrastructure Vault 可讓您集中管理加密金鑰,保護您的資料及用於保護雲端資源存取機密證明資料。

  • 網站至網站 VPN

    站對站 VPN 提供企業內部部署網路與 Oracle Cloud Infrastructure 中 VCN 之間的 IPSec VPN 連線。IPSec 協定套件會在將封包從來源傳輸到目的地之前加密 IP 流量,並在流量抵達時解密流量。

  • FastConnect

    Oracle Cloud Infrastructure FastConnect 提供簡單的方式,可在您的資料中心與 Oracle Cloud Infrastructure 之間建立專屬的私密連線。與網際網路連線相比,FastConnect 提供更高的頻寬選項和更可靠的網路體驗。

  • Web 應用系統防火牆 (WAF)

    Oracle Cloud Infrastructure Web Application Firewall (WAF) 是支付卡產業 (PCI) 相容且連附至某個強制點的區域式和邊緣強制服務,例如負載平衡器或 Web 應用系統網域名稱。WAF 可保護應用系統免於惡意和非必要網際網路流量。WAF 可以保護任何連結網際網路的端點,對客戶的所有應用系統提供一致的規則強制執行。

推薦

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

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

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

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

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

  • 安全

    使用原則限制能夠存取您公司之 OCI 資源的人員及其存取方式。成功建立 OpenSearch 叢集的 OCI 搜尋服務需要特定原則。使用 Vault 來取得金鑰、憑證及加密密碼的額外保護。

    網路服務提供兩種虛擬防火牆功能,使用安全規則來控制封包層次流量:安全清單和網路安全群組 (NSG)。NSG 是一組包含傳入和傳出安全規則,僅適用於單一 VCN 中所選的一組 VNIC。例如,您可以選擇在 VCN 中多層應用程式的 Web 層中,作為 Web 伺服器的所有運算執行處理。

    NSG 安全性規則功能與安全性清單規則相同。不過,針對 NSG 安全規則的來源或目的地,您可以指定 NSG 而非 CIDR 區塊。因此,您可以輕鬆撰寫安全規則,以控制相同 VCN 中兩個 NSG 或單一 NSG 內的流量之間的流量。建立資料庫系統時,您可以指定一或多個 NSG。您也可以更新現有資料庫系統,以使用一或多個 NSG。

  • 運算

    依需求選擇具備適當 OCPU 和記憶體組合的資源配置,並且根據每個執行處理佈建本機 NVMe 和 (或) 區塊儲存。

注意事項

實作此架構時,請考量下列參數的需求:

  • 記錄日誌

    在這個參照架構中,我們使用 Logstash 進行日誌剖析和轉換。

    檔案訊號也可以將日誌直接傳送至 OpenSearch。這種方法適用於單一類日誌或非常統一的日誌。檔案訊號缺少日誌的進階篩選和轉換能力,因此當日誌格式不同時,將難以聚總不同種類的日誌。

  • 執行處理

    在此參考架構中,我們使用 Logstash 專用執行處理。或者,Logstash 可以在每個來源執行處理或伺服器中執行。這會在來源執行處理或伺服器造成較高的資源使用情形。

    若要獲得 Logstash 高可用性,請考慮使用多個執行處理,散布至容錯域或可用性網域。檔案訊號可以在 Logstash 執行處理之間取得平衡,而不需另外負載平衡器。

  • 永久佇列

    考慮設定 Logstash 的永久佇列。Logstash 永久佇列可藉由將進行中訊息佇列儲存至磁碟,協助防止異常終止期間資料遺失。

確認

  • 作者:Nuno Goncalves
  • 提供者:約旦 - Hassan Ajan、M Mark de Visser、Sam Samuel Herman、Anupama Pundpal