您的位置:首页 > 其它

rabbitmq启用日志功能记录消息队列收发情况

2017-11-30 16:00 507 查看
原文:http://blog.csdn.net/u013256816/article/details/76039201

1、启用日志插件命令

rabbitmq-plugins enable rabbitmq_tracing

2、到管理界面添加tracing



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

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

填写说明

Format”表示输出的消息日志格式,有Text和JSON两种,Text格式的日志方便人类阅读,JSON的方便程序解析。 

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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14

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=="
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

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

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

“Pattern”用来设置匹配的模式,和Firehose的类似。如“#”匹配所有消息流入流出的情况,即当有客户端生产消息或者消费消息的时候,会把相应的消息日志都记录下来;“publish.#”匹配所有消息流入的情况;“deliver.#”匹配所有消息流出的情况。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