サーバーで実行されているrabbitmqのバージョンを確認するにはどうすればよいですか?
Rabbitmqが実行されていることを確認するコマンドはありますか?
Sudo rabbitmqctlのステータス
次のような行を探します。
{rabbit、 "RabbitMQ"、 "2.6.1"}、
コマンドラインから簡単に実行できます:
Sudo rabbitmqctl status | grep rabbit
Rabbitimqを起動できない場合、バージョンを確認する唯一の方法はインストーラーシステムを使用することです。
Debian/Ubuntuのサンプル:
dpkg -s rabbitmq-server | grep Version
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
Rabbitmqctlにアクセスできない場合、またはrabbitmq-serverが実行されていない場合は、Linuxで以下を実行します。
ls /usr/lib/rabbitmq/lib/
私は得た:
rabbitmq_server-3.5.6
私は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";
}
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
Debianシステムでは、次を実行できます。
dpkg-query --showformat='${Version}' --show rabbitmq-server
「管理」(Web)プラグインを使用している可能性が高いイベントでは、RabbitMQバージョンがすべてのWebページの右上隅に、Erlangランタイムのバージョンとともに表示されます。
次のコマンドを使用して、出力をバージョンにトリムします。
rabbitmqctl status | grep "{rabbit,\"RabbitMQ\""
出力:
{rabbit,"RabbitMQ","3.7.3"},
管理UIにログインすると、右上にバージョンが表示されます。また、次のコマンドを使用してバージョンを見つけます
# Sudo bash
# rabbitmqctl status | grep rabbit