五款值得關注的Kubernetes日志監控工具
Kubernetes在容器編排市場中占主導地位,推動企業向微服務演進。微服務的每個實例都會生成大量日志事件,這些事件很快就變得難以管理。但更復雜的是當出現問題時,由于服務之間復雜的交互作用,以及可能的故障模式,導致很難找到根本原因。潛在的問題使得Kubernetes日志管理工具變得十分重要。
企業總是設法尋找適用的工具滿足需求,并讓監控,日志記錄和故障分析盡可能高效和快速。
Zebrium
你可能會優先考慮Prometheus(普羅米修斯)或ELK?但Zebrium卻也能作為優先選項。
這家新成立的初創公司最近入選了“Gartner 2020年值得關注的25家企業軟件初創企業”。

談到優秀實踐,Zebrium最近還幫助Sweetwater將事件跟蹤時間從3小時減少到只有幾分鐘。Zebrium甚至可以發現以前未發現的隱藏問題。這是一項出色的功能,因為它可以幫助在問題影響客戶之前發現問題。
那么,什么使Zebrium在競爭中脫穎而出?Zebrium使用人工智能來發現問題以及自動發現根本原因,而所有其他工具都依賴于用戶手動添加規則。Zebrium也可以用作獨立的日志管理平臺,也可以與ELK Stack或其他日志管理器集成。
優點:易于啟動;只需復制/粘貼自定義的HELM或kubectl命令;自動檢測問題和根本原因,無需手動規則;可以用作獨立的日志管理工具,也可以用作現有日志管理工具(例如ELK Stack)的機器學習附件。
缺點:免費計劃限制為每天500 MB,保留3天;支持Kubernetes,Docker和大多數常見平臺,但不支持Windows。
Sematext
用于日志管理和應用程序性能監控的解決方案。Sematex提供了系統狀態的全棧可見性。

Sematext不僅限于Kubernetes日志,還可以監控和Kubernetes(基于度量標準和日志)。收集到的日志會自動針對幾種不同的已知日志格式進行解析/結構化,并且用戶還可以提供自定義日志的模式。它還公開了Elasticsearch API,因此也可以使用任何與Elasticsearch配合使用的工具,例如Filebeat和Logstash與Sematex。可以將其用作ELK的變體或與本機Sematext生態系統一起使用。該工具有助于創建特定規則,來監控特定情況并捕獲異常。借助Sematex全面的實時儀表板,客戶可以控制和監控所有服務。
優點:與其他Sematext云工具集成;可配置超限來阻止日志被接受從而控制成本;具有ELK的靈活性。
缺點:
Sematext小部件和Kibana不能在一個儀表板上混合使用;自定義解析需要在日志傳送器中完成,Sematext僅在服務器端解析Syslog和JSON;跟蹤功能較弱,但已經在計劃進行改進。
Loki
Loki是一個受Prometheus啟發的多租戶和高度可用的日志聚合工具。這款工具有助于收集日志,但是用戶將需要為其建立手動規則。Loki與Grafana,Prometheus和Kubernetes合作。Loki可以讓內部流程更有效率。如,它節省了Paytm Insider 75%的日志記錄和監控成本。Loki不會索引你的日志內容,而是僅索引每個事件流的一組標簽,因此效率很高。

優點:擁有大型的生態系統;豐富的可視化功能;由于未索引日志內容而提高了效率。
缺點:未針對Kubernetes日志管理進行優化;大量的架構規則手工工作;缺少內容索引可能會限制搜索性能。
ELK Stack
ELK是很著名的日志管理開源工具。ELK是Elasticsearch,Logstash和Kibana的首字母縮寫。每個組件負責日志記錄過程的不同部分。Elasticsearch是一個功能強大且可擴展的搜索系統,Logstash聚合并處理日志,而Kibana提供了一個分析和可視化界面,可幫助用戶理解數據。它們共同為Kubernetes提供了全面的日志記錄解決方案。但ELK Stack還有許多其他變體,如EFK Stack,即Elasticsearch,Fluentd和Kibana組成。

ELK被Adobe,T-Mobile和沃爾瑪等許多大公司使用,因此可以證明它的可生產性。所以ELK是一個可靠且經過驗證的工具。但他會帶來復雜性和工作所需的大量資源。
優點:ELK是眾所周知的,并且擁有龐大的社區;非常廣泛的平臺支持;Kibana中豐富的分析和可視化功能;需要對日志和手動定義的警報規則進行復雜的分析。
缺點:維持規模難度大;需要很多調整,特別是對于大型環境;大量的資源需求;某些功能需要付費許可證。
Fluentd
Fluentd是一個跨平臺的開源數據收集器,提供了統一的日志記錄層,但它不是獨立的日志管理器。作為頗受歡迎的工具,擁有Atlassian,微軟和亞馬遜等5000多個客戶。看到這些大型客戶,可印證其可靠性和性能。此外,Fluentd還創建了一個統一的日志記錄層,可幫助更有效地使用數據并在軟件上快速迭代數據。它可以幫助你每秒處理120000條記錄。

優點:大型社區和插件生態系統;統一日志記錄層;經過驗證的可靠性和性能。可以在不到10分鐘的時間內安裝完畢。
缺點:難以配置;對轉換數據的支持有限;不是完整的日志記錄解決方案。
結語
你可能會問,為什么沒有將Prometheus列入名單,因為本文專注于日志監控工具,而Prometheus處理指標不支持日志。
所以,如果你對手動搜索日志的不擅長,或者不愿意構建和管理警報規則,則應嘗試使用基于機器學習算法的Zebrium。這可能會節省大量時間,并擺脫創建大量規則的繁瑣任務。
如果你正在尋找更主流的東西,并且知道要創建哪些規則,可嘗試使用Loki或Sematext,它們將是非常適合的高效工具。
此外,你希望在公有云中使用日志監控,則不妨使用云提供商提供的服務,比如AWS的CloudWatch,而他們僅對自家云中的業務的提供支持。
如果你的日志有多個或特殊的來源,則可嘗試使用Fluentd及其統一的日志記錄層,但是你仍然需要一個日志記錄工具。