K8S中如何使用sidecar模式统一收集应用日志(适用所有技术语言体系)
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章给大家介绍K8S中如何使用sidecar模式统一收集应用日志(适用所有技术语言体系),内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Filebeat可以以sidecar模式
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
惠普服务器显示英文无法启动
怀旧服服务器最高是多少
广州来聚财互联网科技
湖北通讯软件开发有哪些
服务器代码管理软件
苏州机房塔式戴尔服务器
小学生画网络安全宣传漫画图片
天津专业服务器
台球网络技术
软件开发 英语自我介绍
数据库技术三级的有效期
怎样加入科技互联网
区块链软件开发框架
机关网络安全检查总结
bis医学数据库来源
现在网络安全行业前景怎么样
网络技术专利申请条件
试题库组卷系统软件开发步骤
软件开发销售目标计划
安全风险数据库的内容
kana数据库审计设备
提供网络安全信息公示备案
郑州奕辰网络技术有限公司
用服务器搭建资源机
家庭网络存储服务器文件会丢失吗
永成网络技术有限公司苏州招聘
dayz服务器适合新手
怎么从数据库中移除
无锡软件开发价格大全
元素净化 数据库