Console - Interrogazione dei nodi

In questo capitolo impareremo come interrogare i nodi con le seguenti funzioni:

  • Utilizzando dig
  • Utilizzando il comando Monitor
  • Utilizzando il comando Watch
  • Registrando servizi esterni

Cerchiamo di capire ciascuna di queste funzioni in dettaglio.

Utilizzando Dig

Il console ascolta 127.0.0.1:8600 per le query DNS nel console. Il modo in cui determina quali nodi sono disponibili per fornire un servizio utilizza controlli che possono essere:

  • Uno script che viene eseguito e restituisce un file nagios compliant code.

  • Un controllo HTTP che restituisce un codice di risposta HTTP.

  • Un controllo TCP che verifica se una porta è aperta.

Il comando generale per provare dig è -

$ dig @127.0.0.1 -p <port> <service-name>.consul

Ora proviamo un campione dig comando -

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

L'output sarebbe come mostrato nello screenshot seguente.

Utilizzo del comando Monitor

Viene utilizzato per connettersi e mostrare i log di un agente Consul in esecuzione. Questo comando mostrerà i registri recenti. Consente inoltre di registrare l'agente a un livello di registrazione relativamente alto. Consiste di vari livelli di registro, che è possibile seguire, come - Trace, Debug, Info, Warn ed Err.

Proviamo il seguente comando:

$ consul monitor

L'output sarebbe come mostrato nello screenshot seguente.

È inoltre possibile impostare il comando monitor utilizzando i comandi secondari come -log-level e -rpc-address. Per impostazione predefinita, l'indirizzo dell'RPC è 127.0.0.1:8400. Per maggiori informazioni, clicca qui .

Utilizzo del comando Watch

Questo comando ci fornisce un meccanismo per controllare i cambiamenti nell'elenco di nodi, membri del servizio, valore chiave, ecc. Richiama anche un processo con i valori più recenti della vista. Se non viene specificato alcun processo, vengono elaborati i valori correntiSTDOUT, che può essere un modo utile per esaminare i dati in Consul. La guida del comando Consul Watch ha una varietà di opzioni diverse, come mostrato nella seguente schermata:

Proviamo una demo con -type = service come mostrato nel seguente comando.

$ consul watch -type = service -service = consul

Per ulteriori informazioni su questo argomento, fare clic qui .

Registrando servizi esterni

Una volta registrata, l'interfaccia DNS sarà in grado di restituire i "record A" o i record CNAME appropriati per il servizio. Registriamo un servizio esterno, come Amazon, come mostrato nel seguente blocco di codice e anche nello screenshot.

$ 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

Il comando precedente specifica un servizio chiamato come negozio. Questo nodo è chiamato amazon con il suo URL disponibile su www.amazon.com sulla porta 80. Controlliamo l'output su console per assicurarci di aver installato correttamente questo servizio. Per questo, apri la finestra del browser su localhost: 8500.

Per rimuovere il servizio, possiamo semplicemente usare il seguente comando.

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

Controlliamo l'interfaccia utente come mostrato nello screenshot seguente.