Consul-querying-nodes

提供:Dev Guides
移動先:案内検索

Consul-クエリノード

この章では、次の機能を使用してノードを照会する方法を学習します-

  • digを使用する
  • Monitorコマンドを使用する
  • 監視コマンドを使用する
  • 外部サービスを登録する

これらの各機能を詳細に理解しましょう。

Digを使用する

Consulは、127.0.0.1:8600で、consul内のDNSクエリをリッスンします。 サービスを提供するために利用可能なノードを決定する方法は、次のいずれかのチェックを使用しています-

  • 実行され、* nagios準拠のコード*を返すスクリプト。

  • HTTP応答コードを返すHTTPチェック。

  • ポートが開いているかどうかをチェックしているTCPチェック。

    *dig* を試す一般的なコマンドは-
$ dig @127.0.0.1 -p <port> <service-name>.consul

さて、サンプル dig コマンドを試してみましょう-

$ dig @127.0.0.1 -p 8600 web.service.consul

出力は、次のスクリーンショットのようになります。

dig

Monitorコマンドの使用

実行中のConsulエージェントの接続とログの表示に使用されます。 このコマンドは、最近のログを表示します。 また、比較的高いログレベルでエージェントをログに記録することもできます。 トレース、デバッグ、情報、警告、エラーなど、追跡可能なさまざまなログレベルで構成されます。

私たちは次のコマンドを試してみましょう-

$ consul monitor

出力は、次のスクリーンショットのようになります。

モニターコマンド

-log-levelや-rpc-addressなどのサブコマンドを使用してmonitorコマンドを設定することもできます。 デフォルトでは、RPCのアドレスは127.0.0.1:8400です。 詳細については、https://www.consul.io/docs/commands/monitorl [こちら]をクリックしてください。

監視コマンドの使用

このコマンドは、ノード、サービスメンバー、キー値などのリストの変更を監視するメカニズムを提供します。 また、ビューの最新の値でプロセスを呼び出します。 プロセスが指定されていない場合、現在の値は STDOUT に処理されます。これは、Consulでデータを検査する便利な方法です。 Consul Watch Commandヘルプには、次のスクリーンショットに示すようにさまざまなオプションがあります-

ウォッチコマンド

次のコマンドに示すように、*-type = service *でデモを試してみましょう。

$ consul watch -type = service -service = consul

ウォッチタイプ

このトピックの詳細については、https://www.consul.io/docs/agent/watchesl [こちら]をクリックしてください。

外部サービスを登録する

登録されると、DNSインターフェースはサービスの適切な「Aレコード」またはCNAMEレコードを返すことができます。 次のコードブロックとスクリーンショットに示すように、Amazonなどの外部サービスを登録しましょう。

$ sudo curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon",
"Address": "www.amazon.com",
"Service": {"Service": "shop", "Port": 80}}'
http://127.0.0.1:8500/v1/catalog/register

外部サービスの登録

上記のコマンドは、shopと呼ばれるサービスを指定します。 このノードは、ポート80のhttp://www.amazon.com/[www.amazon.com]でURLを使用できるAmazonと呼ばれます。 consulの出力をチェックして、このサービスが正しくインストールされていることを確認してください。 これには、localhost:8500でブラウザウィンドウを開いてください。

外部サービスの登録

サービスを削除するには、次のコマンドを使用します。

$ curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon"}'
http://127.0.0.1:8500/v1/catalog/deregister

サービスの削除

次のスクリーンショットに示すように、UIを確認してみましょう。

サービスの削除