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.