Consul 查询节点
在本章中,我们将学习如何使用以下函数查询节点:
- 使用挖掘
- 使用监控命令
- 使用监视命令
- 通过注册外部服务
让我们详细了解这些功能。
使用挖掘
Consul 在 127.0.0.1:8600 上侦听 consul 中的 DNS 查询。它确定哪些节点可用于提供服务的方式是使用以下两种检查:
-
执行的脚本并返回一个 nagios 兼容代码 .
-
返回 HTTP 响应代码的 HTTP 检查。
-
检查端口是否打开的 TCP 检查。
试用的一般命令 dig is:
$ dig @127.0.0.1 -p <port> <service-name>.consul
现在,让我们尝试一个样本 dig command:
$ dig @127.0.0.1 -p 8600 web.service.consul
输出将如以下屏幕截图所示。
使用监控命令
它用于连接和显示正在运行的 Consul 代理的日志。此命令将显示最近的日志。它还允许你以相对较高的日志级别记录代理。它由你可以遵循的各种日志级别组成,例如 – Trace、Debug、Info、Warn 和 Err。
让我们试试下面的命令:
$ consul monitor
输出将如以下屏幕截图所示。
你还可以使用 -log-level 和 -rpc-address 等子命令设置监控命令。默认情况下,RPC 的地址是 127.0.0.1:8400。欲了解更多信息,请单击 here .
使用监视命令
该命令为我们提供了一种机制来监视节点列表、服务成员、键值等的变化。它还使用视图的最新值调用进程。如果未指定进程,则将当前值处理为 STDOUT ,这可能是在 Consul 中检查数据的有用方法。 Consul Watch Command 帮助有多种不同的选项,如下图所示:
让我们尝试一个演示 -类型=服务 如以下命令所示。
$ consul watch -type = service -service = consul
有关此主题的更多信息,你可以单击 here .
通过注册外部服务
注册后,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 的服务。该节点被称为 amazon,其 URL 位于 www.amazon.com 在端口 80 上。让我们检查 consul 的输出以确保我们已正确安装此服务。为此,请在 localhost:8500 打开浏览器窗口。
要删除该服务,我们可以简单地使用以下命令。
$ curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon"}' http:// 127.0.0.1:8500/v1/catalog/deregister
让我们检查它的 UI,如以下屏幕截图所示。