Consul - 查询节点

在本章中,我们将学习如何使用以下函数查询节点 :

  • 使用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

输出将如以下屏幕截图所示.

dig

使用监视命令

它用于连接并显示正在运行的Consul代理的日志.此命令将显示最近的日志.它还允许您以相对较高的日志级别记录代理.它包含各种日志级别,您可以遵循这些级别,例如 - 跟踪,调试,信息,警告和错误.

让我们尝试以下命令 :

 
 $ consul monitor

输出结果如下图所示.

监视命令

您还可以使用子命令设置monitor命令例如-log-level和-rpc-address.默认情况下,RPC的地址为127.0.0.1:8400.

使用Watch命令

此命令为我们提供了一种机制,可以监视节点,服务成员,键值等列表中的更改.它还会调用具有最新值的进程.风景.如果未指定任何进程,则将当前值处理为 STDOUT ,这可能是检查Consul中数据的有用方法. Consul Watch Command帮助有各种不同的选项,如以下屏幕截图所示;

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,如图所示在以下屏幕截图中.

删除服务