如何将数据从 AWS S3 导入到 Elastic Cloud - 第 2 部分:Elastic Agent
作者:来自 Elastic Hemendra Singh Lodhi
了解将数据从 AWS S3 提取到 Elastic Cloud 的不同选项。
这是多部分博客系列的第二部分,探讨了将数据从 AWS S3 提取到 Elastic Cloud 的不同选项。
在本博客中,我们将了解如何使用 Elastic Agent 从 AWS S3 提取数据。
注 1:请查看第 1 部分中的不同选项比较:Elastic Serverless Forwarder
注 2:Elastic Cloud 部署是遵循下述步骤的先决条件。
Elastic Cloud
查看博客系列第 1 部分:Elastic Serverless Forwarder,了解如何开始使用 Elastic Cloud。如果你已经有活跃的部署,请跳过此部分。
Elastic Agent
从 AWS S3 提取数据的另一种选择是使用 Elastic Agent。Elastic Agent 是一种提取日志、指标等数据的单一、统一方法。Elastic Agent 安装在 EC2 等实例上,使用集成可以连接到 AWS 服务(如 S3),并将数据转发到 Elasticsearch。
Elastic Agent 工作原理概述:
- 创建类似于清单文件的策略,包含代理说明。
- 在策略中添加集成,这些集成本质上是包含配置、映射、仪表板等资产的模块。
- 代理安装时会遵循所需的策略。
- 代理将根据集成执行提取操作。
功能
- 同时发送日志和指标
- 支持通过 AWS PrivateLink 进行数据传输
- 支持所有集成,并且可以使用 Fleet 管理代理(Elastic Cloud 默认提供)
- 需要安装和维护代理,并且没有自动扩展。使用 Fleet 可以简化代理维护。
- 开箱即用,性能良好,可以配置性能参数以使用性能预设。可以根据数据类型和提取要求使用预设。有关 Fleet 服务器可扩展性的更多信息,请点击此处
- 成本是用于 agent 安装和 SQS 通知的 EC2 实例
数据流
基于 Elastic 代理的数据提取的高级数据流:
- VPC 流日志配置为写入 S3 存储桶
- 一旦日志写入 S3 存储桶,S3 事件通知就会发送到 SQS
- Elastic 代理轮询 SQS 队列以获取新消息。根据消息中的元数据,它从 S3 存储桶读取日志数据并将其发送到 Elasticsearch
- 建议使用 SQS 以提高性能,以便代理可以只读取 S3 存储桶中新更新的对象,而不是每次轮询整个存储桶
设置
对于步骤 (1)-(2),请按照第 1 部分:Elastic Serverless Forwarder 中的详细信息进行操作:
1)创建 S3 Bucket 来存储 VPC 流日志
2)启用 VPC 流日志并发送到上面创建的 S3 Bucket
3)使用默认设置创建 SQS 队列
注意:在与 S3 Bucket 相同的区域中创建 SQS 队列
提供队列名称 sqs-vpc-flow-logs-elastic-agent 并保留其他设置作为默认设置:
更新 SQS 访问策略(Advanced)以允许 s3 存储桶向 SQS 队列发送通知。将 account-id 替换为你的 AWS 帐户 ID。保留其他选项的默认设置。
在这里,我们指定 S3 从 S3 存储桶向 SQS 队列 (ARN) 发送消息:
{"Version": "2012-10-17","Id": "example-ID","Statement": [{"Sid": "example-statement-ID","Effect": "Allow","Principal": {"Service": "s3.amazonaws.com"},"Action": "SQS:SendMessage","Resource": "arn:aws:sqs:ap-southeast-2:<account-id>:sqs-vpc-flow-logs-elastic-agent","Condition": {"StringEquals": {"aws:SourceAccount": "<account-id>"},"ArnLike": {"aws:SourceArn": "arn:aws:s3:::s3-vpc-flow-logs-elastic"}}}]}
请记下队列设置下的详细信息中的 SQS URL:
4)在 S3 存储桶中启用 VPC 流日志事件通知
转到 S3 存储桶 s3-vpc-flow-logs-elastic -> Properties 并创建事件通知
提供名称以及你想要触发 SQS 的事件类型。在将任何对象添加到存储桶时,我们已 object create:
选择目标为 SQS queue 并选择 sqs-vpc-flow-logs-elastic-agent:
保存后,配置将如下所示:
确认 VPC 流日志已发布在 S3 存储桶中:
确认 S3 事件通知已发送到 SQS 队列:
5) 在 EC2 实例上安装 Elastic Agent
启动 EC2 实例
要获取安装命令,请转到:
Kibana -> Fleet -> Add Agent
创建新的代理策略 aws-vpc-flow-logs-s3-policy 并单击 “Create Policy”。
创建策略后,复制安装 Elastic Agent 的说明。其他设置保留默认设置:
登录 EC2 实例并运行命令:
[root@ip-xxx-xx-xx-xxx ~]# curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.14.3-linux-x86_64.tar.gztar xzvf elastic-agent-8.14.3-linux-x86_64.tar.gzcd elastic-agent-8.14.3-linux-x86_64sudo ./elastic-agent install --url=https://xxxxxxxxxxx.fleet.ap-southeast-2.aws.found.io:443 --enrollment-token= xxxxxxxxxxx% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 327M 100 327M 0 0 5068k 0 0:01:06 0:01:06 --:--:-- 5065kelastic-agent-8.14.3-linux-x86_64/manifest.yamlelastic-agent-8.14.3-linux-x86_64/data/elastic-agent-2df2c1/elastic-agent..........................Elastic Agent will be installed at /opt/Elastic/Agent and will run as a service. Do you want to continue? [Y/n]:Y[= ] Service Started [0s] Elastic Agent successfully installed, starting enrollment.[== ] Waiting For Enroll... [1s] {"log.level":"info","@timestamp":"2024-09-03T03:43:40.209Z","log.origin":{"file.name":"cmd/enroll_cmd.go","file.line":517},"message":"Starting enrollment to URL: https://xxxxxxxxxxx.fleet.ap-southeast-2.aws.found.io:443/","ecs.version":"1.6.0"}[ ==] Waiting For Enroll... [2s] {"log.level":"info","@timestamp":"2024-09-03T03:43:41.396Z","log.origin":{"file.name":"cmd/enroll_cmd.go","file.line":480},"message":"Restarting agent daemon, attempt 0","ecs.version":"1.6.0"}[ ===] Waiting For Enroll... [2s] {"log.level":"info","@timestamp":"2024-09-03T03:43:41.448Z","log.origin":{"file.name":"cmd/enroll_cmd.go","file.line":298},"message":"Successfully triggered restart on running Elastic Agent.","ecs.version":"1.6.0"}Successfully enrolled the Elastic Agent.[ ===] Done [2s] Elastic Agent has been successfully installed.
成功完成后,状态将在机队页面上更新:
使用 aws 集成更新策略 aws-vpc-flow-logs-s3-policy。这会将 aws 集成配置推送到订阅此策略的代理。有关 fleet 和 agent 如何协同工作的更多信息,请参见此处。
Kibana -> Fleet -> Agent policies.。选择策略 aws-vpc-flow-logs-s3-policy 并单击 Add integration。这将带你进入集成页面搜索 AWS 集成。如果你想监控多个 AWS 服务,最好选择 AWS 集成:
提供 AWS 访问密钥 ID 和秘密访问密钥进行身份验证,并允许 Elastic Agent 从 AWS 服务读取。还有其他可用的身份验证选项。详情请见此处。命名空间选项用于根据环境或任何其他标识符隔离数据:
关闭 other services 并使用 Collect VPC flow logs from S3。更新先前复制的 S3 存储桶和 SQS 队列 URL。保留 advance settings 作为默认设置:
向下滚动并单击 Existing hosts 选项,因为我们已经安装了代理并选择策略 aws-vpc-flow-logs-s3-policy。保存并继续。这会将配置的集成推送到 Elastic Agent:
转到 Kibana -> Fleet -> Agent policies,策略 aws-vpc-flow-logs-s3-policy 已使用 AWS 集成进行更新。
几分钟后,你可以验证流日志是否已从 S3 提取到 Elastic。转到 Kibana -> Discover:
6)在 Kibana 仪表板中监控 VPC 流日志
集成附带仪表板等资产,这些资产是为常见用例预先构建的。转到 Kibana -> Dashboard 并搜索 VPC Flow logs:
更多仪表板!
正如承诺的那样,这里有一些仪表板,它们可以帮助使用 Elastic 代理提取方法监控我们设置中使用的 AWS 服务。这将有助于跟踪使用情况并有助于优化。
我们将使用 Elastic Agent 数据提取选项中使用的相同设置来配置设置和填充仪表板。
转到 Kibana -> Fleet -> aws-vpc-flow-logs-s3-policy 。选择 AWS integration 并切换到所需的服务并填写详细信息。
一些有趣的仪表板:
注意:所有仪表板都可以在 Kibana->Analytics->Dashboards 下找到
[Metrics AWS] Lambda Overview
如果你已使用 Elastic Serverless Forwarder 实现提取,则可以使用此仪表板跟踪 AWS Lambda 指标。它主要显示 Lambda 函数持续时间、错误和任何函数限制:
[Metrics
AWS] S3 Overview
此仪表板概述了 S3 的使用情况,并有助于监控存储桶大小、对象数量等。通过跟踪陈旧的存储桶和对象,这可以帮助优化 S3 的使用情况:
[Logs AWS] S3 Server Access Log Overview
此仪表板显示 S3 服务器访问日志,并提供对存储桶发出的请求的详细记录。这在安全和访问审计中很有用,还有助于了解用户如何访问你的 S3 存储桶和对象:
[Metrics AWS] Usage Overview
此仪表板显示 AWS 服务的一般使用情况,并突出显示针对 AWS 服务的 API 使用情况。这有助于了解服务使用情况和潜在优化:
[Metrics AWS] Billing Overview
该仪表板显示服务的计费使用情况,并帮助监控服务花费了多少钱:
[Metrics AWS] SQS
Overview
此仪表板显示 SQS 队列利用率,显示已发送、已接收的消息以及发送消息的任何延迟。这对于监控 SQS 队列是否存在任何问题非常重要,因为它是架构中的一个重要组件。SQS 的任何问题都可能导致数据提取延迟:
[Metrics AWS] EC2
Overview
如果你使用 Elastic 代理提取方法,则可以监视托管 Elastic 代理的 EC2 实例的 CPU、内存、磁盘等的利用率,这在流量负载较高时有助于确定实例的大小。这也可以用于你的其他 EC2 实例:
[Elastic Agent] S3 Input Metrics
此仪表板显示了 Elastic 代理的详细利用率,展示了 Elastic 代理如何处理 S3 输入以及监控与 SQS 和 S3 的交互。仪表板显示了 Elastic 代理在读取 SQS 消息和 S3 对象并将其转发到 Elasticsearch 时的聚合指标。结合 [Metrics AWS] EC2 Overview 仪表板,这可以帮助了解 EC2 和 Elastic 代理的利用率,并可能有助于扩展这些组件:
结论
Elasticsearch 提供了多种选项,可将数据从 AWS S3 同步到 Elasticsearch 部署中。在本演练中,我们演示了实现 Elastic Agent 提取选项并利用 Elastic 业界领先的搜索功能相对容易。
在本系列的第 3 部分中,我们将深入探讨使用 Elastic S3 Native Connector 作为提取 AWS S3 数据的另一种选择。
不要忘记查看本系列的第 1 部分:Elastic Serverless Forwarder。
你可以使用来自任何来源的数据构建搜索。查看此网络研讨会以了解 Elasticsearch 支持的不同连接器和来源。
准备好自己尝试一下了吗?开始免费试用。
原文:How to ingest data from AWS S3 into Elastic Cloud - Part 2 : Elastic Agent - Search Labs
相关文章:

