ตรวจสอบเวอร์ชั่นของ rabbitmq


152

ฉันจะตรวจสอบเวอร์ชั่นของ Rabbitmq ที่ทำงานบนเซิร์ฟเวอร์ได้อย่างไร?

มีคำสั่งให้ตรวจสอบว่า rabbitmq กำลังทำงานอยู่หรือไม่?

คำตอบ:


211

สถานะ sudo rabbitmqctl

และค้นหาบรรทัดที่มีลักษณะดังนี้:

{กระต่าย "RabbitMQ", "2.6.1"},


ฉันได้รับสิ่งนี้แทน Archlinux - [{rabbit, 34362}, {rabbitmqctl23794,40359}] แม้ว่าฉันได้ติดตั้ง rabbitmq 3.1.3-1 :) :)
Sian Lerk Lau

1
และถ้าบริการ Rabbitmq หยุดทำงาน มันใช้งานไม่ได้ ฉันจะดึง Rabbitmq รุ่น "shut down" ได้อย่างไร?
andPat

ใน Windows นี่คล้ายกันมาก "C: \ Program Files \ RabbitMQ Server \ rabbitmq_server-3.6.5 \ sbin \ rabbitmqctl สถานะ" ชื่อโฟลเดอร์อาจแตกต่างกันไปตามเวอร์ชั่นของ Rabbit
dylanT

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

นี้ทำงานสำหรับฉัน แต่ wonly กับ Python3 และผมก็มีการสร้าง checkVersion.py ภายใต้ client_0_8 โฟลเดอร์ (ใน Windows)
อรุณ

6

หากคุณไม่สามารถเข้าถึง rabbitmqctl หรือ rabbitmq-server ไม่ได้ทำงานบน linux do:

ls /usr/lib/rabbitmq/lib/

ฉันได้ :

rabbitmq_server-3.5.6


1

เนื่องจากฉันต้องการทำสิ่งนี้ใน C # บนเครื่อง Windows และคำตอบปัจจุบันทั้งหมดสำหรับ * ระวังฉันจะโพสต์รหัสที่ฉันใช้:

    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

ในกรณีที่เป็นไปได้ว่าคุณกำลังใช้ปลั๊กอิน "การจัดการ" (เว็บ) เวอร์ชั่น RabbitMQ จะปรากฏที่มุมขวาบนของทุกหน้าเว็บพร้อมกับเวอร์ชั่นของ Erlang


1

วิธีรับรุ่น 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 =


1

ฉันใช้คำสั่งต่อไปนี้เพื่อตัดทอนผลลัพธ์ลงเป็นเวอร์ชัน

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

เอาท์พุท:

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

-1

เข้าสู่ระบบการจัดการ UI และด้านบนขวาคุณสามารถค้นหารุ่น ใช้คำสั่งต่อไปนี้เพื่อค้นหาเวอร์ชัน

# sudo bash

# rabbitmqctl status | grep rabbit

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.