Überprüfen Sie die Version von rabbitmq


152

Wie kann ich überprüfen, welche Version von rabbitmq auf einem Server ausgeführt wird?

Gibt es einen Befehl, um zu überprüfen, ob rabbitmq ausgeführt wird?

Antworten:


211

sudo rabbitmqctl status

und suchen Sie nach einer Linie, die so aussieht:

{Kaninchen, "RabbitMQ", "2.6.1"},


Ich habe dies stattdessen auf Archlinux bekommen - [{rabbit, 34362}, {rabbitmqctl23794,40359}], obwohl ich rabbitmq 3.1.3-1 installiert habe :)
Sian Lerk Lau

1
Und wenn die Rabbitmq-Dienste eingestellt werden? Es funktioniert nicht. Wie kann ich eine Version eines "heruntergefahrenen" Rabbitmq abrufen?
andPat

In Windows ist dies sehr ähnlich. "C: \ Programme \ RabbitMQ Server \ rabbitmq_server-3.6.5 \ sbin \ rabbitmqctl status" Der Ordnername kann je nach Version von Rabbit variieren.
DylanT

36

Sie können einfach über die Befehlszeile ausführen:

sudo rabbitmqctl status | grep rabbit

Möglicherweise hat sich das Format geändert - ab Version 3.8.4ist eine bessere Suchzeichenfolge sudo rabbitmqctl status | grep -i "version".
Janos

22

Wenn rabbitimq nicht gestartet werden kann, habe ich die einzige Möglichkeit gefunden, die Version über das Installationssystem zu bestimmen.

Beispiel Debian / Ubuntu:

dpkg -s rabbitmq-server | grep Version

6
oder yum list rabbitmq-serverfür Rhel / Centos / Fedora
Elzo Valugi

10

Wie Marek auf einem lokalen Server oder auf einem Remote-Server (mit amqplib ) sagte :

from amqplib import client_0_8 as amqp
import sys

conn = amqp.Connection(host=sys.argv[1], userid="guest", password="guest", virtual_host="/", insist=False)

for k, v in conn.server_properties.items():
    print k, v

Speichern unter checkVersion.pyund ausführen mit python checkVersion.py dev.rabbitmq.com:

% python checkVersion.py dev.rabbitmq.com
information Licensed under the MPL.  See http://www.rabbitmq.com/
product RabbitMQ
copyright Copyright (C) 2007-2011 VMware, Inc.
capabilities {}
platform Erlang/OTP
version 2.6.0

Dies funktionierte für mich aber erfolgreich mit Python3 und ich musste checkVersion.py unter dem Ordner client_0_8 (in Windows)
erstellen

6

Wenn Sie keinen Zugriff auf rabbitmqctl haben oder der rabbitmq-Server nicht ausgeführt wird, gehen Sie unter Linux wie folgt vor:

ls /usr/lib/rabbitmq/lib/

Ich habe :

rabbitmq_server-3.5.6

3

Auf Debian-Systemen können Sie einfach Folgendes ausführen:

dpkg-query --showformat='${Version}' --show rabbitmq-server

1

Da ich dies in C # auf einem Windows-Computer tun wollte und alle aktuellen Antworten für * nix sind, werde ich den Code veröffentlichen, den ich letztendlich verwendet habe:

    public string GetRabbitMqVersion()
    {
        string prefix = "rabbitmq_server-";
        var dirs = System.IO.Directory.EnumerateDirectories(@"C:\Program Files (x86)\RabbitMQ Server", string.Format("{0}*",prefix));

        foreach (var dir in dirs)
        {
            //Just grab the text after 'rabbitmq_server-' and return the first item found
            var i = dir.LastIndexOf(prefix);
            return dir.Substring(i+16);
        }
        return "Unknown";
    }

1

In dem wahrscheinlichen Fall, dass Sie das "Management" -Plug-In (Web) verwenden, wird die RabbitMQ-Version zusammen mit der Version der Erlang-Laufzeit in der oberen rechten Ecke jeder Webseite angezeigt.


1

So erhalten Sie die RMQ-Version mit C #

using (var connection = connectionFactory.CreateConnection())
{
    if (connection.ServerProperties.ContainsKey("version"))
        Console.WriteLine("Version={0}",
            Encoding.UTF8.GetString((byte[])connection.ServerProperties["version"]));
}

Ausgabe:

Version = 3.6.3


1

Ich benutze den folgenden Befehl, um die Ausgabe auf die Version zu reduzieren:

rabbitmqctl status | grep "{rabbit,\"RabbitMQ\""

Ausgabe:

  {rabbit,"RabbitMQ","3.7.3"},

-1

Melden Sie sich bei der Management-Benutzeroberfläche an und oben rechts finden Sie die Version. Verwenden Sie auch den folgenden Befehl, um die Version zu finden

# sudo bash

# rabbitmqctl status | grep rabbit

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.