- 我的服務 (tomcat/java) 在 kubernetes 集群 (AKS) 上運行。
- 我想將日志檔案(tomcat 訪問日志、帶有 logback 的應用程式日志)寫入 AzureFile 卷。
- 我不想將訪問日志寫入標準輸出,因為我不想將訪問日志與應用程式日志混合在一起。
題
我希望所有日志記錄都是異步完成的,因此寫入緩慢的 AzureFile 卷不會影響性能。這樣對嗎?
更新
最后我想收集日志檔案,以便我可以將所有日志發送到 ElasticSearch。
特別是我需要一種收集訪問日志的方法。
uj5u.com熱心網友回復:
如果您想將您的訪問日志發送到 Elastic Search,您只需要擴展AbstractAccessLogValve并實作該log方法。
在AbstractAccessLogValve已經包含格式化訊息的邏輯,所以你只需要添加的邏輯發送格式化的訊息。
uj5u.com熱心網友回復:
是的,您是對的,但仍然取決于您如何撰寫日志。如果異步撰寫,您將花費很長的程序,并且您的檔案系統很慢。如果是 NFS,也有可能出現網路延遲等。
如果將 NFS 和 Bucket 卷直接附加到多個 POD,我已經看到了性能問題。
如果您的撰寫速度很慢,異步執行緒可能需要時間來完成作業并占用更多資源,但是它仍然取決于代碼和撰寫代碼的方式。
理想情況下,人們習慣于將存盤在 Elasticsearch 中以便快速檢索輕松管理。
人們根據需求使用不同的堆疊,但大多數都由 elasticsearch 支持,例如 Graylog、ELK。
為了向這些堆疊發送或寫入日志,人們使用 UDP,我個人更喜歡 GELF UDP,并向 Graylog 拋出日志并忘記。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/316738.html
標籤:Kubernetes 公猫 日志记录 登录
