filebeat收集k8日志

  


Filebeat是用于转发和集中日志数据的轻量级传送程序。作为服务器上的代理安装,Filebeat监视您指定的日志文件或位置,收集日志事件,并将其转发给[Elasticsearch]或[Logstash]进行索引。

Filebeat的工作方式如下:启动Filebeat时,它将启动一个或多个输入,这些输入将在为日志数据指定的位置中查找。对于Filebeat所找到的每个日志,Filebeat都会启动收集器。每个收割机都读取单个日志以获

取新内容,并将新日志数据发送到libbeat, libbeat将聚集事件并将聚集的数据发送到为Filebeat配置的输出。

 Filebeat收集k8日志


将Filebeat部署为DaemonSet,以确保集群的每个节点上都有一个正在运行的实例.Docker日志主机文件夹(/var/lib/码头工人/容器)安装在Filebeat容器上.Filebeat会开始输入文件,并在文件出现在

文件夹中后立即开始收集它们。

这里使用官方提供的方式部署:

curl - l - o https://raw.githubusercontent.com/elastic/beats/7.5/deploy/kubernetes/filebeat-kubernetes.yaml


默认情况下,Filebeat将事件发送到现有的Elasticsearch部署(如果存在)。要指定其他目标,请在清单文件中更改以下参数:

env:   ——名称:ELASTICSEARCH_HOST   价值:elasticsearch   ——名称:ELASTICSEARCH_PORT   价值:“9200”   ——名称:ELASTICSEARCH_USERNAME   价值:弹性   ——名称:ELASTICSEARCH_PASSWORD   价值:changeme   ——名称:ELASTIC_CLOUD_ID   值:   ——名称:ELASTIC_CLOUD_AUTH   价值:

- - - - - -   apiVersion: v1   :ConfigMap   元数据:   名称:filebeat-config   名称空间:kube-system   标签:   k8s-app: filebeat   数据:   filebeat。yml: | -   filebeat.config:   输入:   #安装“filebeat-inputs configmap”:   路径:$ {path.config}/inputs.d/* .yml   #重载时输入配置变化:   重新加载。启用:假   模块:   路径:$ {path.config}/modules.d/* .yml   #重新加载模块配置改变时:   重新加载。启用:假      # autodiscover启用提示,删除“filebeat.config。输入的配置和取消:   # filebeat.autodiscover:   #提供者:   # -类型:kubernetes   #提示。启用:真      处理器:   - add_cloud_metadata:      #云。id: $ {ELASTIC_CLOUD_ID}   #云。身份验证:$ {ELASTIC_CLOUD_AUTH}      # output.elasticsearch:   #主机:[' $ {ELASTICSEARCH_HOST: elasticsearch}: $ {ELASTICSEARCH_PORT: 9200}’)   用户名:$ {ELASTICSEARCH_USERNAME}   #密码:$ {ELASTICSEARCH_PASSWORD}   output.logstash:   主机(“192.168.0.104:5044”):   ---   apiVersion: v1   :ConfigMap   元数据:   名称:filebeat-inputs   名称空间:kube-system   标签:   k8s-app: filebeat   数据:   kubernetes。yml: | -   类型:日志#设置类型为日志   道路:   ——/var/lib/docker/containers/*/*.log   #字段:   #应用:美丽   #类型:docker-log   fields_under_root:真   json。keys_under_root:真   json。overwrite_keys:真   utf - 8编码:   字段。sourceType: docker-log #索引名格式   ---/v1beta1 apiVersion:扩展   :DaemonSet   元数据:   名称:filebeat   名称空间:kube-system   标签:   k8s-app: filebeat   规范:   模板:   元数据:   标签:   k8s-app: filebeat   规范:   serviceAccountName: filebeat   terminationGracePeriodSeconds: 30   容器:   ——名称:filebeat   图片:docker.elastic.co/比/filebeat: 6.5.4 #提前准备好镜像,需要* * *下载   args:(   “c”、“/etc/filebeat.yml”,   “e”,   ]   securityContext:   runAsUser: 0   #如果使用Red Hat OpenShift取消:   #特权:真   资源:   限制:   内存:200米   请求:   cpu: 100   内存:100米   volumeMounts:   ——名称:配置   mountPath:/etc/filebeat.yml   只读的:真   子路径:filebeat.yml   ——名称:输入   mountPath:/usr/share/filebeat/inputs.d   只读的:真   名称:数据   mountPath:/usr/share/filebeat/data   ——名称:varlibdockercontainers   mountPath:/var/lib/docker/containers   只读的:真   卷:   ——名称:配置   configMap:   defaultMode: 0600   名称:filebeat-config   ——名称:varlibdockercontainers   hostPath:   路径:/var/lib/docker/containers   ——名称:输入   configMap:   defaultMode: 0600   名称:filebeat-inputs   #数据文件夹存储读取状态为所有文件的注册表,所以我们不要再发送一切alt=" filebeat收集k8日志">

filebeat收集k8日志