В kubernetes localhost_access_log.txt выводится в файл в модуле. Как мне собрать их, используя filebeat? - PullRequest
0 голосов
/ 15 апреля 2020

В kubernetes tomcat catalina.log собирается в stdout ,, но localhost_access_log.txt выводится в файл в модуле.。 Как собрать журнал доступа драйвером журнала kubernetes currently В настоящее время я использую filebeat

1 Ответ

1 голос
/ 15 апреля 2020

Разверните filebeat в качестве дополнительной машины с tomcat и создайте монтирование тома, совместно используемое как 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.yml

https://capstonec.com/getting-tomcat-logs-from-kubernetes-pods/

...