当前位置: 首页 > news >正文

RabbitMQ-Exporter 监控 TLS 加密的 RabbitMQ 集群

以下是详细的配置步骤指南: Here is the detailed configuration guide:

1. 确认 RabbitMQ Management Plugin 的 TLS 配置

  1. Verify RabbitMQ Management Plugin TLS Configuration

RabbitMQ 配置文件示例 (/etc/rabbitmq/rabbitmq.conf): RabbitMQ Configuration File Example (/etc/rabbitmq/rabbitmq.conf):

# 启用管理插件的 HTTPS 端口
# Enable Management Plugin HTTPS port
management.ssl.port = 15671
​
# 指定证书路径
# Specify certificate paths
management.ssl.cacertfile = /path/to/ca_certificate.pem
management.ssl.certfile   = /path/to/server_certificate.pem
management.ssl.keyfile    = /path/to/server_key.pem
​
# 证书验证设置
# Certificate verification settings
management.ssl.verify     = verify_peer
management.ssl.fail_if_no_peer_cert = false

验证 HTTPS 接口是否正常工作: Verify if HTTPS interface works properly:

curl -k -u <username>:<password> https://<rabbitmq_host>:15671/api/overview

2. 配置 RabbitMQ-Exporter 连接 TLS 加密的 RabbitMQ

  1. Configure RabbitMQ-Exporter to Connect to TLS-encrypted RabbitMQ

方案 A: 使用 Docker Compose (推荐)

Solution A: Using Docker Compose (Recommended)

version: '3.8'
services:rabbitmq-exporter:image: kbudde/rabbitmq-exportercontainer_name: rabbitmq-exporterrestart: unless-stoppedports:- "9419:9419"environment:# RabbitMQ 连接信息 - 使用 HTTPS# RabbitMQ Connection Info - Use HTTPS- RABBIT_URL=https://rabbitmq-server:15671- RABBIT_USER=monitor_user- RABBIT_PASSWORD=your_password# TLS 配置选项# TLS Configuration Options- SKIP_VERIFY=false                    # 生产环境设为 false- CA_CERT_FILE=/certs/ca_cert.pem      # CA 证书路径# Exporter 配置# Exporter Configuration- PUBLISH_PORT=9419- OUTPUT_FORMAT=JSONvolumes:# 挂载证书文件# Mount certificate files- ./tls/ca_cert.pem:/certs/ca_cert.pem:ro

方案 B: 二进制文件直接运行

Solution B: Direct Binary Execution

./rabbitmq-exporter \--rabbit.url="https://rabbitmq-host:15671" \--rabbit.user="monitor_user" \--rabbit.password="password" \--ca-cert-file="/path/to/ca_certificate.pem" \--skip-verify=false \--publish-addr=":9419"

3. 环境变量详解 / Environment Variables Explained

环境变量 / Environment Variable说明 / Description示例值 / Example Value
RABBIT_URL必须使用 HTTPS / Must use HTTPShttps://host:15671
SKIP_VERIFY跳过证书验证 (测试用) / Skip certificate verification (for testing)false (生产/production)
CA_CERT_FILECA 证书文件路径 / CA certificate file path/certs/ca.pem
CLIENT_CERT_FILE客户端证书 (双向 TLS) / Client certificate (mutual TLS)/certs/client.pem
CLIENT_KEY_FILE客户端密钥 / Client private key/certs/client-key.pem
PUBLISH_PORTExporter 服务端口 / Exporter service port9419

4. Prometheus 配置 / Prometheus Configuration

scrape_configs:- job_name: 'rabbitmq-cluster-tls'static_configs:- targets: ['rabbitmq-exporter:9419']metrics_path: '/metrics'labels:cluster: 'rabbitmq-tls-cluster'environment: 'production'

5. 故障排查指南 / Troubleshooting Guide

检查 Exporter 日志 / Check Exporter Logs

docker logs rabbitmq-exporter
# 查找错误信息 / Look for error messages

