欢迎光临
我们一直在努力

elastic基础教程,elastic系统架构

文章目录 以后再也不用安装安装 tons of beats 了!解锁Ingest manager页面先决条件 Ingest manager组件简介集成(Integrations)新的索引策略配置(Configurations)Fleet数据流(Data Streams) Elastic Agent总结

以后再也不用安装安装 tons of beats 了!

用过Elastic Stack,用过ELK的小伙伴都知道,Elastic目前提供的数据采集方案主要是基于Beats。这是一个软件族,包括了多个组件:

Beats是用Go语言编写的轻量级的数据采集群,它具有以下特点:

从多个数据源采集运行在多种终端上Docker 和 k8s支持Cloud的元数据70+ 社区制造的Beats50+ 模块

虽然通过beats,我们可以开箱即用的采集大量的数据源
但其按照意图区分多个不同软件的方式也给我们带来了不便。通常情况下,如果我们需要采集多维度的数据,就需要在一个主机上安装多个beats,比如,filebeat用于日志采集,metricbeat用于指标采集,auditbeat用于审计/安全数据的采集。客观上,从软件安装/删除,软件配置更改,软件升级等方面增加了我们对于agent的运维管理工作量。

为了解决这个问题,Elastic推出了数据摄入模块的整体解决方案,在最新发布的7.8版本上,悄悄稳重的柚子的增加了Ingest manager的功能,其中,就包含了Elastic Agent,一个将所有beats进行统一集成的方案(甚至包括了Security的endpoint终端)

并且发布了对应的使用文档。
需要注意的是,目前,这个功能还处在 实验性 阶段,Elastic 并不建议大家在生产上使用。但这并不妨碍大家先一睹为快,尝鲜反馈!

解锁Ingest manager页面 先决条件

要使用此实验版本的Ingest manager功能,您需要:

具有basic license的Elasticsearch集群和Kibana(版本7.8)。您可以 在Elastic Cloud上使用托管的Elasticsearch Service,或在您自己的硬件上安装Elastic Stack。

具有超级用户角色的用户。请参阅内置角色。

在自我管理的群集上,您必须配置安全性和加密设置。如果您在Elastic Cloud上使用托管Elasticsearch Service,则这些设置已启用。

在您的Elasticsearch配置中:

配置Elasticsearch安全性。设置 xpack.security.enabled 为true。启用内置的API密钥服务。设置 xpack.security.authc.api_key.enabled 为true。

在您的Kibana配置中:

配置Kibana安全性。设置 xpack.security.enabled 为true。配置TLS。或者,您可以通过将设置xpack.ingestManager.fleet.tlsCheckDisabled 为true来禁用TLS检查。例如,如果Kibana位于截断SSL连接的代理之后,则可能要禁用TLS检查。设置xpack.encryptedSavedObjects.encryptionKey为至少32个字符的任何字母数字值。例如: xpack.security.encryptionKey: “something_at_least_32_characters”。Fleet需要此设置才能保存API密钥并在Kibana中对其进行加密

通过以上配置,Kibana就可以在Elasticsearch中存储加密内容,以此方式来管理Elastic agent。

以下为Kibana上的Ingest manager的首页

这里包含几个关键组件:

集成(Integrations)配置(Configurations)Fleet数据流(Data Streams)注册代理(Enroll New Agent)

他们的作用如下图:

Ingest manager组件简介 集成(Integrations)

是上图的Package Manager,通过集成(Integrations),我们可以获取各种开箱即用的数据摄取工具,目前默认为用户安装了两个集成模块:

分别是Elastic Endpoint和System。他们对应的是主机的安全数据采集和资源指标数据采集。

提供的开箱即用的集成模块有:

注意,如需使用这些模块,是需要单独安装(load assets)到Elasticseach当中的。这个功能其实就是原先beats里面的enable module的功能。但区别在于,之前每个beats有各自的module,比如Nginx,filebeat有,metricbeat里面也有,而且得通过手动命令去打开:

## when filebeat stop./filebeat modules enable apache mysql## when filebeat already running./filebeat –modules nginx,mysql,system

或者修改yml配置文件:

filebeat.modules:- module: nginx- module: mysql- module: system

这里的 Nginx模块,是直接包含了日志和指标(即直接启动了filebeat和metricbeat的内容)数据的采集,同时包含了 Dashboard, Visualization 和 Saved Search

新的索引策略

我们可以对比一下,在7.8版本之前,如果我们使用filebeat和metricbeat,自动创建的索引,都是包含了数千个mapping的:

而在新的index strategy下,我们会根据安装的集成模块来添加Mapping,以此来减轻索引管理的负担

此时的索引命名规则已经更改为:

{type}-{dataset}-{namespace}

type: generic type of data (logs, metrics, trace, …) ,全观察性的三根支柱数据类型

dataset: Set of data with the same structure / mapping (nginx.access),各种数据集

namespace: Use configurable namespace (prod, testing),各种环境

配置(Configurations)

当我们通过 集成(Integrations)把对应的index mapping, Dashboard, Visualization 和 Saved Search 后,我们就可以使用配置(Configurations)来配置每个代理采集对应集成模块数据的具体细节,以Nginx模块为例,我们可以配置代理采集Nginx日志、指标的路径、内容、频率等各种细节。

并且可以针对不同的环境,不同的代理配置多份 配置(Configurations)

每个配置包含多个集成模块:

Fleet

Fleet 在英文中是车队的意思,通过Fleet,我们可以管理多个代理实例 ( 目前的Ingest manager可以管理上千个实例 )。

我们可以通过注册新代理将代理放到Fleet中进行管理。注册之后,就可以在Fleet页面为每个Agent选择对应的配置:

并且可以查看每个代理的具体活动情况:

这里再次强调,目前只是实验性功能,后续可能会有很大的功能改动和增强!

数据流(Data Streams)

当我们通过Fleet将配置下发到代理之后,代理开始采集数据,数据采集的状态会显示在数据流页面。页面上的上次活动表示的是数据采集状态的最后采样信息,始终表示的是最新的状态。数据流的大小就是数据的大小。
注意,这里的数据流是Elasticsearch中时间序列数据概念的形式化。配合V2_Template会是以后Elasticseach上索引生命周期管理的主要模式(替代之前的Alias),具体概念解释可以查看文章

Elastic Agent

Ingest Manager是Kibana上的数据摄入管理模块,而Elastic Agent是真正安装在宿主机上进行数据采集并且接受Ingest Manager管理的模块。之前被用户诟病最多的是需要同时管理多个beats。在7.8版本推出之后,我们只需要在被监控主机上安装一个Elastic Agent即可完成从指标,到日志,到Trace数据的采集。

我们可以通过注册的方式,同时将大量的agent同时注册到Ingest Manager当中

比如用Ansible:

ansible -b –become-user=root -i ./hosts all -m shell -a ‘elastic-agent enroll http://localhost:5601 NVFLS0hITUJzckszUWFUcWg0dmo6RnM3VFZ4c05TWkdJdzl2bzVMQlAyUQ==&& elastic-agent run’

关于Elastic Agent的安装,配置、管理的详细信息可以查看官方文档

总结

目前Ingest manager 和 Elastic Agent还处于一个EXPERIMENTAL状态,官方并不建议在生产上使用。在进入Beta,再到最终GA,还有很长的一段路要走。但值得期待的有两点:

Elastic持续倾听用户和社区的声音,正在往解决方案的路上快速前行,客户在使用过程中的痛点,不便都已经纳入到了产品的roadmap里面,相信未来产品会越来越好用Elastic产品保持一个极快的速度在推陈出现,相信最终的GA版本离我们也不会太远了

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。