RabbitMQ 日志

RabbitMQ 日志

1.安装插件rabbitmq_tracing

https://www.cnblogs.com/li150dan/p/9529049.html

启用日志插件命令:rabbitmq-plugins enable rabbitmq_tracing

2.到管理页面添加tracing

       点击“Admin”菜单,右边会多出一个“Tracing”的菜单,填写Name、Format、Max payload bytes、Pattern

       然后点击“添加Add trace”即可添加一个日志

       

    填写说明

    Name: 自定义,建议标准点容易区分 

    Format:表示输出的消息日志格式,有Text和JSON两种,Text格式的日志方便人类阅读,JSON的方便程序解析。 
    JSON格式的payload(消息体)默认会采用Base64进行编码,如上面的“trace test payload.”会被编码成“dHJhY2Ug    dGVzdCBwYXlsb2FkLg==”。

    Max payload bytes:表示每条消息的最大限制,单位为B。比如设置了了此值为10,那么当有超过10B的消息经过Rabbit    MQ流转时,在记录到trace文件的时候会被截断。如上text日志格式中“trace test payload.”会被截断成“trace tes          t”。

   Pattern:用来设置匹配的模式,和Firehose的类似。如“#”匹配所有消息流入流出的情况,即当有客户端生产消息或者    消费消息的时候,会把相应的消息日志都记录下来;“publish.#”匹配所有消息流入的情况;“deliver.#”匹配所有消息    流出的情况;“publish.exchange.b2b.gms.ass”只匹配发送者(Exchanges)为exchange.b2b.gms.ass的所有消息    流入的情况。

 

Text格式的消息日志参考如下:

================================================================================
2017-10-24 9:37:04:412: Message published

Node:         rabbit@node1
Connection:   <rabbit@node1.3.3552.0>
Virtual host: /
User:         root
Channel:      1
Exchange:     exchange
Routing keys: [<<"rk">>]
Routed queues: [<<"queue">>]
Properties:   [{<<"delivery_mode">>,signedint,1},{<<"headers">>,table,[]}]
Payload: 
trace test payload.

JSON格式的消息日志参考如下:

{
    "timestamp": "2017-10-24 9:37:04:412",
    "type": "published",
    "node": "rabbit@node1",
    "connection": "<rabbit@node1.3.3552.0>",
    "vhost": "/",
    "user": "root",
    "channel": 1,
    "exchange": "exchange",
    "queue": "none",
    "routed_queues": [
        "queue"
    ],
    "routing_keys": [
        "rk"
    ],
    "properties": {
        "delivery_mode": 1,
        "headers": {}
    },
    "payload": "dHJhY2UgdGVzdCBwYXlsb2FkLg=="
}

JSON格式的payload(消息体)默认会采用Base64进行编码,如上面的“trace test payload.”会被编码成“dHJhY2UgdGVzdCBwYXlsb2FkLg==”。

引自:https://blog.csdn.net/shmily_lsl/article/details/81185792

3.修改日志路径

https://blog.slogra.com/post-301.html

https://blog.csdn.net/xiaoming1563/article/details/82385486

https://blog.csdn.net/luckykapok918/article/details/78115192

创建rabbitmq-env.conf和rabbitmq.config

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

把rabbitmq-env.conf和rabbitmq.config创建于/etc/rabbitmq目录下,其中rabbitmq-env.conf这个文件的位置是确定和不能改变,必须是在/etc/rabbitmq目录下.

touch /etc/rabbitmq/rabbitmq-env.conf
touch /etc/rabbitmq/rabbitmq.config

rbbitmq-env.conf包括rabbitmq的一些环境变量:
RABBITMQ_MNESIA_BASE=/usr/local/rabbitmq-server/data    //需要使用的MNESIA数据库的路径
RABBITMQ_LOG_BASE=/var/log/rabbitmq              //log的路径
RABBITMQ_PLUGINS_DIR=/usr/local/rabbitmq-server/plugins   //插件的路径

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

设置rabbitmq日志级别
vi /etc/rabbitmq/rabbitmq.conf

[
  {rabbit, [{log_levels, [{connection, warning}]}]}
].

也可以这样写成
[
  {rabbit, [{log_levels, [{connection, error}]}]}
].

ps:最后的]有.号的,希望不要忽略了.

设置rabbitmq日志路径
vi /etc/rabbitmq/rabbitmq-env.conf
  RABBITMQ_LOG_BASE=/vol/pic/log/rabbitmq

注意:打开trace(日志调试插件)会影响MQ的消息写入功能,Trace是Rabbitmq记录每一次发送的消息,方便使用RabbitMQ的开发者调试、排错的。

原理:

  1、Trace启动后会自动创建Exchange:amq.rabbitmq.trace

  2、每个队列会自动绑定该Exchange,绑定后发送到队列的消息都会记录到Trace日志

 

 在..var/log/rabbitmq/路径下有两个日志文件:

  rabbit@localhost.log   MQ启动、连接日志

  rabbit@localhost-sasl.log  saal 用来记录Erlang相关的信息,例如查看Erlang崩溃的报告

标签: RabbitMq

好文要顶 关注我 收藏该文

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值