你們中的大多數已經了解 ELK 堆疊的優勢以及為何這麼多團隊正在使用它。它不僅對於診斷和解決錯誤及生產問題至關重要,而且對於客戶洞察也越來越有價值。此外,獲取系統運作狀態和用量的其他指標也能讓您的團隊具有強大的競爭優勢。當其他公司在努力查明不足之處時,您的團隊可以檢查資料,進行調整並提供系統需要的內容。
作為一名管理者,會經常思考為工程師和 DevOps 團隊提供良好的日誌解決方案。但是,您也知道為此需要付出一些成本。除了基礎設施成本之外,還需要處理升級、修補程式以及部署等事宜。所有這些都需要時間、精力和專業技術。
因此,如何提供易於維護和支援的一流日誌解決方案? 是否有一種方法可獲得 ELK 堆疊的所有優勢,但是又不麻煩?
為什麼日誌如此重要?
隨著機器資料的增長,日誌越來越重要。對最佳應用程式效能進行診斷和故障排除至關重要。此外,可使用許多工具從日誌中獲得重要業務指標和資料。日誌不再僅僅用於查找問題。它還可監控您的系統。
毋庸置疑;日誌至關重要。所以,讓我們來了解一下如何實作它。目前最常見的一個方法是 ELK 堆疊。您可以選擇使用 Elasticsearch 和 Kibana 的 Apache 2.0 授權版本 (直到版本 7.10.2) 自行部署和管理 ELK 堆疊,或者使用 OpenSearch、OpenSearch 儀表板和 Logstash 自行管理 ELK 堆疊的開源備用方案。
我為何需要 ELK 堆疊?
作為一個快速提醒工具,ELK 是在 Elasticsearch、Logstash 以及 Kibana 之核心組成的堆疊。讓我們快速了解一下每個摘要。
Elasticsearch:一個搜尋和分析引擎,用於全文搜尋及分析日誌和指標。
Logstash:一個開源工具,它擷取並傳輸日誌和事件。
Kibana:一種用於檢視日誌和事件的視覺化和探索工具。
一起使用時,ELK 堆疊的元件可讓您彙總您的所有系統中的日誌。不僅可分析問題,還可監控系統使用情況並發現改進機會。ELK 提供的資料分析和視覺化無懈可擊。
但是,您為何應使用 ELK 的受管服務? 您已經擁有一個很好的團隊。您不希望僅僅是一個託管提供商。您想要能夠設定一切的靈活性,以應對特殊使用案例。為何不自己管理 ELK?
長話短說:太難了。
管理我自己的 ELK 堆疊為何這麼難?
讓我們看一下其中的一些原因,為何管理 ELK 可能並不是您自己想要做的一些事情。
安裝特別簡單
當著眼於整合系統時,不要忘記安裝並不總是無足輕重。最佳組態是什麼? 您在哪裡管理您的機密? 您需要多少軟體?
快速的網際網路搜尋可提供許多關於如何安裝 ELK 的討論文章。如果您看一眼,可能會注意到一點,那就是當您開始時,它和一鍵部署相差甚遠。事實上,有許多先決條件。使用具有適合一切的開箱即用組態的基本安裝,或花費更多時間重新搜尋所有組態選項。您的資料擷取限制有哪些? 您的保留計畫是什麼? 它為何至關重要?
現在想象一下,對您擁有的每個環境都要重複幾次此過程。
即使您使用適合一切的自動指令碼,將需要大量寶貴時間來設定一切並保證順利執行。向客戶提供價值時不要浪費時間。使用諸如 Amazon OpenSearch Service 等受管服務,部署 ELK 堆疊簡單且可重複。
而且非常快速
大多數公司嘗試將其產品快速推向市場。但是,如果您被迫花費數周或甚至數月才能使堆疊和基礎設施處於生產就緒狀態,您將不能那麼做。
讓應用程式處於生產狀態的當前程序是什麼? 您進行了哪些測試、驗證和潤飾,以確保您準備就緒? 如果需要對大量寫入操作最佳地設定硬體,是否在進入生產之前已經完成? 您的升級計畫是什麼?
如果您正在管理自己的 ELK 堆疊,那麼您正在利用不熟悉的基礎設施和應用程式進行這一切。諸如 Amazon OpenSearch Service 等服務可幫助您顯著降低基礎設施、實作以及持續維護成本。
在彈性方面花費了更多時間
在管理您的 ELK 堆疊時,您將很快發現自己擔心彈性問題。當其中一個 Elasticsearch 節點下降時應怎麼辦? 或者您的 Kibana 效能變得不可用?
此外,如果您在上述步驟中正確設定了基礎設施,您可能會遇到麻煩。Logstash 和 Elasticsearch 為記憶體密集型。如果您嘗試在相同的小件硬體上安裝它們來節省時間和金錢,它們將跨過彼此。我們甚至尚未談論過有關更新版本或者監控和修補安全問題的計畫。
AWS 可解決這些需求。例如,讓我們考慮一下您的 Elasticsearch 節點。如果一個節點下降,Amazon OpenSearch Service 會為您偵測並取代它。這是您不想花時間操心的另一件事。
從根本上來說,擁有一個大團隊很好,因為自我管理將使其變得更大。如果執行 Elasticsearch 叢集對於您的行業來說並不是至關重要,那麼就讓 AWS 為您管理它。付錢讓工程師創造商業價值而不是來管理 ELK 堆疊,這始終是一個好主意。
那麼,哪些工具有助於防止 ELK 堆疊成為麻煩?
如果您建置、執行並支援 ELK,記住您不僅僅支援一個工具,這很重要。您現在不得不擔心它們三個。在生產中執行將帶來其他問題。還有什麼可能會結束支援自我管理探索?
例如,若要實現更大彈性,您可能想要使用 Kafka 以便將日誌放入佇列。在高流量時期,您不希望丟失日誌,因為您的 ELK 堆疊無法維持。您是否準備好提出 Kafka 管理? 或者,您可使用 Redis 來幫助管理峰值時間期間的負載。但是請等一下,那不正是您將需要管理的內容嗎? 您將如何獲得您需要的分析,以便您的團隊可監控系統? 您也將會在此提供一些內容? 或者,您將安裝和設定另一個系統,以提供您需要的監控?
有備用方案。您可使用諸如 Amazon Cloudwatch 等服務提供幫助。它與 Kibana 聯合工作,創造出一種易於使用的分析日誌方法。
最後但同樣很重要的是,諸如 Amazon OpenSearch Service 等受管 Elasticsearch 服務也有助於安全整合,包括 VPC 支援、資料的靜態和動態內建加密以及使用者身份驗證。
受管解決方案是否適合您?
許多公司認為自託管是一種選擇。但是,並非所有人都會考慮為了保持順利執行而需要的工作量和技術資源以及專業技術。當人們花時間為客戶提供優質產品時,沒有人想要花費時間維持系統並執行。
即使您一直在思考自託管,您也應當考慮從諸如 Amazon OpenSearch Service 等受管服務開始,以便快速開始和執行。很可能在您嘗試之後,您會發現 Amazon OpenSearch Service 等受管服務讓您把時間花費在了更重要的事情上。
OpenSearch 包括來自 Elasticsearch B.V. 的特定 Apache 授權的 Elasticsearch 程式碼和其他原始程式碼。Elasticsearch B.V. 不是其他原始程式碼的來源。ELASTICSEARCH 是 Elasticsearch B.V. 的註冊商標。
進一步了解 Amazon OpenSearch Service 定價