AWS FireLens 與 Elastic Cloud:用無代理 (Agentless) 資料提取加快洞察時間

HashiCorp Vault 成功案例:荷蘭銀行 (ABN AMRO Bank) 與 Vault 打造雲端安全
2022-01-10
使用 Pentaho 簡化機器學習的協作流程
2022-01-14

現在可以使用 Amazon Web Services (AWS) FireLens 將容器日誌和事件直接發送到 Elastic Cloud。 AWS FireLens 是適用於 Amazon Elastic Container Service (Amazon ECS) 的容器日誌路由器 (log router):Amazon Elastic Compute Cloud (Amazon EC2) 和 AWS Fargate。 該整合幫助 DevOps 和 DevSecOps 人員 — 從傳輸和省成本的日誌保存,到監控及威脅分析 — 簡化了整個 AWS 日誌管理。

 

此文章將介紹如何開始使用 AWS FireLens 將無代理 (agentless) 資料提取到 Elastic Cloud。

 

簡化日誌和事件的傳送過程

在過去,要將容器日誌和事件傳送到不同地方,十分耗時且具有挑戰性。現在就向費時的作業告別,如將日誌發送到 Cloudwatch、維護 Fluent Bit sidecar 日誌聚合器、額外安裝軟體或額外編寫程式。現在的資料傳送和以往不同了,將會把在 ECS 上運行的應用程式日誌發送到 Elastic Cloud。

 

簡化搜索、分析及保存日誌

從 FireLens 導出資料並將其儲存在 Elasticsearch 中後,您便能在幾分鐘內用 Kibana 搜索並視覺化資料。 您還可以將其他伺服器、虛擬機和容器的日誌、指標和追蹤資訊傳送到 Elastic,並在統一的平台上進行分析與管理。

利用 Elastic Observability 深入了解應用程式並減少分析根本原因所耗的時間。 藉由機器學習的異常檢測 (anomaly detection) 和自動關聯 (automated correlations),快速分析程式碼、層級追蹤 (level traces)、日誌和指標、服務間的依賴性,與機器學習未知的未知物 (unknown unknowns)。

Elastic Security 將平均檢測時間降低至零。 擴展相同資料的使用範圍以更加利用擴展保護 (extended protection) 和回應 (response) 的 XDR。 整合 SIEM 和端點安全資料,以預防、檢測和因應最新的網路威脅。

隨著資料增加,Elastic 的自動擴展和索引生命週期管理功能 (index lifecycle management) 可在性能和儲存成本之間取得平衡的同時,確保不會遺失任何資料。

 

輕鬆上手 Elastic 和 AWS FireLens

我們從一個簡單的範例開始:用 FireLens 將容器日誌從 Amazon ECS 轉傳到 Elastic Cloud。 此示意圖是 FireLens 的相對標準敘述,圖中 Amazon ECS 中的容器正將容器日誌轉傳到 Elastic Cloud。

blog-elastic-aws-firelens-1

FireLens 任務設定步驟:

  1. 設定任務定義 (task configuration)。 您可以從 GitHub 上的 Amazon ECS FireLens 範例中找到範例定義。
  2. 使用您任務的 RoleArn,executionRoleArn IAM roles, Elastic Cloud_Auth and Cloud_ID 來更新及取代 AWS Identity and Access Management (IAM) 角色。可以在 GitHub 存儲庫中找到更新的任務定義和實施此解決方案的自述文件。 您還可以查看下面的任務詳細信息作為示例。實行該解決方案的最新任務定義和自述文件 (readme) ,皆可在 GitHub Repository 中找到。您還可以參考下方的任務詳細資訊。

aws-firelens-code-1

如果您要傳送 Amazon ECS Fargate 容器日誌,請將前幾行替換為以下設定。

aws-firelens-code-2

設定步驟:

  1. 確認已安裝 ECS CLI 和 AWS CLI,若未安裝,請先按照 AWS 安裝指南進行操作。
  2. 打開名為 `enable-fluent-log-driver.sh` 的新文件並儲存以下資訊,以啟用 ECS agent 中的  Fluentd log driver :

aws-firelens-code-3

  1. 使用以下指令在 ECS 上建立 EC2 或 Fargate 集群

aws-firelens-code-4

  1. 將任務定義保存到內部文件 `task_definition.json` 並使用 AWS CLI 進行註冊:

aws-firelens-code-5

      5. 建立 ECS service。

aws-firelens-code-6

  1. 當 service 開始運行時,您應該會看到日誌經 Kibana 流入 Elasticsearch。下圖呈現了在 Elastic 中進行的查詢,並能在 Kibana 中視覺化。

blog-elastic-aws-firelens-2

在 Kibana 中,您可以視覺化 Elastic 索引中的資料。 然後您可以依據 Elastic 上進行的查詢,用儀表板呈現相關資料。用 Elastic aggregations 來提取和處理資料,便能建立圖表和圖形來顯示資料高峰、下降和趨勢。下圖為 Kibana 儀表板的範例。

blog-elastic-aws-firelens-3

Elastic 和 AWS 在技術方面的合作,如 FireLens 整合,成功簡化資料提取,且 Elastic 為 DevOps 和 DevSecOps 人員提供安全和合規的統一介面來管理。Elastic 的即用 AWS 整合和儀表板使您能夠一起監控 AWS 和內部環境,從而了解基礎架構、應用程式與整體健康狀況。

 

AWS FireLens 與 Elastic Cloud 的完美整合

您準備好從單一平台簡化資料提取並管理所有容器日誌了嗎? Elastic 不斷迭代為您提供順暢的體驗,使您能夠在任何地方運行 —— 這種與 AWS 的整合只是其中的一個例子。 Elastic Cloud 豐富了 Elastic Stack 的價值,讓您可以做得更多、更快。 有關其他 AWS 整合的更多資訊,請參考 Elastic integrations library