Kubernetes Pod 容器日志采集到 Elasticsearch:最佳实践指南
为了采集 Kubernetes 集群中 Pod 容器的日志,可以使用以下步骤: \n\n1. 首先,确保你的集群中已经部署了 Elasticsearch (ES) 和 Kibana。你可以使用 Helm Chart 来安装它们,或者根据官方文档中的步骤手动部署。 \n\n2. 接下来,使用 DaemonSet 或者 Sidecar 容器在每个节点上部署一个日志采集器,如 Filebeat。Filebeat 是一个开源的轻量级日志收集器,可以将日志发送到 ES 中。你可以通过配置 Filebeat 的 Kubernetes 模块来收集 Pod 容器的日志。 \n\n3. 在 Filebeat 的配置文件中,设置 Kubernetes 模块来收集 Pod 容器的日志。你可以使用以下示例配置文件: \n\n \nfilebeat.inputs: \n- type: container \n paths: \n - /var/log/containers/*.log \n processors: \n - add_kubernetes_metadata: \n in_cluster: true \n\noutput.elasticsearch: \n hosts: ['es-host:9200'] \n \n\n在上面的配置中,/var/log/containers/*.log 是容器日志文件的路径,add_kubernetes_metadata 处理器可以添加 Kubernetes 的元数据到日志事件中,es-host:9200 是 ES 的地址。 \n\n4. 部署 Filebeat DaemonSet 或者 Sidecar 容器到 Kubernetes 集群中的每个节点。你可以使用以下示例 YAML 文件来创建 Filebeat DaemonSet: \n\nyaml \napiVersion: apps/v1 \nkind: DaemonSet \nmetadata: \n name: filebeat \nspec: \n selector: \n matchLabels: \n app: filebeat \n template: \n metadata: \n labels: \n app: filebeat \n spec: \n containers: \n - name: filebeat \n image: docker.elastic.co/beats/filebeat:7.15.1 \n volumeMounts: \n - name: varlog \n mountPath: /var/log \n - name: varlibdockercontainers \n mountPath: /var/lib/docker/containers \n readOnly: true \n - name: varlibkubelet \n mountPath: /var/lib/kubelet \n readOnly: true \n env: \n - name: NODE_NAME \n valueFrom: \n fieldRef: \n fieldPath: spec.nodeName \n - name: CLUSTER_NAME \n value: "kubernetes" \n resources: \n limits: \n memory: 200Mi \n requests: \n cpu: 100m \n memory: 100Mi \n volumes: \n - name: varlog \n hostPath: \n path: /var/log \n - name: varlibdockercontainers \n hostPath: \n path: /var/lib/docker/containers \n - name: varlibkubelet \n hostPath: \n path: /var/lib/kubelet \n \n\n在上面的示例中,将 Filebeat 容器的日志路径和 Kubernetes 相关目录挂载到容器中,以便收集日志并添加 Kubernetes 元数据。你可以根据自己的需求对 YAML 文件进行修改。 \n\n5. 部署完成后,Filebeat 将开始收集 Pod 容器的日志,并将其发送到 ES 中。你可以使用 Kibana 来搜索和可视化日志数据。 \n\n这就是使用 ES 采集 Kubernetes 集群中 Pod 容器日志的基本步骤。根据你的需求,你还可以配置更多的 Filebeat 选项和使用其他的日志收集工具。
原文地址: https://www.cveoy.top/t/topic/pGsx 著作权归作者所有。请勿转载和采集!