应用容器化后,建议日志是落盘后再采集还是直接通过网络发到外部呢?
收起三种常见日志收集解决方案
1.每个app的镜像中都集成日志收集组件:
优点:
部署方便,kubernetes的yaml文件无须特别配置,可以为每个app自定义日志收集配置
缺点:
强耦合,不方便应用和日志收集组件升级和维护且会导致镜像过大
2.单独创建一个日志收集组件跟app的容器一起运行在同一个pod中:
优点:
低耦合,扩展性强,方便维护和升级
缺点:
需要对kubernetes的yaml文件进行单独配置,略显繁琐
3:将所有的Pod的日志都挂载到宿主机上,每台主机上单独起一个日志收集Pod:
优点:
完全解耦,性能最高,管理起来最方便
缺点:
需要统一日志收集规则,目录和输出方式