在kubernetes中,tomcat catalina.log被收集到标准输出中,但是localhost_access_log.txt被输出到pod中的文件。kubernetes日志驱动如何采集访问日志?我当前正在使用filebeat
发布于 2020-04-15 22:41:02
使用tomcat将filebeat部署为sidecar,并创建由tomcat和filebeat容器共享的卷挂载。filebeat容器可以从共享卷挂载中读取tomcat容器创建的日志文件。
apiVersion: apps/v1
kind: Deployment
metadata:
name: tomcat
labels:
app: tomcat
spec:
replicas: 1
selector:
matchLabels:
app: tomcat
template:
metadata:
labels:
app: tomcat
spec:
containers:
- name: filebeat-sidecar
image: docker.elastic.co/beats/filebeat:7.5.0
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- name: NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
volumeMounts:
- name: logs-volume
mountPath: /usr/local/tomcat/logs
- name: filebeat-config
mountPath: /usr/share/filebeat/filebeat.yml
subPath: filebeat.yml
- name: tomcat
image: tomcat
ports:
- containerPort: 8080
volumeMounts:
- name: logs-volume
mountPath: /usr/local/tomcat/logs
securityContext:
fsGroup: 1000
volumes:
- name: logs-volume
emptyDir: {}
- name: filebeat-config
configMap:
name: filebeat-sidecar-config
items:
- key: filebeat.yml
path: filebeat.ymlhttps://capstonec.com/2019/12/16/getting-tomcat-logs-from-kubernetes-pods/
https://stackoverflow.com/questions/61231156
复制相似问题