如何将数据从 AWS S3 导入到 Elastic Cloud - 第 2 部分:Elastic Agent
作者:来自 Elastic Hemendra Singh Lodhi 了解将数据从 AWS S3 提取到 Elastic Cloud 的不同选项。 这是多部分博客系列的第二部分,探讨了将数据从 AWS S3 提取到 Elastic Cloud 的不同选项。 在本博客中,我们将了解如何使用 Elastic Agent…...

DTL698电表数据 转 profinet IO协议项目案例
目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关 2 5 用PROFINET IO协议转发数据 4 6 其他说明 6 7 案例总结 7 1 案例说明 设置网关采集DLT698电表数据数据把采集的数据转成profinet IO协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协议转…...

CSS @规则(At-rules)系列详解___@font-face规则使用方法
CSS 规则(At-rules)系列详解 ___font-face规则使用方法 本文目录: 零、时光宝盒 一、CSSfont-face规则定义和用法 二、font-face语法 三、font-face使用方法例子 3.1、指定一种字体 3.2、font-face 里添加文本的描述符 3.3、设置多个 font-face 规则。 3.4…...

如何通过CDN优化网站服务器访问速度?
CDN,即内容分发网络(Content Delivery Network),在现代互联网中起着重要作用。它可以显著提升网站服务器的访问速度。以下是CDN在加速网站访问方面的主要优势及其工作原理。 1. 全球分布的服务器节点 CDN通过在全球范围内布设多个…...

