Elastic® 通过集成实现了外部数据源和 Elastic 可观测性解决方案之间流动的数据的收集、转换和分析。集成包通过封装多个组件来实现此目的,包括代理配置、数据收集的输入以及 摄取管道、数据流、索引模板和可视化等资产。Elastic Stack 中支持的这些资产的范围与日俱增。
本博客深入探讨了输入包如何为高级用户提供极其通用和灵活的解决方案,以自定义他们在 Elastic 中的采集体验。
什么是输入包?
Elastic 包是一种包含一系列资产的构件,这些资产扩展了 Elastic Stack,提供了新的功能来完成特定任务,例如与外部数据源集成。Elastic 包的第一个用途是集成包,它提供了端到端的体验 - 从配置 Elastic Agent,到从数据源收集信号,到正确地摄取它们,再到使用摄取的数据。
但是,高级用户可能需要自定义数据收集,原因可能是特定数据源不存在集成,或者即使存在集成,他们也希望以不同的方式收集其他信号。输入包是另一种类型的Elastic 包,它提供了配置 Elastic Agent 以自定义方式使用所提供的输入的功能。
让我们看一个例子
你好,朱莉娅,她在 Ascio 创新公司担任工程师。她目前正在使用 Oracle Weblogic 服务器,并希望获得一组用于监控的指标。她继续安装 Elastic Oracle Weblogic 集成,该集成在后端使用 Jolokia 来获取指标。
现在,她的团队希望在监控方面取得进展,并有以下要求
-
我们应该能够提取除默认指标之外的其他指标,这些指标不受默认 Oracle Weblogic 集成的支持。
-
我们希望拥有自己的定制管道、可视化和体验。
-
我们应该能够通过将数据映射到单独的索引来识别来自 Weblogic 服务器的两个不同实例的指标。
通过使用Jolokia 输入包可以满足上述所有要求,以获得定制的体验。让我们看看如何实现。
朱莉娅可以如下添加 Jolokia 输入包的配置,从而满足第一个要求。
主机名,JVM 应用程序要提取的字段的 JMX 映射,以及响应字段将映射到的数据集名称。
朱莉娅可以通过编写自己的摄取管道并提供她定制的映射来自定义她的数据。此外,她还可以构建自己的定制仪表板,从而满足她的第二个要求。
假设现在朱莉娅想要使用 Oracle Weblogic 的另一个实例并获取一组不同的指标。
这可以通过添加另一个 Jolokia 输入包实例并指定一个新的数据集名称来实现,如下面的屏幕截图所示。结果指标将被映射到不同的索引/数据集,从而满足她的第三个要求。这将帮助朱莉娅区分来自 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 Exporters (Collectors) 收集指标。任何将其指标导出到 Prometheus 端点的服务都可以使用它。
-
Jolokia 输入包:此输入包从在目标 JMX 服务器或专用代理服务器上运行的Jolokia 代理收集指标。它可用于监控任何通过 JMX 推送其指标的基于 Java 的应用程序。
-
Statsd 输入包:statsd 输入包会生成一个 UDP 服务器,并侦听 StatsD 兼容格式的指标。此输入可用于从通过 StatsD 协议发送数据的服务收集指标。
-
GCP Metrics 输入包:GCP Metrics 输入包可以收集任何 GCP 服务的自定义指标。
试一试!
既然您已经了解了更多关于输入包的信息,请尝试通过输入包为您的服务构建自己的自定义集成,并通过Elastic Cloud 免费试用版开始使用。
我们很乐意在 Elastic Discuss 论坛或Elastic Integrations 存储库中收到您关于使用输入包的体验的反馈。
本帖中描述的任何特性或功能的发布和时间安排仍由 Elastic 自行决定。任何当前不可用的特性或功能可能无法按时交付或根本无法交付。