layout | title | tags |
---|---|---|
post |
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 做为基础,我们可以在上面做很多的事情?