使用普罗米修斯监控 rabbitmq (v 3.6.8)
Monitoring rabbitmq (v 3.6.8) with prometheus
我有一个挑战 - 构建和发布由 RabbitMQ 集群(具有 3 个节点)和用于可视化指标的独立 Grafana 服务器组成的监控系统。
我在 RabbitMQ (documentation) 的 prometheus 插件的官方文档中找到下一节:
This plugin is new as of RabbitMQ 3.8.0.
但是我有 3.6.8 版本的集群,当我 运行 下一个命令时
rabbitmq-plugins enable rabbitmq_prometheus
输出为:
Error: The following plugins could not be found:
rabbitmq_prometheus
现在无法升级集群,我的问题是:
如何在不升级集群的情况下使用 prometheus(首选选项)和 grafana 配置集群监控?
提前致谢!
Prometheus 插件不是监控 RabbitMQ 集群的唯一方法。
您也可以使用 rabbitmq exporter in sidecar. If you are not on a docker platform, you can download the exporter from the release assets 并将其作为服务安装在某处。
最好在每台托管 RabbitMQ 节点的服务器上安装导出器,因为:
- 有多少节点就需要安装多少(Prometheus 是面向服务的监控)
- 来自 RabbitMQ 的 the settings, the exporter is accessing the management plugin interface;它应该与本地主机保持绑定以减少攻击面
如果你真的手忙脚乱,你可以将它们部署到任何地方(比如在同一台服务器上)并将每个导出器指向不同的 RabbitMQ 节点。然后 Prometheus 配置可以识别底层服务。
- 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 集群的事件警报。
我有一个挑战 - 构建和发布由 RabbitMQ 集群(具有 3 个节点)和用于可视化指标的独立 Grafana 服务器组成的监控系统。
我在 RabbitMQ (documentation) 的 prometheus 插件的官方文档中找到下一节:
This plugin is new as of RabbitMQ 3.8.0.
但是我有 3.6.8 版本的集群,当我 运行 下一个命令时
rabbitmq-plugins enable rabbitmq_prometheus
输出为:
Error: The following plugins could not be found: rabbitmq_prometheus
现在无法升级集群,我的问题是:
如何在不升级集群的情况下使用 prometheus(首选选项)和 grafana 配置集群监控?
提前致谢!
Prometheus 插件不是监控 RabbitMQ 集群的唯一方法。
您也可以使用 rabbitmq exporter in sidecar. If you are not on a docker platform, you can download the exporter from the release assets 并将其作为服务安装在某处。
最好在每台托管 RabbitMQ 节点的服务器上安装导出器,因为:
- 有多少节点就需要安装多少(Prometheus 是面向服务的监控)
- 来自 RabbitMQ 的 the settings, the exporter is accessing the management plugin interface;它应该与本地主机保持绑定以减少攻击面
如果你真的手忙脚乱,你可以将它们部署到任何地方(比如在同一台服务器上)并将每个导出器指向不同的 RabbitMQ 节点。然后 Prometheus 配置可以识别底层服务。
- 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 集群的事件警报。