chp16 使用ELK Stack收集K8S平台日志
使用ELK Stack收集K8S平台日志
1.收集哪些日志
•K8S系统的组件日志
•K8S Cluster里面部署的应用程序日志
-标准输出
-日志文件
传统配置日志采集工具重要设置什么?
1、日志路径
2、写正则,格式化日志
3、日志源(Pod、命名空间, service,项目)
日志目录
/var/lib/docker/containers/*/*-json.log /var/lib/kubelet/pods/*/volumes/kubernetes.iowempty-dir/ /var/lib/kubelet/pods/*/
2.ELK Stack日志方案
Filebeat+ELK
搭建日志收集平台
注意:es采用的是动态pv分布。需要确保动态分配pv已经创建好。参考动态创建pv客户端一节
kubectl apply –f .
如果配置了ingress 可以通过域名访问部署的kibana,或者通过nodeIP:Port 也可以访问到
查看日志
在kibana中搜索
筛选日志
3.容器中的日志怎么收集
方案一:Node上部署一个日志收集程序
•DaemonSet 方式部署日志收集程序
•对本节点/var/log/kubelet/pods和
/var/lib/docker/containers/两个目录下的日志进行采集
•Pod中容器日志目录挂载到宿主机统一目录上
方案1:Daemonset部署日志采集器
标准输出:
/var/lib/docker/containers/*/*-json.log
日志文件:
方式1:/var/lib/kubelet/pods/*/volumes/kubernetes.iomempty-dir/
方式2:开发根据容器名命名日志文件,并且部署时统一挂载到宿主机日志目录
方案二:Pod中附加专用日志收集的容器
•每个运行应用程序的Pod中增加一个日志 收集容器,使用emtyDir共享日志目录让 日志收集程序读取到。
方案2:sidecar部署一个专用日志采集容器
日志文件:通过 emptydir共享日志目录,手动配置日志源
方案三:应用程序直接推送日志
•超出Kubernetes范围
4.K8S平台中应用日志收集
•K8S组件日志收集
点击下载yaml配置文件 k8s-log.yaml
•Nginx应用日志收集
•Tomcat应用日志收
集点击下载yaml配置文件 tomcat-logs.yaml
本文来自博客园,作者:元贞,转载请注明原文链接:https://www.cnblogs.com/yuleicoder/articles/13946068.html













浙公网安备 33010602011771号