如何将数据从 AWS S3 导入到 Elastic Cloud - 第 2 部分:Elastic Agent

news2024/10/22 21:02:45

作者:来自 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.gz
  tar xzvf elastic-agent-8.14.3-linux-x86_64.tar.gz
  cd elastic-agent-8.14.3-linux-x86_64
  sudo ./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  Current
                                  Dload  Upload   Total   Spent    Left  Speed
  100  327M  100  327M    0     0  5068k      0  0:01:06  0:01:06 --:--:-- 5065k
  elastic-agent-8.14.3-linux-x86_64/manifest.yaml
  elastic-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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2221066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OQE-OPTICAL AND QUANTUM ELECTRONICS

文章目录 一、征稿简介二、重要信息三、服务简述四、投稿须知五、联系咨询 一、征稿简介 二、重要信息 期刊官网&#xff1a;https://ais.cn/u/3eEJNv 三、服务简述 四、投稿须知 1.在线投稿&#xff1a;由艾思科蓝支持在线投稿&#xff0c;请将文章全文投稿至艾思科蓝投稿系…

【Linux】————动静态库

作者主页&#xff1a; 作者主页 本篇博客专栏&#xff1a;Linux 创作时间 &#xff1a;2024年10月22日 一&#xff0e;库的定义 什么是库&#xff0c;在windows平台和linux平台下都大量存在着库。 本质上来说库是一种可执行代码的二进制形式&#xff0c;可以被操作系统载…

虚拟机网络设置为桥接模式

1、打开VMware Workstation Pro&#xff0c;点击“虚拟机—设置”&#xff0c;进入虚拟机设置页面 2、点击“网络适配器”&#xff0c;网络连接选择桥接模式 3、点击“编辑—虚拟网络编辑器”&#xff0c;进入虚拟网络编辑器页面 4、选择桥接模式&#xff0c;并选择要桥接到的…

Flux.using 使用说明书

using public static <T,D> Flux<T> using(Callable<? extends D> resourceSupplier,Function<? super D,? extends Publisher<? extends T>> sourceSupplier,Consumer<? super D> resourceCleanup)Uses a resource, generated by a…

创建人物状态栏

接下来&#xff0c;我们来尝试制作一下我们的UI&#xff0c;我们会学习unity基本的UI系统 ************************************************************************************************************** 我们要先安装一个好用的插件到我们的unity当中&#xff0c;帮助…

Mac电脑:资源库Library里找不到WebServer问题的解决

今天看到一本书里写到Windows电脑自带IIS Web服务器&#xff0c;好奇了一下下&#xff0c;mac电脑自带的又是什么服务器呢&#xff1f;经查询&#xff0c;原来是Apache服务器&#xff0c;这个名字我很熟悉。只是如何设置呢&#xff1f;我从来没用过&#xff0c;于是试验了一番。…

[Linux进程概念]命令行参数|环境变量

目录 一、命令行参数 1.什么是命令行参数 2.为什么要有命令行参数 &#xff08;1&#xff09;书写的代码段 &#xff08;2&#xff09;实际的代码段 3.Linux中的命令行参数 二、环境变量 1.什么是环境变量&#xff1f; 2.获取环境变量 &#xff08;1&#xff09;指令…

OceanBase 的写盘与传统数据库有什么不同?

背景 在数据库开发过程中&#xff0c;“写盘”是一项核心操作&#xff0c;即将内存中暂存的数据安全地转储到磁盘上。在诸如MySQL这样的传统数据库管理系统中&#xff0c;写盘主要有以下几步&#xff1a;首先将数据写入缓存池&#xff1b;其次&#xff0c;为了确保数据的完整性…

【Qt】控件——Qt输入类控件、常见的输入类控件、输入类控件的使用、Line Edit、Text Edit、Combo Box、Spin Box

文章目录 Qt5. Qt显示类控件Line EditText EditCombo BoxSpin BoxQDateTimeEditDialSlider Qt 5. Qt显示类控件 Line Edit QLineEdit 用于表示单行输入框。可以输入一段文本&#xff0c;但是不能换行。 属性说明text输入框中的文本inputMask输入内容格式约束maxLength最大长度…

