目录

rabbitmq的安装

环境

cat /proc/version

</code>Linux version 4.4.0-63-generic (buildd@lcy01-31) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #84-Ubuntu SMP Wed Feb 1 17:20:32 UTC 2017</code>

安装

#加rabbitmq的公钥为可信,以免稍后的安全提示
wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
sudo apt-key add rabbitmq-signing-key-public.asc
#update
sudo apt-get update
#开始安装,rabbitmq是erlang语言开发,所以过程中会先安装erlang环境,再安装rabbitmq
sudo apt-get install rabbitmq-server

目录

安装目录

cd /usr/lib/rabbitmq/bin

下面有脚本

abbitmqctl        rabbitmq-plugins         rabbitmq-server-wait
rabbitmq-defaults  rabbitmq-script-wrapper
rabbitmq-env       rabbitmq-server

查看状态

sudo rabbitmqctl status
Status of node rabbit@iZbp12rdwfbgblafgipsh5Z ...
[{pid,22353},
 {running_applications,
     [{rabbitmq_management,"RabbitMQ Management Console","3.5.7"},
      {rabbitmq_management_agent,"RabbitMQ Management Agent","3.5.7"},
      {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.5.7"},
      {webmachine,"webmachine","1.10.3-rmq3.5.7-gite9359c7"},
      {mochiweb,"MochiMedia Web Server","2.7.0-rmq3.5.7-git680dba8"},
      {inets,"INETS  CXC 138 49","6.2"},
      {amqp_client,"RabbitMQ AMQP Client","3.5.7"},
      {rabbit,"RabbitMQ","3.5.7"},
      {mnesia,"MNESIA  CXC 138 12","4.13.3"},
      {os_mon,"CPO  CXC 138 46","2.4"},
      {xmerl,"XML parser","1.3.10"},
      {sasl,"SASL  CXC 138 11","2.7"},
      {stdlib,"ERTS  CXC 138 10","2.8"},
      {kernel,"ERTS  CXC 138 10","4.2"}]},
 {os,{unix,linux}},
 {erlang_version,
     "Erlang/OTP 18 [erts-7.3] [source] [64-bit] [async-threads:64] [kernel-poll:true]\n"},
 {memory,
     [{total,45728408},
      {connection_readers,0},
      {connection_writers,0},
      {connection_channels,0},
      {connection_other,5184},
      {queue_procs,2592},
      {queue_slave_procs,0},
      {plugins,827232},
      {other_proc,13413216},
      {mnesia,59072},
      {mgmt_db,254328},
      {msg_index,44896},
      {other_ets,1100720},
      {binary,68152},
      {code,20463646},
      {atom,711569},
      {other_system,8777801}]},
 {alarms,[]},
 {listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
 {vm_memory_high_watermark,0.4},
 {vm_memory_limit,415485132},
 {disk_free_limit,50000000},
 {disk_free,36103258112},
 {file_descriptors,
     [{total_limit,65436},
      {total_used,3},
      {sockets_limit,58890},
      {sockets_used,1}]},
 {processes,[{limit,1048576},{used,178}]},
 {run_queue,0},
 {uptime,991}]

启动脚本

sudo /usr/lib/rabbitmq/bin/rabbitmq-server -detached

关闭脚本

sudo /usr/lib/rabbitmq/bin/rabbitmqctl stop

启用WEB管理台

sudo rabbitmq-plugins enable rabbitmq_management

添加用户

#添加用户
sudo rabbitmqctl add_user admin admin123 
#设置权限
sudo rabbitmqctl set_user_tags admin administrator

访问

http://121.40.171.96:15672/

输入admin/admin123

设置virtual_hosts权限

点击admin 点击Set permission

启用trace日志

进入目录

cd /usr/lib/rabbitmq/bin

启用tracing插件

sudo rabbitmq-plugins enable rabbitmq_tracing

这时候会发现/var/tmp/会多一个目录

/var/tmp/rabbitmq-tracing/

但是这个目录下没有内容 开启trace开关

sudo rabbitmqctl trace_on

查看插件列表

sudo rabbitmq-plugins list

可以看到rabbitmq_tracing

[E ] rabbitmq_tracing                  3.5.7

在WEB管理台上新增trace log文件

新增后

点击trace_log.log,相当于访问

http://121.40.171.96:15672/api/trace-files/trace_log.log

可以在浏览器上查看日志文件

对应于linux下的路径:

/var/tmp/rabbitmq-tracing/trace_log.log

发送mq日志举例

================================================================================
2017-06-01 13:29:53:646: Message published

Node:         rabbit@iZbp12rdwfbgblafgipsh5Z
Connection:   101.95.108.90:51530 -> 121.40.171.96:5672
Virtual host: /
User:         admin
Channel:      1
Exchange:     direct.exchange
Routing keys: [<<"server.to.client.direct.key">>]
Routed queues: [<<"server.to.client.direct">>]
Properties:   [{<<"priority">>,signedint,0},
               {<<"delivery_mode">>,signedint,2},
               {<<"headers">>,table,[]},
               {<<"content_encoding">>,longstr,<<"UTF-8">>},
               {<<"content_type">>,longstr,<<"text/plain">>}]
Payload: 
{"index":1,"name":"gxx1"}

================================================================================

消费mq日志举例

================================================================================
2017-06-01 13:31:55:240: Message received

Node:         rabbit@iZbp12rdwfbgblafgipsh5Z
Connection:   101.95.108.90:51928 -> 121.40.171.96:5672
Virtual host: /
User:         admin
Channel:      1
Exchange:     direct.exchange
Routing keys: [<<"server.to.client.direct.key">>]
Queue:        server.to.client.direct
Properties:   [{<<"priority">>,signedint,0},
               {<<"delivery_mode">>,signedint,2},
               {<<"headers">>,table,[]},
               {<<"content_encoding">>,longstr,<<"UTF-8">>},
               {<<"content_type">>,longstr,<<"text/plain">>}]
Payload: 
{"index":1,"name":"gxx1"}

================================================================================