Per poter usare NGINX® come Data Source (sorgente dati) per Pluribus One WAS® è necessario svolgere due operazioni:
- Configurare la Data Source.
- Configurare i Syslog.
Le due operazioni possono essere svolte in qualunque ordine si voglia ma entrambe sono necessarie. Puoi svolgere metà della procedura e terminare la parte mancante in un secondo momento. In questa guida imparerai:
- Come usare l'interfaccia grafica Pluribus One WAS® GUI (Graphic User Interface, interfaccia grafica da browser web) per verificare lo status del sistema.
- Come usare la utility di configurazione Pluribus One WAS® TUI (Text-based User Interface, interfaccia grafica da terminale) per impostare la Data Source.
- Come creare un formato di Log per consentire la comunicazione tra Pluribus One WAS® e NGINX®.
Alcuni link di interesse:
- Guida generale alla impostazione di una Data Source: Come configurare una Data source .
- Guida al widget status: Dashboard - Il Widget "Status" .
- Documentazione ufficiale di NGINX® : https://www.nginx.com/products/nginx/ .
Monitorare lo Status
L'interfaccia grafica Pluribus One WAS® GUI fornisce nella schermata dashboard tanti utilissimi widget; un widget ti sarà particolarmente utile a monitorare lo status del sistema, si tratta del widget status. Vediamo in dettaglio quali delle tante voci presenti ti sono utili in questo momento:
- HTTP Source - Connection - ti comunica se Pluribus One WAS® sta comunicando con successo con la tua Data Souce.
- HTTP Source - Retrieving data - ti comunica se Pluribus One WAS® sta ricevendo dati dalla tua Data Source.
Come ti abbiamo anticipato, dovrai Configurare la Data Source e Configurare i Syslog; cosa succede se solo una di queste due operazioni viene compiuta? Cosa accade se entrambe le operazioni vengono effettuate ma una delle due non va a buon fine?
- Ti basta completare Configurare la Data Source affinché il widget status ti segnali HTTP Source - Connection come funzionante.
- Devi completare entrambe le operazioni (Configurare la Data Source e Configurare i Syslog) affinché il widget status ti segnali HTTP Source - Retrieving Data come funzionante.
Queste informazioni ti saranno molto utili sia durante il resto di questa guida che in seguito.
Configurare la Data Source
Prima di configurare la Data Source leggi con attenzione la guida generale che trovi a questo link: Come configurare una Data source
Dovrai effettuare le stesse procedure descritte nella guida, l'unica differenza è il Passo 5 Imposta i Parametri; segui la guida dal Passo 1 al Passo 4, poi leggi di seguito.
Passo 5 Imposta i Parametri per NGINX®
Entra nel sotto menu HTTP Traffic Source ed imposta i parametri richiesti:
- Hosts - elenco di tutti gli indirizzi IP dei server web da cui arriveranno i log; inserisci un indirizzo IP per per riga.
- Generate request IDs locally - seleziona questo parametro se vuoi che venga creato un ID univoco per ogni richiesta in arrivo; seleziona questo parametro se NGINX® non può generare autonomamente tali ID.
- Parallel processes - questo parametro ti permette di indicare quanti core vuoi che vengano usati per il servizio di lettura dei Log.
Una volta terminato il Passo 5 segui il resto della guida standard.
Configurare i Syslog
Per poter usare NGINX® come Data Source (sorgente dati) per Pluribus One WAS® è necessario compiere dei passaggi extra rispetto alla procedura base descritta in questo articolo: Come configurare una Data source. NGINX® può comunicare con Pluribus One WAS® tramite il meccanismo syslog; per poter rendere possibile la comunicazione è necessario compiere due passaggi aggiuntivi:
- Passo 1 - Definire un formato di Log (Log Format).
- Passo 2 - Inviare i Log chiamati Access & Error Log.
Passo 1 - Definire un formato di Log (Log Format).
Il primo requisito per utilizzare NGINX® come Data Source (sorgente dati) è definire uno specifico formato di syslog che contenga tutte le informazioni necessarie per consentire a Pluribus One WAS® di analizzare il traffico in ingresso.
Utilizza la seguente definizione corretta di formato:
log_format ap_format '"$request_id"|"$time_local"|"$remote_addr"|'
'"$host"|"$uri"|"$request_method"|"$server_protocol"|'
'"$query_string"|"$http_referer"|"$status"|'
'"$http_user_agent"|"$http_cookies"|"$content_type"|'
'"$server_addr"|"$http_x_forwarded_for"|"$remote_port"|'
'"$server_port"|"$bytes_sent"';
Se preferisci puoi scaricare il testo come file in formato txt. Trovi il file nginx_log_format.txt a questo link .
La definizione di syslog deve essere aggiunta dentro il file di configurazione presente in questo path: /etc/nginx/nginx.conf.
Passo 2 - Inviare i Log chiamati Access & Error Log.
Una volta definiti log di tipo Access & Error log è giunto il momento di inviare i dati al dispositivo host dove è stata installato e dove è attualmente avviato il software Pluribus One WAS®. Per poter effettuare con successo l'instradamento (routing) del traffico dati si devono usare le seguenti due istruzioni:
- access_log syslog:server=IP_HOST_AP,tag=nginx_ap ap_format;
- error_log syslog:server=IP_HOST_AP warn;
Nel codice indicato bisogna sostituire il campo "IP_HOST_AP" con il indirizzo IP del dispositivo host dove è stato installato Pluribus One WAS®. Consigliamo di mantenere una certa coerenza tra i nuovi parametri di configurazione e quelli già applicati su NGINX®, consigliamo quindi di inserire le due istruzioni presentate sopra esattamente assieme ad altre simili espressioni relative ai log access & error.
Questo genere di espressioni potrebbero trovarsi ad esempio in:
- /etc/nginx/conf.d/
- /etc/nginx/nginx.conf
Ci sono anche delle note ulteriori riguardo le direttive definite precedentemente (log_format, access_log, error_log):
- La direttiva log_format deve essere inserita all'interno della sezione http nel file di configurazione. Inserire la direttiva nella sezione server impedirà l'avvio di NGINX® e causerà un errore.
- Le direttive access_log e error_log devono essere inserite nella sezione server del file di configurazione.
Per maggior informazioni consulta la documentazione ufficiale NGINX® a questo link: https://docs.nginx.com/nginx/admin-guide/monitoring/logging/ .