k8s 使用filebeat收集所有容器标准输出的日志

本文详细介绍了如何在k8s集群中使用filebeat组件来收集所有容器的标准输出日志,包括filebeat的配置文件设置、日志输出的处理方式、操作案例演示,以及通过Kibana进行日志的可视化展示和验证。
摘要由CSDN通过智能技术生成

k8s-filebeat收集所有容器标准输出的日志

1. k8s-收集所有容器标准输出的日志

  • filebeat-kubernetes.yaml # 采集所有容器标准输出
  • app-log-stdout.yaml # 标准输出测试应用
  • app-log-logfile.yaml # 日志文件测试应用
1.1 filebeat-kubernetes 配置文件
  • filebeat-kubernetes采集示意图image

    • 针对标准输出:以DaemonSet方式在每个Node上部署一个日志收集程序,采集/var/lib/docker/containers/目录下所有容器日志
  • 示例filebeat-kubernetes.yaml配置文件

    ---
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: filebeat-config
      namespace: ops
      labels:
        k8s-app: filebeat
    data:
      filebeat.yml: |-
        filebeat.config:
          inputs:
            # Mounted `filebeat-inputs` configmap:
            path: ${path.config}/inputs.d/*.yml
            # Reload inputs configs as they change:
            reload.enabled: false
          modules:
            path: ${path.config}/modules.d/*.yml
            # Reload module configs as they change:
            reload.enabled: false
    
        output.elasticsearch:
          hosts: ['49.65.125.91:9200']
    ---
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: filebeat-inputs
      namespace: ops
      labels:
        k8s-app: filebeat
    data:
      kubernetes.yml: |-
        - type: docker
          containers.ids:
          - "*"
          processors:
            - add_kubernetes_metadata:
                in_cluster: true
    ---
    apiVersion: apps/v1 
    kind: DaemonSet
    metadata:
      name: filebeat
      namespace: ops
      labels:
        k8s-app: filebeat
    spec:
      selector:
        matchLabels:
          k8s-app: filebeat
      template:
        metadata:
          labels:
            k8s-app: filebeat
        spec:
          serviceAccountName: filebeat
          terminationGracePeriodSeconds: 30
          containers:
          - name: filebeat
            image: elastic/filebeat:7.9.2
            args: [
              "-c", "/etc/filebeat.yml",
              "-e",
            ]
            securityContext:
              runAsUser: 0
              # If using Red Hat OpenShift uncomment this:
              #privileged: true
            resources:
              limits:
                memory: 200Mi
              requests:
                cpu: 100m
                memory: 100Mi
            volumeMounts:
            - name: config
              mountPath: /etc/filebeat.yml
              readOnly: true
              subPath: filebeat.yml
            - name: inputs
              mountPath: /usr/share/filebeat/inputs.d
              readOnly: true
            - name: data
              mountPath:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值