【HAD】Half-Truth: A Partially Fake Audio Detection Dataset

文章目录 Half-Truth: A Partially Fake Audio Detection Dataset背景key points研究数据集设计评价指标实验基线:utterance-level分类(话语级)基线:segment-level分类(片段级)Half-Truth: A Partially Fake Audio Detection Dataset 会议/期刊:Interspeech 2021 CCF-C…

哈佛医学生一个月吃720个鸡蛋,结果发现......

你们听说过吃鸡蛋还能降低胆固醇的操作吗&#xff1f; 前段时间&#xff0c;哈佛医学院的学生尼克诺尔维茨&#xff08;Nick Norwitz&#xff09;就做了这样一个实验&#xff0c;得出的结果让大家震惊&#xff01; 许多人认为狂吃鸡蛋不会有好处&#xff0c;因为这会摄入大量胆…

FFT过程中自动补零,补零部分FFT结果不为零

在 FFT&#xff08;快速傅里叶变换&#xff09; 中&#xff0c;补零&#xff08;Zero Padding&#xff09;是为了使信号的点数符合 2 的幂次方&#xff0c;以提高 FFT 的计算效率。然而&#xff0c;即使你对信号进行了补零&#xff0c;FFT 计算后在补零部分可能会得到复数结果不…

<项目代码>YOLOv8工具识别<目标检测>

YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv8具有更高的…

数字化营销助企业在生态平台实现内卷突围

在当今数字化时代&#xff0c;企业竞争激烈&#xff0c;内卷化严重。而数字化生态平台建设与数字化营销为企业带来了新机遇。 数字化生态平台意义重大。它能整合企业内外资源&#xff0c;提高运营效率。打破地域限制&#xff0c;拓展市场&#xff0c;吸引更多客户。还能为企业创…

TCP——Socket

应用进程只借助Socket API发和收但是不关心他是怎么进行传和收的 数据结构 图示Socket连接 捆绑属于隐式捆绑

如何快速解决谷歌网站页面收录难题?

在外贸网站的运营中&#xff0c;页面无法被谷歌收录是一个常见的困扰。即便你的内容再优秀&#xff0c;如果搜索引擎的爬虫无法抓取到你的页面&#xff0c;那一切努力都将白费。而GPC爬虫池服务可以帮助你快速解决网站页面的收录问题。它通过千万级的爬虫池资源&#xff0c;强力…

【信创】银河麒麟安装程序记录

银河麒麟安装程序记录 Step1 添加外网yum源Step2 安装软件安装MySQL&#xff08;8.0.32&#xff09;安装JDK安装jdk17安装Nginx&#xff08;1.21.5&#xff09;安装Redis&#xff08;4.0.14&#xff09;安装Emqx&#xff08;4.4.19&#xff09;安装RocketMQ&#xff08;5.1.4&a…

基于STM32的多功能MP3播放器

基于STM32的多功能MP3播放器 基于STM32的多功能MP3播放器一、项目背景与意义二、系统设计与实现2.1 硬件设计2.2 软件设计2.3 系统调试 三、功能实现与展望四、结论五、附录 基于STM32的多功能MP3播放器 在数字化时代&#xff0c;多功能播放器已成为我们生活中不可或缺的一部分…

Maven骨灰级教程:从小白到高手的终极指南(一)

目录 1. Maven的概念 1.1 什么是Maven 1.2 什么是依赖管理 1.3 什么是项目构建 1.4 Maven的应用场景 1.5 为什么使用Maven 1.6 Maven模型 2.初识Maven 2.1 Maven安装 2.1.1 安装准备 2.1.2 Maven安装目录分析 2.1.3 Maven的环境变量 2.2 Maven的第一个项目 2.2.1…

学习threejs,THREE.ConvexGeometry凸包高级几何体

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.ConvexGeometry凸包高…