• 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崩溃的报告

  • 相关阅读:
    如何辨别护照的种类
    C#枚举中使用Flags特性
    那些年,我们一起学WCF--(7)PerSession实例行为
    64位系统使用Access 数据库文件的彻底解决方法
    从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法
    TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
    解决Winform程序在不同分辨率系统下界面混乱
    【已解决】Https请求——基础连接已经关闭 发送时发生错误
    Entity Framework Code First学习系列目录
    PowerDesigner之PDM(物理概念模型)各种属性建立如PK,AK等
  • 原文地址:https://www.cnblogs.com/aaronRhythm/p/11098250.html
Copyright © 2020-2023  润新知