Xác minh phiên bản của rabbitmq


152

Làm cách nào để xác minh phiên bản nào của rabbitmq đang chạy trên máy chủ?

Có một lệnh để xác minh rằng rabbitmq đang chạy?

Câu trả lời:


211

tình trạng sudo rabbitmqctl

và tìm dòng giống như thế:

{thỏ, "RabbitMQ", "2.6.1"},


Tôi đã nhận được điều này thay vào đó trên Archlinux - [{rabbit, 34362}, {rabbitmqctl23794,40359}] mặc dù tôi đã cài đặt rabbitmq 3.1.3-1 :)
Sian Lerk Lau

1
Và nếu dịch vụ rabbitmq bị dừng? Nó không hoạt động. Làm cách nào tôi có thể truy xuất phiên bản của rabbitmq "tắt"?
andPat

Trong Windows, điều này rất giống nhau. "C: \ Chương trình tập tin \ RabbitMQ Server \ rabbitmq_server-3.6.5 \ sbin \ rabbitmqctl status" Tên thư mục có thể thay đổi theo phiên bản Rabbit của bạn.
dylanT

36

Bạn chỉ có thể thực hiện từ dòng lệnh:

sudo rabbitmqctl status | grep rabbit

Có thể định dạng đã thay đổi - kể từ phiên bản 3.8.4, chuỗi tìm kiếm tốt hơn sudo rabbitmqctl status | grep -i "version".
Janos

22

Nếu rabbitimq không thể khởi động, tôi tìm thấy cách duy nhất để xác định phiên bản là thông qua hệ thống cài đặt.

Lấy mẫu Debian / Ubuntu:

dpkg -s rabbitmq-server | grep Version

6
hoặc yum list rabbitmq-servercho Rhel / Centos / Fedora
Elzo Valugi

10

Như Marek đã nói trên một máy chủ cục bộ, hoặc, trên một máy chủ từ xa (sử dụng 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

Lưu dưới dạng checkVersion.pyvà chạy với 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

Điều này hiệu quả với tôi nhưng rất có ích với Python3 và tôi đã phải tạo checkVersion.py trong thư mục client_0_8 (trong windows)
arun

6

Nếu bạn không có quyền truy cập vào rabbitmqctl hoặc rabbitmq-server không chạy, trên linux hãy:

ls /usr/lib/rabbitmq/lib/

Tôi đã nhận :

rabbitmq_server-3.5.6

3

Trên các hệ thống debian, bạn chỉ có thể chạy:

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

1

Vì tôi đang tìm cách thực hiện điều này trong C # trên máy Windows và tất cả các câu trả lời hiện tại là dành cho * nix, tôi sẽ đăng mã mà cuối cùng tôi đã sử dụng:

    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

Trong trường hợp có khả năng bạn đang sử dụng trình cắm "quản lý" (web), phiên bản RabbitMQ sẽ xuất hiện ở góc trên bên phải của mỗi trang web, cùng với phiên bản thời gian chạy Erlang.


1

Để có phiên bản RMQ bằng C #

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

Đầu ra:

Phiên bản = 3.6.3


1

Tôi sử dụng lệnh sau để cắt đầu ra xuống phiên bản,

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

Đầu ra:

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

-1

Đăng nhập vào quản lý ui và trên cùng bên phải, bạn có thể tìm thấy phiên bản. Cũng sử dụng lệnh sau để tìm phiên bản

# sudo bash

# rabbitmqctl status | grep rabbit

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.