Filebeat 是比较轻量的日志采集工具,对于一些简单的采集任务可以直接使用 Filebeat 采集,同时也支持很多的方式输出,可以输出至 Kafka、Elasticsearch、Redis 等,下面我们来简单配置下。

首先下载好安装包,例如:filebeat-8.6.2-linux-x86_64.tar.gz

然后直接解压安装包到指定的安装位置:

tar -xvzf filebeat-8.6.2-linux-x86_64.tar.gz -C /opt
cd /opt/filebeat-8.6.2-linux-x86_64

这样我们就将 filebeat 安装到了 cd /opt/filebeat-8.6.2-linux-x86_64 下面,然后我们来简单配置一下,编辑配置文件 filebeat.yml

- type: filestream
# Unique ID among all inputs, an ID is required.
id: myprogram-filestream-id # Change to true to enable this input configuration.
enabled: true # Paths that should be crawled and fetched. Glob based paths.
paths:
- /opt/myprogram/logs/program.log
processors:
- add_fields:
target: ""
fields:
streamId: 'myprogram-filestream-id'
parsers:
- ndjson:
target: "jsonObject"
- type: filestream
id: syslog-filestream-id
enabled: true
paths:
- /var/log/messages

上面主要是关于采集的文件输入部分,可以配置多个文件流,但是每个文件流都必须有一个唯一的 id,这样方便 filebeat 通过 inode 去跟踪文件的变化,并且 paths 配置支持多个文件的目录,也就是同时监听多个文件,然后下面可以添加一些处理器,比如这里附加了一个 streamId 的字段用于在输出时知道来源,同时方便后续的检索,然后日志如果是 JSON 格式还可以配置解析方式,比如上面是 ndjson,输出的字段是 jsonObject,然后下级字段就是具体 JSON 解析的内容。第二个流是采集了系统日志,没有添加其他附加的功能。

另外还可以对日志进行简单的正则匹配或者过滤,具体可以参考文档:https://www.elastic.co/guide/en/beats/filebeat/8.6/filebeat-input-filestream.html

然后可以继续配置输出,支持多种输出,但是每次只能设置一种。

配置 Elasticsearch 如下:

output.elasticsearch:
# Array of hosts to connect to.
hosts: ["localhost:9200"] # Protocol - either `http` (default) or `https`.
protocol: "https" # Authentication credentials - either API key or username/password.
#api_key: "id:api_key"
#username: "elastic"
#password: "changeme"

配置直接输出到控制台,在调试时比较方便:

output.console:
pretty: true

还可以输出到 Redis,实际上是写入 list 类型的队列:

output.redis:
hosts: ["localhost:6379"]
password: ""
key: "filebeat"
db: 2
timeout: 5

除了上面方式还可以输出到 Logstach 方便二次处理等。

最后还可以配置一些公共的处理器,默认的内容如下:

processors:
- add_host_metadata:
when.not.contains.tags: forwarded
- add_cloud_metadata: ~
- add_docker_metadata: ~
- add_kubernetes_metadata: ~

其中 add_host_metadata 会添加很多机器本身的信息,例如网卡、操作系统、CPU 型号等,下面的分别就是采集主流云厂商、Docker 以及 k8s 的信息处理器,这些处理器可以根据需要选择,如果关掉直接注释即可,另外还可以手动添加其他的处理器,可以参考:https://www.elastic.co/guide/en/beats/filebeat/8.6/filtering-and-enhancing-data.html,处理器既可以添加到全局也可以添加到指定的 input 下面,只对特定的输入生效。

最后保存配置文件,然后尝试运行 filebeat:

./filebeat -e

运行后从已配置的输出查看具体的内容即可。

Reference:

1. https://www.elastic.co/guide/en/beats/filebeat/8.6/filebeat-overview.html

