如果你觉得这篇文章对你有帮助,请不要吝惜你的“关注”、“点赞”、“评价”,你的支持永远是我前进的动力~~~
日志是在微服务的监控和问题排查中最重要的,数据量也最大
我们的微服务是运行在K8S环境中的,因此这里主要介绍下K8S下的采集方式。
日志(Logging)采集方式
在K8S中,日志采集有多种方式,每种方式都有其优点,也有缺点,下面官方推荐的三种方式
每台Node节点采用DaemonSet部署agent:
原理:每台节点采用DaemonSet部署一个采集日志的agent,从/var/log/containers/目录采集所有容器的日志,而容器中的日志需要遵循docker的日志规范,把日志打入stdout/stderr,这样k8s会自动在/var/log/containers/目录生成对应容器的日志。
优点:部署维护简单,且能收集所有容器的日志
缺点:需要应用程序日志支持stdout/stderr输出,如果每个节点的日志规模过多,单个采集日志的agent可能成为瓶颈,不太灵活