测试指标端点 / Test Metrics Endpoint

curl http://localhost:9419/metrics
# 应该返回 RabbitMQ 指标 / Should return RabbitMQ metrics

常见错误及解决方案 / Common Errors and Solutions

错误信息 / Error Message原因 / Cause解决方案 / Solution
x509: certificate signed by unknown authority缺少 CA 证书 / Missing CA certificate设置 CA_CERT_FILE 环境变量
connection refused错误的端口或协议 / Wrong port or protocol确认使用 https://15671 端口
permission denied证书文件权限问题 / Certificate file permission issue确保文件可读 / Ensure files are readable

6. 集群监控配置 / Cluster Monitoring Configuration

单节点监控 (推荐) / Single Node Monitoring (Recommended)

environment:- RABBIT_URL=https://rabbitmq-loadbalancer:15671

多节点监控 / Multi-Node Monitoring

# 为每个节点配置单独的 job
# Configure separate jobs for each node
scrape_configs:- job_name: 'rabbitmq-node1'static_configs:- targets: ['exporter-node1:9419']- job_name: 'rabbitmq-node2'  static_configs:- targets: ['exporter-node2:9419']

7. 安全最佳实践 / Security Best Practices

  1. 使用专用监控账户 / Use dedicated monitoring account

  2. 定期轮换证书 / Rotate certificates regularly

  3. 限制网络访问 / Restrict network access

  4. 使用强密码 / Use strong passwords

  5. 在生产环境禁用 SKIP_VERIFY / Disable SKIP_VERIFY in production

按照以上步骤配置,即可成功监控启用 TLS 的 RabbitMQ 集群。 By following these steps, you can successfully monitor a TLS-enabled RabbitMQ cluster.

http://www.dtcms.com/a/576960.html

相关文章:

  • 重庆佳宇建设集团网站重庆网站自己推广
  • 品牌营销策划网站wordpress 会员开卡消费
  • iOS修改tabbar的背景图
  • 《uni-app跨平台开发完全指南》- 04 - 页面布局与样式基础
  • 【学习笔记更新中】Deeplearning.AI 大语言模型后训练:微调与强化学习导论
  • SQL之表的时间类内置函数详解
  • 线性代数 - 奇异值分解(SVD Singular Value Decomposition)- 计算顺序 旋转→拉伸→旋转
  • html的input的required
  • 【开题答辩全过程】以 基于Java的医务室病历管理小程序为例,包含答辩的问题和答案
  • 移除 XSLT,以更强的浏览器安全边界迎面而来
  • 回溯剪枝的“减法艺术”:化解超时危机的 “救命稻草”(三)
  • 佛山网站建设设计公司陕西住建执业证书官网
  • Rust编程学习 - 自动解引用的用处,如何进行“解引用”(Deref) 是“取引用”(Ref) 的反操作
  • 云计算产品-介绍--网络/CDN篇
  • 云计算产品-介绍--安全篇
  • 3D模型骨骼绑定与动画完全指南-web平台
  • RabbitMQ 是否也支持消费组
  • 德国域名申请网站网站建设 推广薪资
  • 从零开始搭建 flask 博客实验(常见疑问)
  • 给予虚拟成像台尝鲜版十,完善支持HTML原型模式
  • ⸢ 拾叁-Ⅰ⸥⤳ 安全水位评估框架(上):威胁路径模型
  • 【Python Web开源框架】Django/Flask/FastAPI/Tornado/Pyramid
  • 拼多多seo搜索优化西安网站seo技术
  • DocxFactory: 一个C++操作word的开源库(不依赖office控件)
  • layui框架中,表单元素不显示问题
  • 主流模型调用
  • AI+XR赋能智慧研创中心:打破职业教育实训困境,推动产教深度融合
  • 网站的注册和登录怎么做军事热点最新情况
  • 在Powershell或CMD中使用conda命令
  • 体力劳动反而更难被AI取代?物联网科技如何守护最后的劳动阵地