Consul-querying-nodes
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
出力は、次のスクリーンショットのようになります。
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を確認してみましょう。