验证rabbitmq的版本


152

如何验证服务器上正在运行哪个版本的Rabbitmq?

是否有命令验证Rabbitmq是否正在运行?

Answers:


211

sudo rabbitmqctl状态

并查找如下所示的行:

{rabbit,“ RabbitMQ”,“ 2.6.1”},


我在Archlinux上找到了它-[{rabbit,34362},{rabbitmqctl23794,40359}]尽管我安装了Rabbitmq 3.1.3-1 :)
Sian Lerk Lau 2013年

1
如果rabbitmq服务已停止?它不起作用。如何获取“关闭” rabbitmq的版本?
andPat 2015年

在Windows中,这非常相似。“ C:\ Program Files \ RabbitMQ Server \ rabbitmq_server-3.6.5 \ sbin \ rabbitmqctl status”文件夹名称可能随您的Rabbit版本不同而不同。
dylanT '16

36

您可以简单地从命令行执行:

sudo rabbitmqctl status | grep rabbit

也许格式已经改变-为的版本3.8.4,更好的搜索字符串sudo rabbitmqctl status | grep -i "version"
Janos

22

如果rabbitimq无法启动,我发现确定版本的唯一方法是通过安装程序系统。

Eample Debian / Ubuntu:

dpkg -s rabbitmq-server | grep Version

6
yum list rabbitmq-server针对Rhel / Centos / Fedora
Elzo Valugi

10

正如Marek在本地服务器上或在远程服务器上(使用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

这与Python3为我工作,但wonly和我的文件夹client_0_8下创建checkVersion.py(在Windows)
阿伦

6

如果您无权访问Rabbitmqctl或Rabbitmq服务器未运行,请在linux上执行以下操作:

ls /usr/lib/rabbitmq/lib/

我有 :

rabbitmq_server-3.5.6

3

在debian系统上,您可以运行:

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

1

由于我一直想在Windows计算机上使用C#来执行此操作,并且当前所有答案都是针对* 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";
    }

1

如果您使用的是“管理”(Web)插件,则RabbitMQ版本以及Erlang运行时的版本会显示在每个网页的右上角。


1

使用C#获取RMQ版本

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

输出:

版本= 3.6.3



-1

登录到管理ui,然后在右上角找到该版本。也使用以下命令查找版本

# sudo bash

# rabbitmqctl status | grep rabbit

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.