Rabbir的安装、配置、监控

标签: rabbir 监控 | 发表时间:2013-10-06 05:07 | 作者:yusiguyuan
出处:http://blog.csdn.net

关于消息推送机制有很多:Activemq,这个还在使用过,只不多没有做过严格的测试;zeroMQ,明天可能会对这个进行测试吧;RabbitMQ,在网上查看资料发现,这个MQ到有很好的声誉,相比Activemq有很多人说是发现消息丢失,但是这个没有,稍微测试了一下,发送很大的文件也是可以的。这里是看到一个博主在其某篇博文的开始写的一段话,摘录下来共勉:

   发现我有好几篇blog的前缀都是用的“不简单”,它大概描述了这样一个状态:一个看起来很简单的任务在实践之后,发现其实很不容易。很多事情都是这样,如果不是亲自去做,如果不是仔细钻研,那就只能处于雾里看花的状态。
这让我想到另一个故事,在我毕业的那年曾经被某公司的CTO面试,他和我说过一句话让我至今记忆犹新,他跟我说技术其实是很简单的(几年后某位大牛也和我表达过类似的意思)。我一直琢磨这句话的含义,现在理解,他的意思应该是指无论多难的技术,只要你用心,总是能够学习和掌握的。

简单或者不简单,其实不是技术,而是我们做事的态度。

一、安装

RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境。

从Erlang的官网 http://www.erlang.org/download.html 下载最新的erlang安装包,我下载的版本是 otp_src_R14B03.tar.gz 。

然后:

$ tar xvzf otp_src_R14B03.tar.gz
$ cd otp_src_R14B03
$ ./configure

编译后的输出如下图:

提示没有wxWidgets和fop,但是问题不大。继续:
$ make
$ sudo make install

“By default, Erlang/OTP will be installed in `/usr/local/{bin,lib/erlang}`. To instead install in `<BaseDir>/{bin,lib/erlang}`, use the `--prefix=<BaseDir>` option.”


安装完Erlang,开始安装RabbitMQ-Server。

主要参考官方文档: http://www.rabbitmq.com/build-server.html

需要安装一个比较新的Python版本。安装略。

需要安装simplejson。从此处下载最新的版本: http://pypi.python.org/pypi/simplejson#downloads 。我下载的版本是 simplejson-2.2.1.tar.gz

$ tar xvzf simplejson-2.2.1.tar.gz
$ cd simplejson-2.2.1
$ sudo python setup.py install

然后安装RabbitMQ Server。从此处下载源代码版本的RabbitMQ: http://www.rabbitmq.com/server.html。我下载的版本是 rabbitmq-server-2.6.1.tar.gz

$ tar xvzf rabbitmq-server-2.6.1.tar.gz
$ cd rabbitmq-server-2.6.1
$ make
# TARGET_DIR=/usr/local SBIN_DIR=/usr/local/sbin MAN_DIR=/usr/local/man make install

在sbin/目录下出现了三个命令:
rabbitmqctl  rabbitmq-env  rabbitmq-server

安装成功。

二、运行

找到sbin/目录,运行程序:
/usr/local/sbin/rabbitmq-server –detached

停止程序:
/usr/local/sbin/rabbitmqctl stop 

配置

主要参考官方文档: http://www.rabbitmq.com/configure.html

一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,有两个途径:
一个是环境变量的配置文件 rabbitmq-env.conf ;
一个是配置信息的配置文件 rabbitmq.config;
注意,这两个文件默认是没有的,如果需要必须自己创建。

rabbitmq-env.conf
这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。
文件的内容包括了RabbitMQ的一些环境变量,常用的有:
#RABBITMQ_NODE_PORT=    //端口号
#HOSTNAME=
RABBITMQ_NODENAME=mq
RABBITMQ_CONFIG_FILE=        //配置文件的路径
RABBITMQ_MNESIA_BASE=/rabbitmq/data        //需要使用的MNESIA数据库的路径
RABBITMQ_LOG_BASE=/rabbitmq/log        //log的路径
RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins    //插件的路径

具体的列表见: http://www.rabbitmq.com/configure.html#define-environment-variables

rabbitmq.config
这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。

文件的内容详见: http://www.rabbitmq.com/configure.html#config-items

监控

主要参考官方文档: http://www.rabbitmq.com/management.html

RabbitMQ提供了一个web的监控页面系统,这个系统是以Plugin的方式进行调用的。

首先,在rabbitmq-env.conf中配置好plugins目录的位置:RABBITMQ_CONFIG_FILE

将监控页面所需要的plugin下载到plugins目录下,这些plugin包括:
  mochiweb
  webmachine
  rabbitmq_mochiweb
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management
下载路径位于: http://www.rabbitmq.com/plugins.html#rabbitmq_management

重新启动RabbitMQ,输入http://server-name:55672/mgmt/ 就能够进入到监控页面。默认的用户名和密码是: guest 和 guest。如图:



之后如果有时间再补几篇关于使用和性能的文章。
作者:yusiguyuan 发表于2013-10-5 21:07:15 原文链接
阅读:33 评论:0 查看评论