JAVA学习-练习试用Java实现“自定义函数之字符反转”
问题: 写一函数,使输入的一个字符串按反序存放,在主函数中输入并输出反序后的字符串(不包含空格)。 示例 :输入一行字符123456abcdef,输出逆序后的字符串fedcba654321。 解答思路: …...

大衍数列——考研408考试科目之数据算法——未来之窗学习通
一、大衍数列 中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。 它的前几项是:0、2、4、8、12、18、24、32、40、50 … 其规律是:对偶数项,是序号平方再除2,奇数项,是…...

JVM(HotSpot):直接内存及其使用建议
文章目录 一、什么是直接内存?二、特点三、使用案例四、直接内存的管理 一、什么是直接内存? Direct Memory:系统内存 普通IO,运行原理图 磁盘到系统内存,系统内存到jvm内存。 NIO,运行原理图 划分了一块…...

centos7安装mysql5.7
1. 更新系统软件包 首先,确保您的系统是最新的。打开终端并运行: sudo yum update -y 2. 安装MySQL 5.7的YUM仓库 MySQL提供了自己的YUM仓库,您可以通过下载并安装官方提供的RPM包来添加这个仓库。 wget https://dev.mysql.com/get/mysql57-c…...

如何在JVS逻辑引擎中巧妙运用包含查询功能?
在实际业务场景中,数据查询是不可或缺的一环,包含查询在实际业务场景中经常用到,被广泛应用于各类业务系统中。当我们需要查询状态为指定几种状态的数据时,类似SQL语句中的IN查询就显得尤为重要。为了满足这一需求,在J…...

