如何监控rabbitmq 监控的性能

rabbitmq性能
你好,想跟你请教个问题:
心跳我在客户端通过线程专门给mq定时发送,基本不会断开了,但是现在性能提升不上来,我publish取消了confirm,consume也取消了ack,速度还是只有1000左右,我是在虚拟机上测试了,有没有好的方法可以提高下性能,网上说是mq的流量控制所致,我不懂mq服务器源码,暂时也改不了。
这就是选择erlang的代价啊 & 建议去stackoverflow或者rabbitmq的maillist等社区搜索一下, 性能问题肯定很多人分享过经验&如何监控RabbitMQ|RabbitMQ监控工具|RabbitMQ监控|RabbitMQ性能指标|CloudInsight监控RabbitMQ
Cloudinsight Agent 在 4.7.0 版本,将 Agent 名称从 oneapm-ci-agent 更换至 cloudinsight-agent。若您在使用过程中,出现无法正常工作的情况,请加入售后群:
RabbitMQ 是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ 服务器是用 Erlang 语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
Cloudinsight 通过收集 RabbitMQ 消息队列信息,可视化 RabbitMQ 性能。
Cloudinsight 采集 RabbitMQ 以下性能指标:
rabbitmq.node.fd_used
已使用的文件描述符(fd)数量
rabbitmq.node.mem_used
内存使用字节数
rabbitmq.node.partitions
此节点可见的网络分区(Network Partion)数量
rabbitmq.node.run_queue
等待运行的 Erlang 进程平均数量
rabbitmq.node.sockets_used
用于 socket 的文件描述符数量
rabbitmq.queue.active_consumers
活跃的消费者数量,可以立即接收到任何发送到队列中的消息的消费者
rabbitmq.queue.consumer_utilisation
队列消费者接收新消息的时间的比例
rabbitmq.queue.consumers
消费者数量
rabbitmq.queue.memory
队列相关的 Erlang 进程消耗的内存字节数,包括堆栈,堆和内部结构
rabbitmq.queue.messages
队列中的消息总数
rabbitmq.queue.messages.ack.count
发送给客户端并确认的消息数量
rabbitmq.queue.messages.ack.rate
messages/second
每秒发送客户端并确认的消息数量
rabbitmq.queue.messages.deliver.count
消费者接收并响应的消息数量
rabbitmq.queue.messages.deliver.rate
messages/second
每秒消费者接收并响应的消息数量
rabbitmq.queue.messages.deliver_get.count
消费者接收消息(被确认和没有被确认的消息)和从队列当中取出消息(ack 参数传给 basic.get 和 no_ack 参数传给 basic.get)的总和数量
rabbitmq.queue.messages.deliver_get.rate
messages/second
每秒消费者接收消息(被 ack 和没有被 ack 的消息)和从队列当中取出消息(ack 参数传给 basic.get 和 no_ack 参数传给 basic.get)的总和数量
rabbitmq.queue.messages.publish.count
发布的消息数量
rabbitmq.queue.messages.publish.rate
messages/second
每秒发布的消息数量
rabbitmq.queue.messages.rate
messages/second
每秒队列中的消息总数量
rabbitmq.queue.messages.redeliver.count
deliver_get 中有重新发送(redeliver)标记的消息子集数量
rabbitmq.queue.messages.redeliver.rate
messages/second
每秒 deliver_get 中有重新发送(redeliver)标记的消息子集数量
rabbitmq.queue.messages_ready
准备发送给客户端的消息数量
rabbitmq.queue.messages_ready.rate
messages/second
每秒准备发送给客户端的消息数量
rabbitmq.queue.messages_unacknowledged
发送给客户端单但至今还未被确认的消息数量
rabbitmq.queue.messages_unacknowledged.rate
messages/second
每秒发送给客户端但至今还未被确认的消息数量
配置 RabbitMQ 监控
RabbitMQ Management Plugin
RabbitMQ 的监控需要启用
rabbitmq-plugins enable rabbitmq_management
编辑配置文件
编辑配置文件 ,使 Cloudinsight Agent 可以与 RabbitMQ 通信。
init_config:
instances:
- rabbitmq_api_url: http://localhost:15672/api/
rabbitmq_user: username # defaults to 'guest'
rabbitmq_pass: password # defaults to 'guest'
重启 Agent
重启 Cloudinsight Agent,使配置生效。
您也可以通过查看 Agent Info 信息,来验证配置是否成功。当出现以下信息,则代表安装成功。
- instance #0 [OK]
- Collected 8 metrics & 0 events
有关 Agent Info 信息的查看,请访问帮助中心,查看
若要在同一个服务器上监控多个相同的平台服务,参考。
有任何关于产品的使用疑惑,参考。
如果您对 Cloudinsight 感兴趣,可以选择试用我们的产品,只需要点击下面的按钮免费注册即可。如何监控EventViewer|EventViewer监控|EventViewer性能指标|CloudInsight监控EventViewer
Cloudinsight Agent 在 4.7.0 版本,将 Agent 名称从 oneapm-ci-agent 更换至 cloudinsight-agent。若您在使用过程中,出现无法正常工作的情况,请加入售后群:
Event Viewer
Cloudinsight 可以集成微软操作系统的事件查看器,至 Cloudinsight 事件流中。这样有助于排查报警产生的原因。
配置 Event Viewer
打开探针管理工具,就可以开始 Event Viewer 配置了。在管理工具中,找到:win32_event_log.yaml 文件。
添加过滤器
添加过滤器,过滤器可以定义将怎样的事件日志提交到 Cloudinsight。
可以设置以下属性的过滤器:
type: Warning, Error, Information
log_file: Application, System, Setup, Security
source_name: 任何可用的 source name
user: 任何有效的 user
每一个过滤器都是配置文件中 instances 下的一个项目
配置文件: conf.d/win32_event_log.yaml
配置示例:
instances:
# The following will capture errors and warnings from SQL Server which
# puts all events under the MSSQLSERVER source and tag them with #sqlserver.
- sqlserver
- Application
source_name:
- MSSQLSERVER
# This instance will capture all system errors and tag them with #system.
重启探针并确认状态
重启探针,并在探针管理器中查看信息栏,如果有以下信息的输出,代表配置正确 。
win32_event_log
---------------
- instance #0
- Collected 0 metrics, 2 events & 1 service check
若要在同一个服务器上监控多个相同的平台服务,参考。
有任何关于产品的使用疑惑,参考。
如果您对 Cloudinsight 感兴趣,可以选择试用我们的产品,只需要点击下面的按钮免费注册即可。}

我要回帖

更多关于 rabbitmq 监控 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信