相关 [rabbir 监控] 推荐:

Rabbir的安装、配置、监控

- - CSDN博客推荐文章
关于消息推送机制有很多:Activemq,这个还在使用过,只不多没有做过严格的测试;zeroMQ,明天可能会对这个进行测试吧;RabbitMQ,在网上查看资料发现,这个MQ到有很好的声誉,相比Activemq有很多人说是发现消息丢失,但是这个没有,稍微测试了一下,发送很大的文件也是可以的. 这里是看到一个博主在其某篇博文的开始写的一段话,摘录下来共勉:.

ZooKeeper监控

- - 淘宝网通用产品团队博客
        在公司内部,有不少应用已经强依赖zookeeper,比如meta和精卫系统,zookeeper的工作状态直接影响它们的正常工作. 目前开源世界中暂没有一个比较成熟的zk-monitor,公司内部的各个zookeeper运行也都是无监控,无报表状态. 目前zookeeper-monitor能做哪些事情,讲到这个,首先来看看哪些因素对zookeeper正常工作比较大的影响:.

性能监控

- - 互联网 - ITeye博客
一旦你的服务器是在控制台模式下运行,你就可以开始我们接下来的内容. iostat  iostat 命令用来显示存储子系统的详细信息,通常用它来监控磁盘 I/O 的情况. 要特别注意 iostat 统计结果中的 %iowait 值,太大了表明你的系统存储子系统性能低下. meminfo 和 free  Meminfo 可让你获取内存的详细信息,你可以使用 cat 和 grep 命令来显示 meminfo 信息: 1 cat /proc/meminfo  另外你可以使用 free 命令来显示动态的内存使用信息,free 只是给你大概的内存信息,而 meminfo 提供的信息更加详细.

DB2监控

- - CSDN博客数据库推荐文章
     收集的一些DB2监控方法.. -- 是到数据库快照,并存入文件.  -- 查找并重新绑定无效包 .  -- 查出 myuser 模式下的所有无效包.  -- 利用查出的 pkgname ,使用 Rebind 重新绑定. -- 查看所有用户定义(tabschema not like 'SYS%' )表的状态.

nagios 监控redis

- - C1G军火库
下载check_redis.pl. OK: REDIS 2.6.12 on 192.168.0.130:6379 has 1 databases (db0) with 49801 keys, up 3 days 14 hours - connected_clients is 1, blocked_clients is 0 | connected_clients=1 blocked_clients=0.

监控进程

- - 火丁笔记
有时候,进程突然终止服务,可能是没有资源了,也可能是意外,比如说:因为 OOM 被杀;或者由于 BUG 导致崩溃;亦或者误操作等等,此时,我们需要重新启动进程. 实际上,Linux 本身的初始化系统能实现简单的功能,无论是老牌的 SysVinit,还是新潮的  Upstart 或者  Systemd 均可,但它们并不适合处理一些复杂的情况,比如说:CPU 占用超过多少就重启;或者同时管理 100 个 PHP 实现的 Worker 进程等等,如果你有类似的需求,那么可以考虑试试 Monit 和 Supervisor,相信会有不一样的感受.

业务监控

- - 人月神话的BLOG
前面写了一些文章,包括移动BI,企业信息可视化,微信企业号,基于SNS移动应用协同等,这些都是个人认为企业后续信息化可能存在的机会点或发展趋势. 其中核心词汇将仍然集中在移动化,SNS化,可视化,无边界这些核心词汇和能力实现上. 当前我们看到不论是网管系统还是IT应用监控平台,其核心重点仍然围绕在IT基础设施和资源,数据库和应用中间件的监控和实时预警上,其更多面对的是IT运维和管控人员,而非业务人员.

SpringBoot-Metrics监控

- -
Metrics基本上是成熟公司里面必须做的一件事情,简单点来说就是对应用的监控,之前在一些技术不成熟的公司其实是不了解这种概念,因为业务跟技术是相关的. 当业务庞大起来,技术也会相对复杂起来,对这些复杂的系统进行监控就存在必要性了,特别是在soa化的系统中,完整一个软件的功能分布在各个系统中,针对这些功能进行监控就更必要了.

Linux系统监控

- - CSDN博客系统运维推荐文章
查看所有的进程和端口使用情况:. 查看nginx并发(连接数)进程数:. 查看当网络连接状态中,已建立连接的数量:. 查看系统tcp连接中各个状态的连接数. 输出每个ip的连接数,以及总的各个状态的连接数. df -hl 查看磁盘使用情况 . df -hl 查看磁盘剩余空间. df -h 查看每个根路径的分区大小.

Redis监控技巧

- - NoSQLFan
本文来自 Bugsnag的联合创始人 Simon Maynard的系列文章,作者根据几年来对 Redis的使用经历,对Redis 监控方法进行了系统性的总结,干货很多,值得一看. 原文链接: Redis Masterclass – Part 2, Monitoring. Redis 监控最直接的方法当然就是使用系统提供的 info 命令来做了,你只需要执行下面一条命令,就能获得 Redis 系统的状态报告.