The Elastic Stack 简介
An overview of the Elastic Stack
什么是Elastic Stack 呢? Elastic Stack 是一组组件包含:Elastic search,Beat,APM,Kibana等
是一整套技术栈的组合。从整体视角来看分为三个部分
1. Ingest(吸入吸收)数据的吸收,个人理解就是数据的收集 我是根据单词直译的当然可能不够信达雅
2.Store 数据存储,代表技术栈是Elastic Search
3.Consume 代表消费端 如Kibana ,Elastic Search Client等
总结呢就是一套从数据的收集,到存储 再到消费数据的组合。
一、Ingest
那么官网的翻译 ,官方对Ingest的定义其实很简单,对于数据的采集或者收集是根据Elastic
Agent或者是Beats收集的。Fleet 则是对Elastic Agent 进行管理。收集详细的性能数据则采用APM,那么如果需要改变,或者说转化数据的格式,那么可以使用Elastic ingest pipeline
1.1 Fleet and Elastic Agent
Elastic Agent 是对系统日志,metrics,还有其他类型的数据进行监控的唯一的入口。还能保护主机免受安全威胁。从os中查询数据。接受外部系统的数据等。后面的不翻译了。
Fleet则是对Elastic Agent进行管理,监控,更新它的二进制数据和集成。
1.2 APM
Elastic APM 是应用程序对于性能的监控,它允许实时监控软件的服务和应用,通过对请求的响应时间,数据库查询,缓存的调用,外部的http 请求等方式收集详细的性能信息。
1.3 Beats
Beats 这里有个单词很好是shippers。翻译过来是托运的人的意思。也就是说Beats 是对于数据的托运,Beats安装到你的服务器中,然后呢发送操作数据到ES中。
Beats有很多可观测的数据场景包含 日志数据,metrics,审计数据,网络数据,可用性数据等。
1.4 Elasticsearch ingest pipelines
Ingest pipelines 允许你执行数据的转换在索引还没存储到ES中。
1.5 Logstash
Logstash 是一款支持实时数据管道处理的数据采集引擎。" 它能动态整合异构数据源,并将数据规范化处理至您指定的目标位置
"Logstash 支持丰富的输入、过滤和输出插件,并通过多种内置编解码器进一步简化数据摄取流程。"
二、Store
2.1 Elasticsearch
Elasticsearch 是分布式查询,分析引擎,是elastic stack 的核心。它提供近乎于实时的查询和分析。不论是结构化数据还是非结构化数据。数据类型的数据还是地理信息数据。Elasticsearch可以高效的存储和索引。Elasticsearch提供了REST API 它可以存储,取出数据。当然也支持查询和分析数据的能力。
三、Consume
使用Kibana 查询,可视化ES 中存储的数据。或者使用Elasticsearch clients访问在es中数据。
3.1 Kibana
Kibana是一个驾驭ES的工具并且可以管理Elastic Stack。使用它可以分析,可视化存储在es中的数据,Kibana 通常来说是es中的查询,观测,安全方案的主界面。
3.2 Elasticsearch clients
The ElasticSearch clients 提供了很方便的api机制 ,并且支持大部分的流行的开发语言。像 Java, Ruby, Go, Python, and others. Both official and community contributed clients are available.