解锁 Elastic 最新的数据采集模块 - Ingest manager 和 Elastic Agent
文章目录
- 以后再也不用安装安装 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+ 社区制造的Beats
- 50+ 模块
虽然通过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。
- 配置Elasticsearch安全性。设置
在您的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安全性。设置
通过以上配置,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版本离我们也不会太远了
解锁 Elastic 最新的数据采集模块 - Ingest manager 和 Elastic Agent相关推荐
- 02 电商数仓(数据采集模块)
电商数仓(数据采集模块) 写在前面:本文是我在学习电商数仓项目的过程中,对相关知识点的记录与总结. 文章目录 电商数仓(数据采集模块) 1. Hadoop 安装 1.1 安装 Hadoop 1.2 H ...
- 2023版最新最强大数据面试宝典
此套面试题来自于各大厂的真实面试题及常问的知识点,如果能理解吃透这些问题,你的大数据能力将会大大提升,进入大厂指日可待! 目前已经更新到第4版,广受好评! 复习大数据面试题,看这一套就够了! 前言 此 ...
- 计算机考级各省份难度,2018年全国各省份高考难度排名,基于高分率最新统计数据!...
很多人都在提高考难度,高考难度并不是指的是试卷难度,而是指的是重点大学的录取率.而由于当前高考采取的是分省录取的方式,这就意味着你要和本省的学生来比拼,想考取重点大学就要比别的同学考取更多的分数,毕竟 ...
- python多进程通信manager_python中进程间数据通讯模块multiprocessing.Manager的介绍
本篇文章给大家带来的内容是关于python中进程间数据通讯模块multiprocessing.Manager的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 目前开发中有遇到进程 ...
- bcd转ascii码 流程图_4-20mA转RS485,MODBUS数据采集模块
原标题:4-20mA转RS485,MODBUS数据采集模块 产品概述: WJ20产品实现传感器和主机之间的信号采集,用来检测模拟信号.WJ20系列产品可应用在 RS-232/485总线工业自动化控制系 ...
- 动易SiteFactory数据采集模块
动易这套系统的数据采集模块,是基于.Net2.0开发的,里用到了Asp.net Ajax,WebService,线程序等技术. 具体实现思路是: 数据采集类PowerEasy.Collectio ...
- ad7606中文资料_16位ADC数据采集模块AD7606(原理图、中文数据手册、例程等)
AD7606 数据采集模块,16位ADC,8通道同时200KHz频率采集,每秒8*200K样本.SPI接口或8080 16位并口,可自行选择. AD7606 数据采集模块特性:使用AD7606 高精度 ...
- mysql 分组之后 取分组之后最新的数据
一.数据表设计 二.查询场景 统计每门课的考试次数.最新一次考试的时间.最新一次考试的录入成绩的老师 1.统计没门课的考试次数 #考试次数统计 select project '科目',count(pr ...
- PacBio HiFi测序介绍及百迈客最新下机数据公布
PacBio HiFi测序介绍及百迈客最新下机数据公布 百迈客生物 已认证账号 已关注 3 人赞同了该文章 众所周知,要获得基因组的完整图片,就必须组装reads,以目前主要的测序技术来看,短读长 ...
最新文章
- 同事乱用 Redis 卡爆,我真是醉了...
- Node.js process 模块常用属性和方法
- Win10 配置 TensorFlow-gpu 深度学系框架
- echarts 刻度 双y轴_ECharts 解决双Y轴刻度不一致问题
- java反射头文件_编程基础知识——C++能不能支持Java和ObjC的反射?
- tomcat的class加载的优先顺序
- 年轻人“颜值消费”崛起 分期乐联手屈臣氏发力95后美妆护理市场
- 监视器(monitor)
- 你的“数学潜意识”原来可以被唤醒
- 创建表时参数PCTFREE和PCTUSED是什么意思?
- QT与游戏手柄测试(数据与UI相连,ui界面作出反应)
- 基于易智瑞(ArcGIS)JavaScript API的视频融合探索
- 电脑软件测试英雄联盟,怎么测试电脑能不能玩英雄联盟
- 【洛谷 P5244】 [USACO19FEB]Mowing Mischief P(分治 / 决策单调性优化DP)
- TCP,UDP,IP,数据链路层头部详解
- AltiumDesigner规则设置
- 题目;我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推现在,给定两个整数n和m,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素
- Linux就业形势报告
- 中山大学自考网校招生简章
- (1-2)神经网络与深度学习 | 浅层和深层神经网络
热门文章
- ASP.NET Web程序设计 第三章 高级控件
- 呼叫中心电话客服系统搭建的种类有哪些
- 如何将pdf修改编辑
- 【数据挖掘结果】大数据企业的汇总信息
- 对称数c语言,中心对称数 - Developmer的个人空间 - OSCHINA - 中文开源技术交流社区...
- App Store 类别定义
- 魔兽UI跟随鼠标移动
- 【论文阅读】 BPR: Bayesian Personalized Ranking from Implicit Feedback
- 网易云音乐前副总裁教你如何做产品 —《幕后产品》读书笔记
- opencv之图像平移