Apache ActiveMQ是一个基于JMX规范的纯Java消息中间件,它为应用系统提供高效、灵活的消息同步与异步传输处理、存储转发、可靠传输的特性。

消息队列对于应用的健康运行非常重要,作为运维人员,我们需要时刻注意:

消息队列的长度,以便确认是否存在大量堆积消息;

消息生产与消费的速率,以便确认业务的吞吐量与波动趋势;

消息队列本身的运行健康指标,以避免由于消息无法传递大范围的影响应用;

使用优云Monitor,通过简单操作,即可实现ActiveMQ监控。下面,我们演示部署的过程与监控的成果。

部署

Monitor通过Agent,采用web控制台或者JMX的方式进行ActiveMQ监控。

本文以CentOS 7上的ActiveMQ为例。采用web控制台的方式进行监控。

下面,将逐步骤说明配置过程:

步骤一:安装代理

通过优云Monitor的部署指令,即可快速完成代理的部署:

进入 部署 界面

选择对应的操作系统,复制命令,并在目录操作系统上执行即可:

步骤二:配置插件

由于ActiveMQ的监控需要用户名与密码,我们必须修改代理的配置,提供监控连接信息:

#通过ActiveMQ的web控制台获取相关指标cd /etc/monitor-agent/conf.d/

cp activemq_xml.yaml.example activemq_xml.yaml#修改配置连接activemq web consolevi activemq_xml.yaml

文件修改如下:

init_config:

instances:

- url: http://127.0.0.1:8161

# the url will probably be something like http://:8161

username:********

password: *************

步骤三:重启代理,并确认数据采集结果

[root@localhost ~]$ service datamonitor-agent restart

[root@localhost ~]$ service datamonitor-agent info

activemq_xml

------------- instance #0 [OK]- Collected 118 metrics, 0 events & 2 service checks#上述表示已经采集到118个指标,说明采集正确

监控

在部署完成后,我们即可在优云平台上查看ActiveMQ的详细指标,以帮助我们快速、准确定位问题。

操作系统方面指标

Monitor采集代理默认周期采集系统的cpu,内存,磁盘等指标, 用以辅助分析相关应用运行情况

由上述图片可知,该系统已超负荷运行,可能是由于运行了太多的应用程序。

消息队列方面指标

通过Monitor可以清晰观察ActiveMQ队列的消息消费者、生产者等变化信息,以便分析相关服务上线、离线时间

通过观察ActiveMQ队列的入队、出队以及队列未被消费的消息数量,可以分析出相关服务是否正常以及队列消费能力是否存在瓶颈

由上述图片可知,该队列的消费者已全部下线。

消息主题方面指标

通过Monitor可以持续追踪ActiveMQ主题的发布、订阅等信息,以便分析对应服务上线、离线时间

通过观察ActiveMQ主题的入队、出队以及队列未被消费的消息数量,可以分析出相关服务是否正常以及对应服务是否存在瓶颈

上述文章介绍的方式为通过ActiveMQ的web控制台采集相应的指标。当然,我们也能通过JMX的方式监控,以获取更多详细的指标。

用Monitor简单3步监控中间件ActiveMQ的更多相关文章

  1. 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】

    说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...

  2. 简单几步配置gitlab

    简单几步配置gitlab 之前配置gitlab需要很多步骤,要装apache2.ruby.tomcat.mysql等一片东西.有没有更简单的方式呢?现在可以借助bitnami,简化了很多. 可以参考v ...

  3. css3简单几步画一个乾坤图

    原文:[原创]css3简单几步画一个乾坤图 效果如上,鼠标移上去会有动画. 代码如下非常简单: <html> <head> <style> .outer{heigh ...

  4. 【转】简单十步让你全面理解SQL

    简单十步让你全面理解SQL 很多程序员认为SQL是一头难以驯服的野兽.它是为数不多的声明性语言之一,也因为这样,其展示了完全不同于其他的表现形式.命令式语言. 面向对象语言甚至函数式编程语言(虽然有些 ...

  5. 最简单的 RabbitMQ 监控方法 - 每天5分钟玩转 OpenStack(158)

    这是 OpenStack 实施经验分享系列的第 8 篇. 先来看张图:这是 Nova 的架构图,我们可以看到有两个组件处于架构的中心位置:数据库和Queue.数据库保存状态信息,而几乎所有的 nova ...

  6. 大麦盒子(domybox)无法进入系统解决方案!【简单几步】

    大麦无法进入系统解决方案![简单几步]前提准备:电脑一台盒子控制台软件盒子开机并联网并且盒子和电脑处于同一个路由器下的网络! 前提准备:电脑一台盒子控制台软件盒子开机并联网并且盒子和电脑处于同一个路由 ...

  7. 如何将新项目添加到github仓库中?只需简单几步~即可实现

    问题描述:新建了一个项目,如何将其设置为git项目?如何关联到github上的仓库? 只需简单几步,但前提是需要已经安装好了git,并且有github账户 本文使用IntelliJ IDEA 其他编辑 ...

  8. 简单几步实现 IOS UITextField输入长度的控制

    在ios开发过程中,我们有时候需要对UITextField的输入长度进行控制,比如输入手机号码最大长度为11位等,而ios自身又不像android那样可以设置输入框的输入长度,接下来通过简单几步实现这 ...

  9. 简单三步同步你的 VSCode 用户配置

    https://www.cnblogs.com/knight-errant/p/10444777.html 设备重装,换设备,VSCode 又要重新配置了?不不不,简单三步,让你的 VSCode 配置 ...

随机推荐

  1. AliRedis单机180w QPS, 8台服务器构建1000w QPS Cache集群

    转自:http://www.open-open.com/lib/view/open1389880948758.html 引言:        如今redis凭借其高性能的优势, 以及丰富的数据结构作为 ...

  2. button按钮不能点击鼠标形状css 代码,禁用button按钮时鼠标形状

    cursor:not-allowed;

  3. GDI+ gif文件的显示和格式转换

    GDI+ gif文件的显示和格式转换   gdi+imagedeletenulltiff GDI+ gif文件的显示和格式转换 怎么获取gif文件的每一帧,并且显示出来呢? 1.怎么用gid+显示gi ...

  4. iOS - 实现语言本地化/国际化

      实现iOS语言本地化/国际化(图文详解) 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个 ...

  5. 【正则表达式1】C++11正则表达式

    https://www.cnblogs.com/pukaifei/p/5546968.html [正则表达式1]C++11正则表达式   头文件 #include <regex> rege ...

  6. 《转》Python学习(19)-python函数(二)-关于lambda

    转自http://www.cnblogs.com/BeginMan/p/3178103.html 一.lambda函数 1.lambda函数基础: lambda函数也叫匿名函数,即,函数没有具体的名称 ...

  7. enum hack

    关于占用内存的大小,enum类型本身是不占内存的,编译器直接替换.但是enum类型的变量肯定是占内存的. class A{ public: //enum类型本身不占内存 enumEnumTest{ a ...

  8. 开发常见错误之 :Missing artifact com.sun:tools:jar 1.7.0

    Missing artifact com.sun:tools:jar 1.7.0 解决办法一: 手动配置pom.xml,添加一个dependency如下: <dependency> < ...

  9. 题目1440:Goldbach's Conjecture(哥达巴赫猜想)

    题目链接:http://ac.jobdu.com/problem.php?pid=1440 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...

  10. 在ubuntu中安装rpm包

    Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb. sudo apt-get install alien #alien默认没有安装,所以首先要安装它 su ...