Filebeat 日志采集工具安装的更多相关文章

  1. Filebeat轻量级日志采集工具

    Beats 平台集合了多种单一用途数据采集器.这些采集器安装后可用作轻量型代理,从成百上千或成千上万台机器向 Logstash 或 Elasticsearch 发送数据. 一.架构图 此次试验基于前几 ...

  2. 【RSYSLOG】rsyslog作为日志采集器安装配置说明

    RSYSLOG is the rocket-fast system for log processing. About 由于环境基于CentOS 6.7 x64,rsyslog本身就是OS的组件,由于 ...

  3. flume 日志采集工具

    Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并 ...

  4. logstash日志采集工具的安装部署

    1.从官网下载安装包,并通过Xftp5上传到机器集群上 下载logstash-6.2.3.tar.gz版本,并通过Xftp5上传到hadoop机器集群的第一个节点node1上的/opt/uploads ...

  5. 日志采集工具Flume的安装与使用方法

    安装Flume,参考厦门大学林子雨教程:http://dblab.xmu.edu.cn/blog/1102/ 并完成案例1 1.案例1:Avro source Avro可以发送一个给定的文件给Flum ...

  6. Filebeat 日志收集器 安装和配置

    Filebeat的配置文件是/etc/filebeat/filebeat.yml,遵循YAML语法.具体可以配置如下几个项目: Filebeat Output Shipper Logging(可选) ...

  7. 自建Kubernetes logtail日志采集客户端安装方式

    自建Kubernetes安装方式 前提条件 Kubernetes集群版本1.8及以上. 已经安装Helm命令,版本2.6.4及以上. 安装步骤 在日志服务控制台创建一个Project,Project名 ...

  8. mysql 慢查询日志 pt-query-digest 工具安装

    介绍:pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump ...

  9. (七)日志采集工具sleuth--分布式链路跟踪(zipkin)

    微服务架构上通过业务来划分服务的,通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败.随着业务的不断 ...

  10. scribe日志分析工具安装

    系统CentOS6.2 x86_64 1.yum安装gcc,flex,m4,python/python-devel,ruby,libevent/libevent-devel,openssl/opens ...

随机推荐

  1. 如何使用疯狂URL获取抖音推流码地址(抖音推流码地址获取教程)

    本节所用到的工具:疯狂URL.OBS推流工具 什么是推流地址? 平时我们如果是下载直播,叫拉流.但如果是你自己要直播,属于上传直播流数据,叫推流,即:把直播流数据推送到视频服务器,然后别人才能看到直播 ...

  2. vscode 两种定位跳转的方法 ctrl+p 方法1 path:行号 方法2 #变量名 - 针对$store变量不好找的方案 方法1可以备注在代码里面

    vscode 两种定位跳转的方法 ctrl+p 方法1 path:行号 方法2 #变量名 - 针对$store变量不好找的方案 方法1可以备注在代码里面 问题 $store的变量不能跳转,有跳转插件也 ...

  3. 【VMware vSAN】全新vSAN 8 ESA快速存储架构配置文件服务并创建文件共享。

    早在2020年,VMware就发布了vSphere7.vSAN7.VCF4等等产品的更新,当时随着云原生的火热,基于容器技术的现代应用程序快速发展,Docker.Kubernetes这些容器平台被广泛 ...

  4. Linux 上 libcurl库 curl_easy_perform Crash(signal 11 - SIGSEGV)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  5. Kubernetes客户端认证(三)—— Kubernetes使用CertificateSigningRequest方式签发客户端证书

    1.概述 在<Kubernetes客户端认证(一)-- 基于CA证书的双向认证方式>和<Kubernetes客户端认证(二)-- 基于ServiceAccount的JWTToken认 ...

  6. 鸿蒙HarmonyOS实战-ArkUI组件(List)

    一.List 1.概述 列表是一种非常有用且功能强大的容器,它常用于呈现同类型或多类型数据集合,例如图片.文本.音乐.通讯录.购物清单等.列表对于显示大量内容而不耗费过多空间和内存是非常有帮助的,因为 ...

  7. SQL日期操作函数(CONCAT、DATE_FORMAT、LAST_DAY)

    获取某月底日期:SELECT LAST_DAY('2021-07-01') AS month_end_date; 拼接年月格式: CONCAT(DATE_FORMAT(hp.planned_payme ...

  8. ET介绍——事件机制EventSystem

    事件机制EventSystem ECS最重要的特性一是数据跟逻辑分离,二是数据驱动逻辑.什么是数据驱动逻辑呢?不太好理解,我们举个例子 一个moba游戏,英雄都有血条,血条会在人物头上显示,也会在左上 ...

  9. 12 JavaScript 关于eval函数

    12 eval函数 eval本身在js里面正常情况下使用的并不多. 但是很多网站会利用eval的特性来完成反爬操作. 我们来看看eval是个什么鬼? 从功能上讲, eval非常简单. 它和python ...

  10. #BFS,二进制#CF1776J Italian Data Centers

    洛谷题面 CF1776J 分析 将原图的点所拆开的点按二进制编号,那么同一个点之间连边当且仅当恰好一个二进制位不同, 不同点之间连边颜色相同则其二进制相同,否则完全相反. 可以钦定起点就是 \((x, ...