ES 轻量级事件收集器 Beats

ELK 不知道大家了不了解,他是 Elasticsearch、Logstash、Kibana 的简称,其中 Elasticsearch 是一个搜索分析引擎,Logstash 是收集过滤日志的工具,而 Kibana 则是一个 Web 图形界面工具,配套 Elasticsearch 使用很方面的制作出精美的图表,很多的公司都使用 ELK 作为日志收集和分析系统,搭建非常的方便。

同时也不只是用来做日志收集系统, EK 组合也被用来很多其他的用途,比如单纯的搜索、或者监控数据的存储等等。

今天要推荐的项目 elastic/beats,它是一个更好去发挥 EK 作用的组件,是一个轻量级的数据收集工具,通过部署在你的服务器,能够很容易的收集机器上的多种数据发送到 ES 中,包括日志、监控数据、网络数据包等等。项目名称叫 Beats 也很有寓意,跳动心跳的意思,这些数据的每一次跳动都暗含了某一种趋势,通过 Kibana 可以很方便的可视化这些趋势。

该项目中包括了很多类型的 Beat(事件) 收集工具:

Beat 说明
Auditbeat 收集 Linux 的审计日志
Filebeat 通过文件收集日志
Functionbeat 收集 serverless 基础框架中的事件
Heartbeat 通过 Ping 其他服务的日志
Journalbeat 收集 Journald 的日志
Metricbeat 收集操作系统和服务的监控指标数据
Packetbeat 监控网络数据包
Winlogbeat 收集 Windows 的系统事件日志

上述这些 Beat 都是通过 Go 语言编写的,借助 Go 的编译特性,编译成二进制包,可以无依赖很方便的部署到你使用的服务器上,同时也只会占用你很少的系统资源。当然你可以借鉴上面的工具,自己编写自己的 Beat 收集工具,同时开源同仁们可以开发了各种不同的 Beat,参考:https://www.elastic.co/guide/en/beats/libbeat/master/community-beats.html

是不是觉得通过使用 EK 做为基础,我们可以在上面做很多的事情?

项目地址:https://github.com/elastic/beats


更多精彩请扫码关注如下公众号。

Written on October 13, 2019