1.ElasticStack是什么:
Elastic Stack是在ELK的基础上发展而来的,下面我们先介绍下ELK,然后再介绍ElasticStack中的各个成员
1.1.ELK是什么:
- 1.ELK是一个免费开源的日志分析架构技术栈总称,包含三大基础组件,分别是
Elasticsearch、Logstash、Kibana
。 - 2.ELK不仅适用于日志分析,还支持其它任何数据搜索、分析和收集的场景,如日志分析和收集只是更具有代表性,并非唯一性。
- 3.下图是ELK架构:ELK是包含Elasticsearch(简称es)、Logstash、Kibana 三个开源软件的组成的一个整体。用于
数据抽取(Logstash)、搜索分析(Elasticsearch)、数据展现(Kibana)
的一整套解决方案
1.2.ElasticStack是什么:
- 1.随ELK的发展,又有新成员
Beats、elastic cloud
的加入,所以就Elastic Stack
的概念就出现了
2.Elastic Stack组件介绍
a.Elasticsearch:
- Elasticsearch 是使用java开发,基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。它的特点有:
分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载
等。
b.Logstash:
- Logstash 基于java开发,是一个
数据抽取转化工具
。一般工作方式为c/s架构,client端安装在需要收集信息的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch或其他组件上去。
c.Kibana
- Kibana 基于nodejs,也是一个开源和免费的
可视化工具
。Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以汇总、分析和搜索重要数据日志。
Elasticsearch + Logstash + Kibana说明
:
d.Beats:
- Beats 平台集合了多种单一用途
数据采集器
。它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据。 - Beats由如下
组成
:Packetbeat
:轻量型网络数据采集器
,用于深挖网线上传输的数据,了解应用程序动态。Packetbeat 是一款轻量型网络数据包分析器,能够将数据发送至 Logstash 或 Elasticsearch。其支 持ICMP (v4 and v6)、DNS、HTTP、Mysql、PostgreSQL、Redis、MongoDB、Memcache等协议。Filebeat
:轻量型日志采集器
。当面对成百上千、甚至成千上万的服务器、虚拟机和容器生成的日志时,Filebeat 将提供一种轻量型方法,用于转发和汇总日志与文件,让简单的事情不再繁杂。Metricbeat
:轻量型指标采集器
。Metricbeat 能够以一种轻量型的方式,输送各种系统和服务统计数据,从 CPU 到内存,从 Redis 到 Nginx等。可定期获取外部系统的监控指标信息,其可以监控、收集 Apache http、HAProxy、MongoDB、MySQL、Nginx、PostgreSQL、Redis、System、Zookeeper等服务。Winlogbeat
:轻量型Windows 事件日志采集器
。用于密切监控基于 Windows 的基础设施上发生的事件。Winlogbeat 能够以一种轻量型的方式,将 Windows 事件日志实时地流式传输至 Elasticsearch 和 Logstash。Auditbeat
:轻量型审计日志采集器
。收集Linux 审计框架的数据,监控文件完整性。Auditbeat实时采集这些事件,然后发送到 Elastic Stack 其他部分做进一步分析。Heartbeat
:面向运行状态监测的轻量型采集器
。通过主动探测来监测服务的可用性。通过给定 URL 列表,Heartbeat 仅仅询问:网站运行正常吗?Heartbeat 会将此信息和响应时间发送至 Elastic 的其他部分,以进行进一步分析Functionbeat
:面向云端数据的无服务器采集器
。在作为一项功能部署在云服务提供商的功能即服务 (FaaS) 平台上后,Functionbeat 即能收集、传送并监测来自您的云服务的相关数据。
e.Elastic cloud:
- 基于 Elasticsearch 的软件即服务(SaaS)解决方案。通过 Elastic 的官方合作伙伴使用托管的 Elasticsearch 服务