Spring Boot视频网站:安全与可扩展性设计
4 系统设计 4.1系统概要设计 视频网站系统并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的B/S结构,…...

深入理解 Flutter 鸿蒙版的 Stack 布局:适配屏幕与层叠样式布局
目录 写在前面 什么是 Stack 布局? Stack 的基本用法 Stack 布局的核心概念 屏幕适配与 Stack 布局 使用 MediaQuery 获取屏幕尺寸 使用 LayoutBuilder 进行自适应布局 高级层叠样式布局示例 1. 照片展示与文字描述 2. 动态调整层叠布局 写在最后 写在前…...

JavaScript中Number相关特性
目录 非 VIP 用户可前往公众号“前端基地”进行免费阅读 数值范围 小数注意问题 NaN isNaN()判断是不是NaN JavaScript可以表示的进制 数值扩展 非 VIP 用户可前往公众号“前端基地”进行免费阅读 数值范围 数字类型主要涵盖整数与小数。在数值范围方面,存在特…...

Redis中String类型数据扩容原理分析
大家好,我是 V 哥。在 Java 中,我们有动态数组ArrayList,当插入新元素空间不足时,会进行扩容,好奇 Redis 中的 String 类型,C 语言又是怎样的实现策略,带着疑问,咱们来了解一下。 最…...

智能码二维码zhinengma.cn在供应链管理中有哪些优势?
智能码二维码在供应链管理中具有以下优势: 一、提高信息透明度 通过为每个产品或包装分配唯一的二维码,可以实现供应链各环节信息的实时共享。这有助于提高供应链的信息透明度,让各方都能及时了解产品的状态和位置。 二、加强追溯能力 智…...

代理商培训新策略:利用内部知识库提升培训效果
在当今竞争激烈的市场环境中,代理商作为企业与终端消费者之间的桥梁,其专业能力和服务质量直接影响着企业的市场表现和品牌形象。因此,对代理商进行系统而高效的培训,提升其业务技能和服务水平,成为企业不可忽视的重要…...

Redis 哨兵模式下DB库操作审计
Redis Sentinel集群环境 主机版本模式NodeSentinelredis-sentinel-node-06.2.12哨兵MasterYesredis-sentinel-node-16.2.12哨兵SlaveYesredis-sentinel-node-26.2.12哨兵SlaveYes 架构设计 命令行&程序验证 1、在redis-sentinel-node-1上使用redis-cli 连接redis-sentine…...

