這時候千萬不要泛泛的回答用ELK了,因為這種回答和沒回答是一樣的,
一般有三種方式:
-
將fluentd專案安裝在宿主機上,然后把日志轉發到遠端的elsticSearch里保存起來以備檢索,
這樣做的優點是: 在一個節點上只需要部署一個agent,并且不會對應用和pod有任何入侵性,這種用的比較多一些,
缺點: 它要求應用輸出日志,都必須直接輸出到容器的stdout和stderr里 -
第二種方案:當容器日志只能輸出某些檔案的時候,我們可以通過一個sidecar容器把這些日志檔案,重新輸出到sidecar的stdout和stderr上,然后在使用第一種方案,
其實第二種方案就是對第一種方案缺點的補充
- 第三種方案,通過一個sidecar的容器,直接把應用的日志發送到遠程存盤里面,
這種其實也是第一種的延伸,就是把fluentd部署到pod中,后端存盤還是可以用elasticsearch,知識fluentd輸入源變成了應用檔案日志,
但是這種方法sidecar容器會消耗過多資源,
日過日志量特比大,我們可以增加配額: 給容器上掛存盤,講日志輸出到存盤上,
你在回答這個問題的時候,可以說第一種方式,只要你們的日志量不大即可,如果大的話,需要加存盤,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/273760.html
標籤:其他
上一篇:從服務器基礎環境配置到搭建Docker+Gitlab+Gitlab Runner,完整介紹Spring Boot專案的持續集成與持續交付具體實作!
下一篇:[設計模式C++]工廠模式
