web-dev-qa-db-ja.com

rabbitmq資格情報が有効であることを確認します

RabbitMQの資格情報が有効であることを確認するために、展開後に実行する簡単なスモークテストを記述したいと思います。 rabbitmqユーザー名/パスワード/ vhostが有効であることを確認する最も簡単な方法は何ですか?

編集:できれば、bashスクリプトを使用して確認してください。または、Pythonスクリプトを使用します。

25
Lorin Hochstein

言語などの詳細を提供していないので:

管理APIにHTTP GETリクエストを発行するだけです。

$ curl -i -u guest:guest http://localhost:15672/api/whoami

参照 RabbitMQ管理HTTP API

46
ccellar

Pythonを使用して確認する方法は次のとおりです。

#!/usr/bin/env python
import socket
from kombu import Connection
Host = "localhost"
port = 5672
user = "guest"
password = "guest"
vhost = "/"
url = 'amqp://{0}:{1}@{2}:{3}/{4}'.format(user, password, Host, port, vhost)
with Connection(url) as c:
    try:
        c.connect()
    except socket.error:
        raise ValueError("Received socket.error, "
                         "rabbitmq server probably isn't running")
    except IOError:
        raise ValueError("Received IOError, probably bad credentials")
    else:
        print "Credentials are valid"
26
Lorin Hochstein

rabbitmqctlでも試すことができます。

rabbitmqctl authenticate_user username password

bashで戻りコードを確認してください。

2
Baris Demiray

pythonを使用:

>>> import pika
>>> URL = 'amqp://guest:guest@localhost:5672/%2F'
>>> parameters = pika.URLParameters(URL)
>>> connection = pika.BlockingConnection(parameters)
>>> connection.is_open
True
>>> connection.close()
2
tulsluper