latex公式输入-矩阵
矩阵输入: 例1 \begin{bmatrix}1& 4&3 &5 \\\frac{1}{4} &1& \frac{1}{2}& 2\\\frac{1}{3}&2&1& \frac{5}{3} \\\frac{1}{5}& \frac{1}{2}& \frac{3}{5}&1 \end{bmatrix} 运行结果: 例2 \begin{bm…...

NSSCTF-WEB-easy_eval
目录 前言 正文 思路 序列化构造 后渗透 思路点1:Redis 思路2:蚁剑插件绕过disable_functinons 结尾 作者的其他文章 前言 说是easy,实际很difficult 正文 思路 <?php class A{public $code "";function __call($method,$args){//最后执行命令eval($th…...

交通目标识别数据集YOLO 模型 ui界面✓图片数量15000,xml和txt标签都有 11类 交通道路车辆行人红黄绿数据集 红绿灯数据集 交通信号数据集
YOLO交通目标识别 数据集 模型 ui界面 ✓图片数量15000,xml和txt标签都有; ✓class:biker,car,pedestrian,trafficLight,trafficLight-Green,trafficLight-GreenLeft, tr…...

买卖股票的最佳时机 题解
买卖股票的最佳时机 问题描述 给定一个数组 prices,其中 prices[i] 表示第 i 天的股票价格。你只能选择某一天买入股票,并选择未来的某一天卖出股票,设计一个算法来计算你所能获取的最大利润。 限制条件: 只能进行一次交易&…...

微信小程序路由跳转的区别及其常见的使用场景
在微信小程序中,页面路由跳转的实现有几种常用方式,不同的跳转方式适用于不同的使用场景。下面是几种跳转方法的区别及其在实际项目中的应用场景。 1. wx.navigateTo 简介:保留当前页面并跳转到指定页面,最多保留10个页面的历史记…...

麒麟桌面版v10 SP1以docker方式安装达梦数据库
安装docker 0.切换root用户(可以不切换,但要注意权限问题,我是用root) ymym-pc:~/桌面$ whoami ym ymym-pc:~/桌面$ sudo -i rootym-pc:~# whoami root rootym-pc:~# 1.查看系统版本 [rootlocalhost opt]# cat /etc/os-release…...

KNN的 k 设置的过大会有什么问题
在KNN(K-Nearest Neighbors)算法中,K值的选择对模型的性能和预测结果有着重要影响。如果K值设置得过大,可能会出现以下问题: 欠拟合:当K值过大时,模型会考虑过多的邻近点实例,甚至会…...

Star Tower:智能合约的安全基石与未来引领者
在区块链技术的快速发展中,智能合约作为新兴的应用形式,正逐渐成为区块链领域的重要组成部分。然而,智能合约的可靠性问题一直是用户最为关心的焦点之一。为此,Star Tower以其强大的技术实力和全面的安全保障措施,为智…...

2024-NewStarCTF-WEEK1
web headach3 提示head,抓包查看响应头,得到flag flag值:flag{You_Ar3_R3Ally_A_9ooD_d0ctor} 会赢吗 第一段:源码里找到第一段flag,ZmxhZ3tXQTB3 第二段:分析可知需要在控制台调用revealFlag函数向服务…...

大数据面试题整理——Zookeeper
系列文章目录 大数据面试题专栏点击进入 文章目录 系列文章目录大数据面试题专栏点击进入 1. 什么是 Zookeeper?2. Zookeeper 的特点有哪些?3. Zookeeper 的数据模型是怎样的?4. Zookeeper 的工作流程是怎样的?5. Zookeeper 如何…...

图书库存管理:Spring Boot驱动的进销存系统
1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理图书进销存管理系统的相关信息成为必然。开…...

用增结算数仓化改造:在/离线调度系统的构建与应用
导读 移动运营推广平台(OPS)承载着百度内部移动应用/移动搜索业务的用户增长预算的全流程结算线上化管控功能,为了解决用增业务发展规模扩大、原有技术架构老旧、无离线数仓系统等一系列的问题,针对全域结算数据启动了整体的架构…...

施磊C++高级进阶课程 | 学习笔记 | 博客汇总
施磊C高级进阶课程 | 学习笔记 | 博客汇总 施磊C | 进阶学习笔记 | 1.对象的应用优化、右值引用的优化-CSDN博客 施磊C | 进阶学习笔记 | 2.智能指针-CSDN博客 施磊C | 进阶学习笔记 | 3.绑定器和函数对象、lambda表达式-CSDN博客 施磊C | 进阶学习笔记 | 4.c11内容汇总、多…...

学习threejs,拉伸几何体THREE.TubeGeometry管道
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️拉伸几何体THREE.TubeGeome…...