rabbitmq监控与运维

一、系统架构

二、监控

       本指南涵盖了使用两个流行工具进行 RabbitMQ 监控: Prometheus,一个监控工具包;和Grafana,一个指标可视化系统。这些工具共同构成了一个强大的工具包,用于 RabbitMQ 集群的长期指标收集和监控。虽然RabbitMQ 管理 UI也提供了对指标子集的访问,但它的设计并没有试图成为一个长期的指标收集解决方案。

 

1、开启监控

rabbitmq-plugins enable rabbitmq_prometheus

2、健康指标

仪表板顶部的单个统计指标捕获单个 RabbitMQ 集群的运行状况。在这种情况下,只有一个 RabbitMQ 集群 rabbitmq-overview,如仪表板标题正下方的集群下拉菜单中所示。

 

所有 RabbitMQ Grafana 仪表板上的面板使用不同的颜色来捕获以下指标状态:

 

  • 绿色表示指标值在健康范围内
  • 蓝色表示未充分利用或某种形式的退化
  • 红色表示指标值低于或高于健康范围

 

 

3、grafana图标

 

名称

备注

Unacknowledged messages

未确认消息数量

Incoming messages/s

每秒消费量

Publishers

生产者数量

Connections

总连接数量

Ougoing messsages/s

每秒生产量

Consumers

消费者数量

Channels

通道数量

Nodes

节点数量(Ivan加的)

存活时间

存活时间(Ivan加的)

Ready messages

消息总量

Queues

队列总数量

File descriptors available

可用文件句柄 kernel参数设置

TCP sockets available

可用socket  kernel参数设置

   

 

指标的速率变化:

 

 

 

 

4、rabbmit 管理页面监控

需要开启rabbitmq_top

rabbitmq-plugins enable rabbitmq_top

 

 

5、命令行故障排查

 

rabbitmqctl cluster_status

rabbitmq-diagnostics check_running

rabbitmq-diagnostics -q status

rabbitmq-diagnostics -q check_local_alarms

rabbitmq-diagnostics -q memory_breakdown 

rabbitmq-diagnostics -q check_virtual_hosts

rabbitmq-diagnostics node_health_check

 

 

 

三、运维

1、用户权限管理

       对于生产环境,删除默认用户 ( guest )。默认情况下,默认用户只能从本地主机连接,因为它具有众所周知的凭据。考虑创建一个具有管理权限和生成密码的单独用户,而不是启用远程连接。建议为每个应用程序使用一个单独的用户。例如,如果您有一个移动应用程序、一个 Web 应用程序和一个数据聚合系统,那么您将有 3 个独立的用户。

 

rabbitmqctl add_user admin

rabbitmqctl add_user_tags admin administrator

 

#设置权限

rabbitmqctl set_permissions --vhost / admin ".*" ".*" ".*"

#修改密码

rabbitmqctl change_password admin newpass

 

 

2、内存调整

vm_memory_high_watermark.relative=0.4 默认是0.4

vm_memory_high_watermark.absolute = 2GB

如果定义了相对值,那么绝对值就会失效

修改配置文件/etc/rabbitmq/rabbitmq.conf

listeners.tcp.default = 5672

management.tcp.port = 15672

vm_memory_high_watermark.relative=0.4

 

 

 

 

3、rabbitmq关闭和启动

 

systemctl stop rabbitmq-server

systemctl start rabbitmq-server

 

4、备份和还原

rabbitmq-management管理页面,备份的是定义不包含具体的消息。

export导出,import导入,适合环境迁移时使用

 

 

5、更改集群类型

rabbitmqctl change_cluster_node_type  disc #硬盘,数据安全

rabbitmqctl change_cluster_node_type  ram #内存,重启,数据丢失

 

posted @ 2023-02-21 16:54  东哥加油!!!  阅读(443)  评论(0编辑  收藏  举报