在本章中,我们将学习如何使用以下函数查询节点 :
使用dig
使用监视器命令
使用监视命令
通过注册外部服务
让我们详细了解这些函数.
使用Dig
Consul侦听127.0.0.1: 8600用于领事中的DNS查询.它确定哪些节点可用于提供服务的方式是使用可以是 : 的检查;
一个脚本执行并返回 nagios兼容代码.
返回HTTP响应代码的HTTP检查.
检查端口是否打开的TCP检查.
一般尝试挖掘的命令是 :
$ dig @ 127.0.0.1 -p< port> < service-name> .consul
现在,让我们试一下示例挖掘命令 :
$ dig @ 127.0.0.1 -p 8600 web.service.consul
输出将如以下屏幕截图所示.
使用监视命令
它用于连接并显示正在运行的Consul代理的日志.此命令将显示最近的日志.它还允许您以相对较高的日志级别记录代理.它包含各种日志级别,您可以遵循这些级别,例如 - 跟踪,调试,信息,警告和错误.
让我们尝试以下命令 :
$ consul monitor
输出结果如下图所示.
您还可以使用子命令设置monitor命令例如-log-level和-rpc-address.默认情况下,RPC的地址为127.0.0.1:8400.
使用Watch命令
此命令为我们提供了一种机制,可以监视节点,服务成员,键值等列表中的更改.它还会调用具有最新值的进程.风景.如果未指定任何进程,则将当前值处理为 STDOUT ,这可能是检查Consul中数据的有用方法. Consul Watch Command帮助有各种不同的选项,如以下屏幕截图所示;
让我们尝试使用 -type = service 进行演示,如以下命令所示.
$ consul watch -type = service -service = consul
通过注册外部服务
注册后,DNS界面将能够返回服务的相应"A记录"或CNAME记录.让我们注册一个外部服务,如亚马逊,如下面的代码块和屏幕截图所示.
$ 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的服务.此节点称为亚马逊,其URL可在端口80上的 www.amazon.com 上获取.让我们检查领事的输出,以确保我们已正确安装此服务.为此,请打开localhost:8500的浏览器窗口.
要删除该服务,我们只需使用以下命令.
$ curl -X PUT -d'{"Datacenter" :"dc1","Node":"amazon"}' http://127.0.0.1:8500/v1/catalog/deregister
让我们检查一下UI,如图所示在以下屏幕截图中.