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