SaltStack - Registrazione

La registrazione viene utilizzata per tenere traccia degli eventi software in esecuzione. Un evento è descritto da un messaggio descrittivo, che può opzionalmente contenere dati variabili. L'approccio alla registrazione del sale viene utilizzato per ottenere eventuali problemi che potresti incontrare. Puoi effettuare il check-out con livelli di registro specifici.

Impostazioni di configurazione

Cerchiamo di capire le diverse impostazioni di configurazione per la registrazione, in dettaglio.

LOG_FILE

I record di registro Salt vengono passati attraverso il file, che contiene il nome del percorso locale o il percorso di rete per l'identificazione. Questo file è considerato come il file di registro.

log_file: /var/log/salt/master

Qui, il file dipendente dal binario in esecuzione nel master. Allo stesso modo, puoi eseguire anche nel minion, come mostrato di seguito.

log_file: /var/log/salt/minion

Puoi anche utilizzare l'indirizzo remoto. La sintassi per l'utilizzo dell'indirizzo remoto è - <file | udp | tcp>: // <host | socketpath>: <port-if-required> / <log-facility>.

log_file: udp://loghost:port

Qui, la funzione di registro è impostata su LOG_USER.

LOG_LEVEL

I livelli di registro sono ordinati in un valore assegnato numericamente. La libreria Python ha definito la maggior parte dei livelli di registrazione per impostazione predefinita. Oltre a ciò, Salt utilizza alcuni livelli in più. Alcuni dei livelli sono spiegati di seguito.

  • log_level: error; level value is 40 - Indica il record dell'istruzione di registro in errore.

  • log_level: quiet; level value is 1000 - Indica che non deve essere registrato nulla a questo livello.

  • log_level: info; level value is 20 - Indica le normali informazioni di registro.

  • log_level: warn; level value is 30 - Indica il record dell'istruzione di registro in caso di avviso.

  • log_level: debug; level value is 10 - Informazioni utili per il debug sia delle implementazioni salt che del salt code.

  • log_level: trace; level value is 5 - Informazioni più dettagliate sul debug del codice.

LOG_LEVEL_LOGFILE

Definisce il livello di messaggi da inviare al file di registro.

log_level_logfile: info

LOG_DATEFMT

Definisce il formato della data di registro. Per impostazione predefinita, è rappresentato come% Y-% m-% d% H:% M:% S.

log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'

LOG_FMT_CONSOLE

Definisce il formato della console che registra i messaggi. Salt usa un'usanzaLogRecordattributi per colorare l'output del log della console. Segue la seguente sintassi:

'%(colorlevel)s'       # log level name colorized by level
'%(colorname)s'        # colorized module name
'%(colorprocess)s'     # colorized process number
'%(colormsg)s'         # colorized messages name

LOG_FMT_LOGFILE

Definisce il formato del file di registro che registra i messaggi. La sintassi di base è la seguente:

%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s

LOG_GRANULAR_LEVELS

Questo livello viene utilizzato per controllare i livelli di registrazione in modo più specifico.

log_granular_levels:
   'salt': 'info'
   'salt.modules': ‘trace'

Qui, la libreria principale del sale al livello "info" imposta il file salt.modules per accedere a livello di traccia.

Gestore di registrazione esterno

Salt utilizza LogStash e il gestore di log esterno di Sentry per la registrazione. Cerchiamo di capirlo in dettaglio in questo capitolo.

Gestore LOGSTASH

LogStash è un open source; pipeline di elaborazione dati sicura lato server. Consideriamo un semplice gestore di registrazione UDP in Salt che utilizza LogStash.

Specificare le seguenti modifiche nel file principale di Salt:

logstash_udp_handler:
   host: 127.0.0.1
   port: 9999
   version: 1
   msg_type: logstash

Quindi aggiungi le modifiche nel file di configurazione Logstash -

input {
   udp {
      port ⇒ 9999
      codec ⇒ json
   }
}

Qui, UDP - è l'input che deve avere un formato come json_event, che è ciò che inviamo via cavo.

SENTRY Logging Handler

Sentry è il monitoraggio degli errori in tempo reale nelle distribuzioni di produzione e le informazioni per riprodurre e correggere i crash. La configurazione predefinita nel file master è definita di seguito.

sentry_handler:
   dsn: https://pub-key:[email protected]/app-id
   log_level: debug

Qui, il livello di registrazione predefinito per il gestore sentry è ERROR, ma abbiamo definito il debug log_level sotto la chiave di configurazione sentry_handler.