用普罗米修斯监测rabbitmq(V3.6.8)

用普罗米修斯监测rabbitmq(V3.6.8),rabbitmq,prometheus,Rabbitmq,Prometheus,我有一个挑战性的构建和发布监控系统,由RabbitMQ集群(有3个节点)和用于可视化度量的独立Grafana服务器组成 我在prometheus RabbitMQ()插件的官方文档中找到了下一部分: 从RabbitMQ 3.8.0开始,此插件是新的 但是我有3.6.8版本的集群,当我运行下一个命令时 rabbitmq-plugins enable rabbitmq_prometheus 输出为: 错误:找不到以下插件: 普罗米修斯兔 现在无法升级群集,我的问题是: 在不升级集群的情况下,如何使

我有一个挑战性的构建和发布监控系统,由RabbitMQ集群(有3个节点)和用于可视化度量的独立Grafana服务器组成

我在prometheus RabbitMQ()插件的官方文档中找到了下一部分:

从RabbitMQ 3.8.0开始,此插件是新的

但是我有3.6.8版本的集群,当我运行下一个命令时

rabbitmq-plugins enable rabbitmq_prometheus
输出为:

错误:找不到以下插件: 普罗米修斯兔

现在无法升级群集,我的问题是:

在不升级集群的情况下,如何使用prometheus(首选选项)和grafana配置集群监控


提前谢谢

Prometheus插件不是监视RabbitMQ集群的唯一方法

你也可以使用侧车。如果您不在docker平台上,您可以下载exporter并将其作为服务安装在某处

最好在承载RabbitMQ节点的每台服务器上安装导出器,因为:

  • 您需要安装尽可能多的节点(Prometheus是面向服务的监控)
  • 从中,导出器正在访问RabbitMQ的;它应该绑定到本地主机以减少攻击面
如果您真的束手无策,您可以将它们部署到任何地方(比如在同一台服务器上),并将每个导出器指向不同的RabbitMQ节点。普罗米修斯配置可以识别底层服务

  - job_name: rabbitmq
    honor_labels: true
    static_configs:
      - targets: ['monitoring-server:97001']
        labels:
          instance: 'rabbitmq_node_A'
      - targets: ['monitoring-server:97002']
        labels:
          instance: 'rabbitmq_node_B'
      # or play with relabeling to acchieve the same.

一个重要的缺点是,在更多情况下,导出程序可能无法访问RabbitMQ,而您最终会对不影响RabbitMQ群集的事件发出警报。

谢谢您的回答。我已经读过这个插件。不幸的是,我在docker中没有集群,现在不可能将集群迁移到docker。您不需要docker来使用它。只需抓取并在与RabbitMQ节点相同的服务器上启动。您甚至可以在另一台服务器上启动它,但这意味着要公开管理URL。听起来很棒。非常感谢。我会试试的!