Comment puis-je vérifier quelle version de rabbitmq est en cours d'exécution sur un serveur?
Existe-t-il une commande permettant de vérifier que rabbitmq est en cours d'exécution?
Sudo rabbitmqctl status
et cherchez la ligne qui ressemble à ça:
{lapin, "RabbitMQ", "2.6.1"},
Vous pouvez simplement exécuter depuis commandilne:
Statut du rabbitmqctl | grep lapin
Si rabbitimq ne peut pas démarrer, j'ai trouvé le seul moyen de déterminer la version via le système d'installation.
Exemple de Debian/Ubuntu:
dpkg -s rabbitmq-server | grep Version
Comme Marek l'a dit sur un serveur local ou sur un serveur distant (à l'aide de amqplib ):
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
Enregistrer sous checkVersion.py
et exécuter avec 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
Si vous n'avez pas accès à rabbitmqctl ou que rabbitmq-server n'est pas en cours d'exécution, sous Linux, procédez comme suit:
ls /usr/lib/rabbitmq/lib/
J'ai eu :
rabbitmq_server-3.5.6
Comme je cherchais à faire cela en C # sur une machine Windows et que toutes les réponses actuelles concernent * nix, je publierai le code que j'ai finalement utilisé:
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";
}
Pour obtenir la version de RMQ en C #
using (var connection = connectionFactory.CreateConnection())
{
if (connection.ServerProperties.ContainsKey("version"))
Console.WriteLine("Version={0}",
Encoding.UTF8.GetString((byte[])connection.ServerProperties["version"]));
}
Sortie:
Version = 3.6.3
Sur les systèmes Debian, vous pouvez simplement exécuter:
dpkg-query --showformat='${Version}' --show rabbitmq-server
Dans l'éventualité où vous utiliseriez le plug-in "gestion" (Web), la version de RabbitMQ apparaît dans le coin supérieur droit de chaque page Web, avec la version de l'exécution d'Erlang.
J'utilise la commande suivante pour ajuster la sortie à la version,
rabbitmqctl status | grep "{rabbit,\"RabbitMQ\""
Sortie:
{rabbit,"RabbitMQ","3.7.3"},
Connectez-vous à l'interface de gestion et en haut à droite, vous trouverez la version. Également utiliser la commande suivante pour trouver la version
# Sudo bash
# rabbitmqctl status | grep rabbit