K8S中如何使用sidecar模式统一收集应用日志(适用所有技术语言体系)
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍K8S中如何使用sidecar模式统一收集应用日志(适用所有技术语言体系),内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Filebeat可以以sidecar模式
千家信息网最后更新 2026年11月01日K8S中如何使用sidecar模式统一收集应用日志(适用所有技术语言体系)
这篇文章给大家介绍K8S中如何使用sidecar模式统一收集应用日志(适用所有技术语言体系),内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
Filebeat可以以sidecar模式来进行容器日志的收集,也就是filebeat和具体的服务容器部署在同一个pod内,指定收集日志的路径或文件,即可将日志发送到指定位置或Elasticsearch这类的搜索引擎。
每个pod内部署filebeat的模式,好处是和具体的应用服务低耦合,可扩展性强,不过需要在yaml进行额外配置。
理论的可以支持所有技术语言体系,只要能输出文件日志就好。
app服务
---apiVersion: v1kind: Servicemetadata:name: test-applabels:app: test-appspec:selector:app: test-appports:- protocol: TCPport: 8080targetPort: 8080name: test-port#定义日志收集相关配置的一个configmap---apiVersion: v1kind: ConfigMapmetadata:name: test-filebeat-configlabels:k8s-app: filebeatdata:filebeat.yml: |-filebeat.prospectors:- type: logpaths:- /logdata/*.logtail_files: truefields:pod_name: '${pod_name}'POD_IP: '${POD_IP}'setup.template.name: "app-logs"setup.template.pattern: "app-logs-*"output.elasticsearch: # 日志输出到EShosts: ["192.168.1.xx:9200","192.168.1.xxx:9200"]index: "app-logs-%{+yyyy.MM}"# deployment, 也可通过daemonset方式---apiVersion: apps/v1kind: Deploymentmetadata:name: test-appspec:replicas: 1minReadySeconds: 15 #滚动升级15s后标志pod准备就绪strategy:rollingUpdate: #replicas为2, 升级过程中pod个数在1-3个之间maxSurge: 1 #滚动升级时会先启动1个podmaxUnavailable: 1 #滚动升级时允许pod处于Unavailable的最大个数selector:matchLabels:app: test-apptemplate:metadata:labels:app: test-appspec:terminationGracePeriodSeconds: 30 #30秒内优雅关闭程序containers:- image: hub.exmaple.com/publib/filebeat:6.1.3 #提前下载下来到私有镜像库的镜像(官方的可能会被墙)name: filebeatargs: ["-c", "/opt/filebeat/filebeat.yml","-e",]env:- name: POD_IPvalueFrom:fieldRef:apiVersion: v1fieldPath: status.podIP- name: pod_namevalueFrom:fieldRef:apiVersion: v1fieldPath: metadata.namesecurityContext:runAsUser: 0resources:limits:memory: 200Mirequests:cpu: 200mmemory: 200MivolumeMounts:- name: config #将configmap的内容放到容器本地目录mountPath: /opt/filebeat/- name: datamountPath: /usr/share/filebeat/data- name: logdata #同一个pod内的两个应用共享目录logdata, 一个写一个读mountPath: /logdata- name: test-appimage: hub.example.com/service/test-service:latest #提供具体服务的app镜像ports:- containerPort: 8080volumeMounts:- name: logdata #指定挂在目录到logdatamountPath: /usr/local/tomcat/logsvolumes:- name: dataemptyDir: {}- name: logdata #定义logdata为EmptyDir类型挂载目录emptyDir: {}- name: configconfigMap:name: test-filebeat-config #使用前面定义的configmapitems:- key: filebeat.ymlpath: filebeat.yml
查看filebeat和app的运行日志
kubectl logs -ffilebeatkubectl logs -f test-app
这时可看到详细的运行日志情况,同时elasticsearch上也会新建一个app-logs-xxxx.xx的索引。
关于K8S中如何使用sidecar模式统一收集应用日志(适用所有技术语言体系)就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
日志
模式
应用
目录
升级
服务
体系
技术
语言
内容
容器
镜像
统一
个数
文件
更多
帮助
输出
运行
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网的科技
互联网电商科技
金融科技还是互联网
科技与互联网发展
奇酷互联网络科技
深圳天众互联网科技公司
农村开互联网科技讲堂
新华互联网科技2019
厦门比较好的科技互联网公司
千方科技属于互联网企业吗
畅思互联网科技
科技大学互联网
互联网科技如何创业
互联网金融科技元年
互联网科技快讯热点
上海同邻互联网科技有限公司规模
马化腾互联网科技教学
绵阳真晨互联网科技有限公司
互联网科技大会大佬
优雇互联网科技有限公司
工业互联网科技新基建
碳银互联网科技
互联网科技小额贷款
互联网高科技企业
苏州五指互联网络科技有限
江阴互联网智能科技产品进口
用友工业互联网科技发展
广州燕处互联网科技有限公司
容联科技互联网电商
恒生科技互联网指数十大成分股