gpt4 book ai didi

prometheus - 将指标从 ActiveMQ Artemis 发送到 Prometheus

转载 作者:行者123 更新时间:2023-12-05 01:59:31 39 4
gpt4 key购买 nike

我遇到了一个问题,但我不太确定如何解决它。

在我的工作项目中,我有一个 ActiveMQ 队列,我想向 Prometheus 发送一些指标,这将帮助我在 Grafana 中创建一些警报。我知道对于 ActiveMQ Artemis 我可以使用 this plugin ,但我 100% 不明白如何配置它。

我的应用程序部署在 Kubernetes 集群上,ActiveMQ 代理也在那里。所以我创建了 ActiveMQPrometheusMetricsPlugin 类,它实现了 org.apache.activemq.artemis.core.server.metrics.ActiveMQMetricsPlugin。现在我感到困惑的地方是我应该部署我的应用程序并且指标将由 Prometheus 收集吗?我应该做更多配置吗?

我们通常不会在本地环境中构建应用程序。我们正在使用一个正在构建应用程序并将其部署到各种环境(开发、测试、生产)的管道。我应该做类似于 GitHub 插件项目的配置,部署它,然后在 Kubernetes 上找到那些 jar 并将它们移动到正确的位置? dev-ops 还对我说我们正在使用默认的 conf。我不知道我们是否有 broker.xml 文件。

最佳答案

在开始之前有几个要点需要理解:

  • 使用 Artemis Prometheus 指标插件时,代理和应用程序都不会“发送”指标到 Prometheus。 Prometheus 本身必须从代理中检索或“抓取”指标。这就是插件附带 servlet 的原因。该 servlet 公开了一个 HTTP 端点,Prometheus 可以使用它来抓取指标。
  • Artemis Prometheus 指标插件是代理基础架构的一部分。它不能作为应用程序的一部分进行部署。插件的 jar 和 war 文件部署在代理上并在 broker.xml 中配置和 bootstrap.xml分别。

Artemis Prometheus Metrics 插件使用两个模块提供与 Prometheus 的集成:

  • artemis-prometheus-metrics-plugin:这提供了 org.apache.activemq.artemis.core.server.metrics.ActiveMQMetricsPlugin 的实际实现和将它与 Micrometer 和 Prometheus 依赖项打包在一个“uber”jar 中。

  • artemis-prometheus-metrics-plugin-servlet:这提供了一个 war 文件,其中包含一个简单的 servlet,可以将其部署到代理的嵌入式 Web 服务器,然后 Prometheus 可以使用它来抓取指标.

克隆 Artemis Prometheus 指标插件存储库后,只需运行 mvn install构建这两个模块。输出将在它们各自的 target 中目录。

构建模块后,请按照以下步骤部署和配置 Artemis Prometheus Metrics 插件。如果您有某种开发运营团队来管理和配置您的代理,那么他们将遵循这些步骤。

  1. 复制 artemis-prometheus-metrics-plugin/target/artemis-prometheus-metrics-plugin-<VERSION>.jar<ARTEMIS_INSTANCE>/lib .

  2. 将此添加到您的 <ARTEMIS_INSTANCE>/etc/broker.xml :

    <metrics-plugin class-name="org.apache.activemq.artemis.core.server.metrics.plugins.ArtemisPrometheusMetricsPlugin"/>
  3. 创建目录<ARTEMIS_INSTANCE>/web .

  4. 复制 artemis-prometheus-metrics-plugin-servlet/target/metrics.war<ARTEMIS_INSTANCE>/web .

  5. 将此添加到 web <ARTEMIS_INSTANCE>/etc/bootstrap.xml 中的元素:

    <app url="metrics" war="metrics.war"/>

关于prometheus - 将指标从 ActiveMQ Artemis 发送到 Prometheus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67806739/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com