Jak mogę sprawdzić, która wersja Rabbitmq działa na serwerze?
Czy istnieje polecenie sprawdzające, czy Rabbitmq działa?
Jak mogę sprawdzić, która wersja Rabbitmq działa na serwerze?
Czy istnieje polecenie sprawdzające, czy Rabbitmq działa?
Odpowiedzi:
status sudo rabbitmqctl
i poszukaj linii, która wygląda tak:
{królik, "RabbitMQ", "2.6.1"},
Możesz po prostu wykonać z wiersza poleceń:
sudo rabbitmqctl status | grep rabbit
3.8.4
lepszy jest ciąg wyszukiwania sudo rabbitmqctl status | grep -i "version"
.
Jeśli rabbitimq nie może się uruchomić, stwierdziłem, że jedynym sposobem ustalenia wersji jest skorzystanie z systemu instalacyjnego.
Przykład Debian / Ubuntu:
dpkg -s rabbitmq-server | grep Version
yum list rabbitmq-server
dla Rhel / Centos / Fedora
Jak powiedział Marek na serwerze lokalnym lub na serwerze zdalnym (używając 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
Zapisz jako checkVersion.py
i uruchom z 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
Jeśli nie masz dostępu do rabbitmqctl lub rabbitmq-server nie działa, na Linuksie zrób:
ls /usr/lib/rabbitmq/lib/
Mam :
rabbitmq_server-3.5.6
Ponieważ chciałem to zrobić w C # na komputerze z systemem Windows, a wszystkie aktualne odpowiedzi dotyczą * nix, opublikuję kod, którego użyłem:
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";
}
Aby uzyskać wersję RMQ przy użyciu C #
using (var connection = connectionFactory.CreateConnection())
{
if (connection.ServerProperties.ContainsKey("version"))
Console.WriteLine("Version={0}",
Encoding.UTF8.GetString((byte[])connection.ServerProperties["version"]));
}
Wynik:
Wersja = 3.6.3
Używam następującego polecenia, aby przyciąć dane wyjściowe do wersji,
rabbitmqctl status | grep "{rabbit,\"RabbitMQ\""
Wynik:
{rabbit,"RabbitMQ","3.7.3"},
Zaloguj się do interfejsu zarządzania, aw prawym górnym rogu możesz znaleźć wersję. Aby znaleźć wersję, użyj również następującego polecenia
# sudo bash
# rabbitmqctl status | grep rabbit