Wie gelangen Sie zu den detaillierten log/info über rabbitmq-Verbindung handeln?

Habe ich ein python-Programm Verbindung zu einem rabbitmq-server. Wenn dieses Programm gestartet wird, es verbindet auch. Aber wenn rabbitmq-server neu gestartet, mein Programm kann keine neue Verbindung herstellen, und verlassen nur Fehler "Socket geschlossen"(produziert von kombu), die bedeutungslos ist.

Will ich wissen, die detaillierte Infos über das scheitern der Verbindung. Auf der server-Seite, es ist nichts nützliches in der rabbitmq-log-Datei entweder, es sagte nur: "Verbindung fehlgeschlagen" ohne Grund gegeben.

Habe ich versucht, das trace-plugin(https://www.rabbitmq.com/firehose.html), gefunden und dort war keine Spur info veröffentlicht amq.rabbitmq.trace austauschen, wenn die Verbindung scheitern happended. Ich aktivierte das plugin mit:

rabbitmq-plugins enable rabbitmq_tracing
systemctl restart rabbitmq-server
rabbitmqctl trace_on

dann schrieb ich einen client, um die Nachricht von amq.rabbitmq.trace exchange:

#!/bin/env python
from kombu.connection import BrokerConnection
from kombu.messaging import Exchange, Queue, Consumer, Producer

def on_message(self, body, message):
    print("RECEIVED MESSAGE: %r" % (body, ))
    message.ack()

def main():
    conn = BrokerConnection('amqp://admin:pass@localhost:5672//')
    channel = conn.channel()
    queue = Queue('debug', channel=channel,durable=False)
    queue.bind_to(exchange='amq.rabbitmq.trace', routing_key='publish.amq.rabbitmq.trace')
    consumer = Consumer(channel, queue)
    consumer.register_callback(on_message)
    consumer.consume()
    while True:
        conn.drain_events()

if __name__ == '__main__':
    main()

Ich habe auch versucht, einige debug-log von rabbitmq-server. Ich umkonfiguriert, rabbitmq.config nach https://www.rabbitmq.com/configure.html, und legen Sie
log_levels zu

{log_levels, [{connection, info}]}

sondern als Ergebnis rabbitmq-server konnte nicht gestartet werden. Es scheint, wie die offizielle doc ist nicht für mich, meine rabbitmq-server version ist 3.3.5. Allerdings

{log_levels, [connection,debug,info,error]}

oder

{log_levels, [connection,debug]}

funktioniert, aber mit diesem gibt es keine DEBUG-Infos zeigen in den Protokollen, die ich weiß nicht, ob es ist, weil die log_levels Konfiguration ist nicht effektiv, oder es ist eben kein DEBUG-log habe gedruckt, die ganze Zeit.

InformationsquelleAutor apporc | 2015-07-21

Schreibe einen Kommentar