filebeat采集k8s容器日志

---
apiVersion: v1
kind: ConfigMap
metadata:
name: filebeat-dom-config
namespace: ksc-cicd
data:
# 配置文件保存在ConfigMap
filebeat.yml: |-
filebeat.inputs:
- type: log
paths:
- /data/logs/*.log
# tags: ["access"]
fields_under_root: true
fields:
project: microservice
app: dom
setup.ilm.enabled: false
setup.template.name: "dom-log"
setup.template.pattern: "dom-log-*"
output.elasticsearch:
hosts: ['10.37.0.159:9200']
index: "dom-log-%{+yyyy.MM.dd}"
---
kind: Deployment
apiVersion: apps/v1
metadata:
labels:
io.kompose.service: dom
app: dom
name: dom-dom
namespace: ksc-cicd
spec:
selector:
matchLabels:
io.kompose.service: dom
app: dom
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
replicas: 1
template:
metadata:
labels:
io.kompose.service: dom
app: dom
spec:
nodeSelector:
nodetype: web
imagePullSecrets: #如果没有就去掉
- name: ksyunregistrykey
containers:
- env:
- name: TZ
value: Asia/Shanghai
image: xxxxx/dom:1.4.6
imagePullPolicy: IfNotPresent
name: dom
ports:
- containerPort: 8080
- containerPort: 9090
- containerPort: 1234
resources:
requests:
memory: "500Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "250m"
volumeMounts:
- mountPath: /data/image/
name: dom-claim0
- mountPath: /data/uploadPath/
name: dom-claim1
- mountPath: /data/logs/
name: dom-claim2
# 日志采集器容器
- name: filebeat
image: elastic/filebeat:7.9.2
args: [
"-c", "/etc/filebeat.yml",
"-e",
]
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
memory: 500Mi
securityContext:
runAsUser: 0
volumeMounts:
# 挂载filebeat配置文件
- name: filebeat-dom-config
mountPath: /etc/filebeat.yml
subPath: filebeat.yml
# 将数据卷挂载到日志目录
- name: dom-claim2
mountPath: /data/logs/
volumes:
- name: dom-claim0
hostPath:
path: /data/docker/service/data/image/
- name: dom-claim1
hostPath:
path: /data/docker/service/data/upload/
- name: dom-claim2
hostPath:
path: /data/docker/service/logs/dom/
#filebeat-config
- name: filebeat-dom-config
configMap:
name: filebeat-dom-config
---
apiVersion: v1
kind: Service
metadata:
annotations:
creationTimestamp: null
labels:
io.kompose.service: dom
name: dom
namespace: ksc-cicd
spec:
ports:
- name: "8080"
port: 8080
targetPort: 8080
- name: "9090"
port: 9090
targetPort: 9090
- name: "1234"
port: 1234
targetPort: 1234
selector:
io.kompose.service: dom
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!