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 #内存,重启,数据丢失
rabbitmq监控与运维的更多相关文章
- 无监控不运维——使用 Python 写一个小小的项目监控
在公司里做的一个接口系统,主要是对接第三方的系统接口,所以,这个系统里会和很多其他公司的项目交互.随之而来一个很蛋疼的问题,这么多公司的接口,不同公司接口的稳定性差别很大,访问量大的时候,有的不怎么行 ...
- 基于Prometheus和Grafana的监控平台 - 运维告警
通过前面几篇文章我们搭建好了监控环境并且监控了服务器.数据库.应用,运维人员可以实时了解当前被监控对象的运行情况,但是他们不可能时时坐在电脑边上盯着DashBoard,这就需要一个告警功能,当服务器或 ...
- rabbitmq集群运维一点总结
说明:以下操作都以三节点集群为例,机器名标记为机器A.机器B.机器C,如果为双节点忽略机器C,如果为各多节点则与机器C操作相同 一.rabbitmq集群必要条件 1.1.绑定实体ip,即ip a所能查 ...
- 【Kafka】监控及运维——kafka-eagle
目录 简单介绍 概述 安装部署 一.环境要求 二.下载源码包并解压 三.准备数据库 四.修改配置文件 五.配置环境变量 六.启动kafka-eagle 七.成功运行 简单介绍 概述 Kafka-eag ...
- Jenkins用HTTP Request Plugin插件进行网站的监控(运维监控)
使用的插件: [HTTP Request Plugin] 思路: 说明:只能是网站是否正常打开,而不能是这个网站业务是否正常,如果是后者,则需要写特定的接口进行请求处理. 1.通过插件,发送GET请求 ...
- Redis缓存接入监控、运维平台CacheCloud
改造RedisConnectionFactory /** * 根据缓存策略的不同,RedisConnectionFactory不同 * 示例是单机模式. * * @return */@Beanpubl ...
- 转-4年!我对OpenStack运维架构的总结
4年!我对OpenStack运维架构的总结 原创: 徐超 云技术之家 今天 前言 应“云技术社区”北极熊之邀,写点东西.思来想去云计算范畴实在广泛,自然就聊点最近话题异常火热,让广大云计算从业者爱之深 ...
- [转] 运维知识体系 -v3.1 作者:赵舜东(赵班长)转载请注明来自于-新运维社区:https://www.unixhot.com
[From]https://www.unixhot.com/page/ops [运维知识体系]-v3.1 作者:赵舜东(赵班长) (转载请注明来自于-新运维社区:https://www.unixhot ...
- 对OpenStack运维架构的总结(转)
这里,仅从技术角度出发,谈谈OpenStack云平台在部署.架构和运维实施等方面的感想. 缘起,在2014年大二首次接触到OpenStack,当时国内外资料远没有当前这么丰富,为安装一个OpenSta ...
- (转) 关于成为linux运维工程师需要掌握的技能
曾经在一年多前写了一篇关于要成为linux运维需要掌握哪些技能和工具的贴子,然后不小心被好几个网友抄袭转发到其它网站上,当然有些是认识的,最后还很幸运地被某些热心的学习者把那段内容剪下来当作圣经般的参 ...
随机推荐
- 【集成开发环境 (IDE)】Dev-Cpp下载与安装 [ 图文教程 ]
版权声明 本文作者:main工作室 本文链接:https://www.cnblogs.com/main-studio/p/17037280.html 版权声明:本文为 博客园 博主「main工作室」的 ...
- ArcGIS Python判断数据是否存在
判断是程序编写的一个基本的操作,也是增强程序稳定性的重要方式.在ArcPy处理数据时,要保证数据存在才能做后续的操作,为源GIS提示使用arcpy自带的Exists函数可判断要素类.表.数据集.sha ...
- 【Redis实战专题】「性能监控系列」全方位探索Redis的性能监控以及优化指南
Redis基本简介 Redis是一个开源(BSD 许可).内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.它支持字符串.哈希表.列表.集合.有序集合等数据类型.内置复制.Lua 脚本. ...
- SOFAJRaft源码阅读-ShutdownHook如何优雅的停机
Java程序经常会遇到进程挂掉的情况,一些状态没有正确的保存下来,这时候就需要在JVM关掉的时候执行一些清理现场的代码.JAVA中的ShutdownHook提供了比较好的方案.而在SOFAJRaft- ...
- gRPC介绍(以Java为例)
1.简介 1.1 gRPC的起源 RPC是Remote Procedure Call的简称,中文叫远程过程调用.用于解决分布式系统中服务之间的调用问题.通俗地讲,就是开发者能够像调用本地方法一样调用远 ...
- C# 10 Lambda 语法的改进
C# 10 包括了对 Lambda 表达式的处理方式的许多改进: Lambda 表达式可以具有自然类型,这使编译器可从 Lambda 表达式或方法组推断委托类型. 如果编译器无法推断返回类型,Lamb ...
- 创建型模式 - 简单工厂模式StaticFactoryMethod
简单工厂模式的定义 创建型模式: 我们把被创建的对象称为产品,把创建产品的对象称为工厂.如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫简单工厂模式. 在简单 ...
- Deep Learning-Based Monocular Depth Estimation Methods-A State-of-the-Art Review
注:刚入门depth estimation,这也是以后的主要研究方向,欢迎同一个方向的加入QQ群(602708168)交流. 1. 论文简介 论文题目:Deep Learning-Based Mono ...
- Spring配置类理解(Lite模式和Full模式)
Spring中的注解大家在开发中都常常用到,但是如果我说我们常常用的注解修饰了一个类,表示这个类就是一个配置类很多开发者都会有点迷糊了.具体配置类在开发中有什么样的用途我就不多说了,相信很多人都知道, ...
- drf-认证、权限、频率、过滤、排序、分页
1.认证组件 1.1 局部认证 1.首先写两个接口,一个查询单个一个查询所有,我们利用视图扩展类和视图子类写在一个视图类上: views.py: from rest_framework.viewset ...