11 ответов:
Если rabbitimq не может запуститься, я нашел единственный способ определить версию через систему установки.
Пример Debian/Ubuntu:
dpkg -s rabbitmq-server | grep Version
как Марек сказал, что на локальном сервере или на удаленном сервере (используя 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Сохранить как
checkVersion.pyи запускать с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
поскольку я хотел сделать это в C# на машине Windows, и все текущие ответы предназначены для *nix, я опубликую код, который я использовал:
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"; }
чтобы получить версию RMQ с помощью C#
using (var connection = connectionFactory.CreateConnection()) { if (connection.ServerProperties.ContainsKey("version")) Console.WriteLine("Version={0}", Encoding.UTF8.GetString((byte[])connection.ServerProperties["version"])); }выход:
версия=3.6.3
в вероятном случае, если вы используете плагин "управление" (web), версия RabbitMQ появляется в правом верхнем углу каждой веб-страницы вместе с версией времени выполнения Erlang.
войдите в пользовательский интерфейс управления и в правом верхнем углу вы можете найти версию. Также используйте следующую команду, чтобы найти версию
# sudo bash
# rabbitmqctl status | grep rabbit
в системах debian вы можете просто запустить:
dpkg-query --showformat='${Version}' --show rabbitmq-server
Я использую следующую команду, чтобы обрезать вывод до версии
rabbitmqctl status | grep "{rabbit,\"RabbitMQ\""выход:
{rabbit,"RabbitMQ","3.7.3"},
Если у вас нет доступа к rabbitmqctl или rabbitmq-сервер не работает, на linux do:
ls /usr/lib/rabbitmq/lib/Я :
rabbitmq_server-3.5.6
Comments