使用 Elastic 输入包自定义你的数据摄取

2023年 10月 2日 30.4k 0

作者:Ishleen Kaur

Elastic® 通过集成(integrations)实现了外部数据源和 Elastic Observability Solution 之间数据流的收集、转换和分析。 集成包通过封装多个组件来实现这一点,包括代理配置 (agent configuration)、数据收集输入以及摄取管道 (ingest pipelines)、数据流 (data streams)、索引模板 (index templates) 和可视化等资产。 Elastic Stack 支持的这些资产的广度日益增加。

本博客深入探讨输入包如何为高级用户提供极其通用且灵活的解决方案,以定制他们在 Elastic 中的摄取体验。

什么是输入包 - input packages?

Elastic Package 是一个工件,其中包含扩展 Elastic Stack 的资产集合,提供新功能来完成特定任务(例如与外部数据源集成)。 Elastic 包的第一个用途是集成包,它提供端到端体验 - 从配置 Elastic Agent,到从数据源收集信号,再到正确摄取信号并使用摄取后的数据。

但是,高级用户可能需要自定义数据收集,因为对于特定数据源不存在集成,或者即使存在,他们也希望收集其他信号或以不同的方式。 输入包是另一种类型的 Elastic package,它提供配置 Elastic Agent 以自定义方式使用提供的输入的功能。

让我们看一个例子

向在 Ascio Innovation 公司担任工程师的 Julia 打个招呼。 她目前正在使用 Oracle Weblogic 服务器,并希望获得一组用于监控它的指标。 她继续安装 Elastic Oracle Weblogic Integration,该集成在后端使用 Jolokia 来获取指标。

现在,她的团队想要在监控方面取得进展,有以下要求:

  • 我们应该能够提取默认指标以外的指标,默认的 Oracle Weblogic Integration 不支持这些指标。
  • 我们希望拥有自己的定制管道、可视化和体验。
  • 通过将数据映射到单独的索引,我们应该能够识别来自两个不同 Weblogic 服务器实例的指标。
  • 使用 Jolokia 输入包即可满足上述所有要求,获得定制体验。 让我们看看如何。

    Julia 可以添加如下 Jolokia 输入包的配置,满足第一个要求。

    hostname、要为 JVM 应用程序获取的字段的 JMX 映射,以及响应字段将映射到的 data set 名称。

    Jolokia 输入包的配置参数

    指标映射到 “jolokia_first_dataset” 创建的索引

    Julia 可以通过编写自己的摄取管道并提供自定义映射来自定义数据。 此外,她还可以构建自己的定制仪表板,从而满足她的第二个要求。

    摄取管道和映射的定制

    假设现在 Julia 希望使用 Oracle Weblogic 的另一个实例并获取一组不同的指标。

    这可以通过添加 Jolokia 输入包的另一个实例并指定新的 data set 名称来实现,如下面的屏幕截图所示。 生成的指标将映射到不同的 index/数据集,从而满足她的第三个要求。 这将帮助 Julia 区分来自两个不同 Oracle Weblogic 实例的指标。

    查询的结果指标将被索引到新数据集,即以下示例中的 jolokia_second_dataset。

    正如我们在上面所看到的,Jolokia 输入包提供了通过指定不同的 JMX 映射来获取新指标的灵活性,这在默认的 Oracle Weblogic 集成中不受支持(用户从一组预定的 JMX 映射中获取指标)。

    Jolokia 输入包还可用于监视任何基于 Java 的应用程序,该应用程序通过 JMX 推送其指标。 因此,单个输入包可用于从多个 Java 应用程序/服务收集指标。

    Elastic 输入包

    Elastic 从 8.8.0 版本开始支持输入包。 一些输入包现已提供测试版,并将逐渐成熟:

  • SQL 输入包:SQL 输入包允许你对任何 SQL 数据库执行查询并将结果存储在 Elasticsearch® 中。
  • Prometheus 输入包:此输入包可以从 Prometheus 导出器(收集器)收集指标。任何将其指标导出到 Prometheus 端点的服务都可以使用它。
  • Jolokia 输入包:此输入包从目标 JMX 服务器或专用代理服务器上运行的 Jolokia 代理收集指标。 它可用于监视任何基于 Java 的应用程序,该应用程序通过 JMX 推送其指标。
  • Statsd 输入包:statsd 输入包生成一个 UDP 服务器并侦听 StatsD 兼容格式的指标。 此输入可用于从通过 StatsD 协议发送数据的服务收集指标。
  • GCP Metrics 输入包:GCP Metrics 输入包可以收集任何 GCP 服务的自定义指标。
  • 试试看!

    现在你已经了解了有关输入包的更多信息,请尝试通过输入包为你的服务构建你自己的自定义集成,并开始使用 Elastic Cloud 免费试用。

    我们很乐意听取你在 Elastic Discuss 论坛或 Elastic Integrations 存储库中使用输入包的体验。

    本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

    原文:Customize your data ingestion with Elastic input packages | Elastic Blog

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论