K8S-实战案例之基于ELK实现容器日志收集与展示

 docker启动后日志会在以下位置

/var/lib/docker/containers/容器ID/容器ID-json.log

 

也可以使用命令

docker logs 容器ID

 

 

容器日志路径

]# ll /var/lib/docker/overlay2/97edc85bf35b6e703148b6ddd17a796cea224ae31569012dbcfaa73f93c69002/diff/apps/apache-tomcat-8.5.43/logs/catalina.out -h
-rw-rw-r-- 1 2019 2019 21K May 15 08:33 /var/lib/docker/overlay2/97edc85bf35b6e703148b6ddd17a796cea224ae31569012dbcfaa73f93c69002/diff/apps/apache-tomcat-8.5.43/logs/catalina.out

 

方案

1、通过deamset在宿主机启动容器,将宿主机 /var/lib/docker/overlay2/ 目录挂载到logstash、filebeat等

2、每个运行应用程序的Pod中增加一个日志收集容器filebeat,使用emptyDir共享日志目录让日志收集程序读取到

第二种方案演示

filebeat.yml

复制代码
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /apps/tomcat/logs/catalina.out
  fields:
    type: k8s-tomcat-catalina

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
setup.template.settings:
  index.number_of_shards: 1

output.redis:
  hosts: ["172.31.2.105:6379"]   # 将数据写入redis
  key: "k8s-linux39-tomcat"
  db: 1
  timeout: 5
  password: "123456"
复制代码

 

posted @   不会跳舞的胖子  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示