GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Registri Jenkins - Visualizzazione e personalizzazione

Introduzione

Jenkins offre una soluzione di automazione CI/CD open source per gli sviluppatori. Una delle funzionalità offerte da Jenkins è la registrazione automatica delle prestazioni delle build.

La revisione dei registri Jenkins può offrire una vasta gamma di informazioni su come funziona il tuo codice. Ciò è particolarmente utile quando si individuano problemi o si cercano elementi che possono essere ottimizzati meglio.

In questo tutorial, ti mostreremo come trovare, visualizzare e modificare i file di registro Jenkins.

Prerequisiti

  • Una copia di Jenkins installata e pronta per l'uso.
  • Accesso a un browser web.
  • Accesso a un editor di testo, come Nano, Vim o Blocco note.

Dove vengono archiviati i registri Jenkins?

La posizione in cui vengono archiviati i registri Jenkins dipende dal sistema operativo sottostante.

  • Linux e macOS - I registri Jenkins vengono archiviati insieme ad altri file di registro in /var/log directory.
  • Finestre - I file di registro di Jenkins vengono archiviati nella cartella principale di Jenkins, determinata durante l'installazione.

È possibile modificare la posizione del registro Jenkins modificando il file di configurazione del servizio. Il nome e la posizione di quel file dipendono dal sistema operativo sottostante:

  • Sistema basato su Debian - /etc/default/Jenkins
  • Sistemi basati su Red Hat - /etc/sysconfig/Jenkins
  • MacOS - org.jenkins-ci.plist
  • Finestre - [JENKINS HOME]/jenkins.xml

Come visualizzare i registri Jenkins?

Per visualizzare un file di registro Jenkins, aprilo con un editor di testo a tua scelta. Di seguito sono riportate le posizioni predefinite dei file di registro Jenkins a seconda del sistema operativo.

Interfaccia utente di Jenkins

Per impostazione predefinita, Jenkins mantiene un registro costante di tutte le attività come parte del dashboard Jenkins.

1. Per accedere a questo registro, fai clic su Gestisci Jenkins link sul lato destro della dashboard.

2. Fare clic sul Registro di sistema pulsante nelle Informazioni sullo stato sezione.

3. Fare clic su Tutti i registri Jenkins collegamento per accedere al registro predefinito.

Ciascuna riga del registro indica l'ora e la data dell'azione, il livello di registrazione, l'elemento di Jenkins che esegue l'azione e l'azione eseguita, seguiti da una breve descrizione.

Linux

Il percorso predefinito per i registri Jenkins su Linux è /var/log/jenkins/jenkins.log . Per visualizzare il file di registro, aprilo utilizzando un editor di testo come Nano:

sudo nano /var/log/jenkins/jenkins.log

Finestre

Su Windows, i file di registro Jenkins vengono archiviati come jenkins.out (registri di output della console) e jenkins.err (registri errori) nella cartella Inizio di Jenkins.

Il percorso della cartella Inizio di Jenkins viene specificato durante l'installazione. Il percorso predefinito è C:\ProgramData\Jenkins\.jenkins .

Importante: I Dati del programma cartella è nascosta per impostazione predefinita. Assicurati di abilitare la visualizzazione degli elementi nascosti prima di provare a visualizzare i log di Jenkins.

Se non sei sicuro di quale cartella hai impostato come cartella principale di Jenkins, fai clic su Gestisci Jenkins link sul lato sinistro della dashboard Jenkins.

Sotto la Configurazione del sistema sezione, fai clic su Configura sistema pulsante.

La posizione della cartella Inizio di Jenkins è elencata nella parte superiore della pagina, in Directory principale .

MacOS

Su MacOS, i log di Jenkins si trovano in /var/log/jenkins/jenkins.log per impostazione predefinita:

sudo nano /var/log/jenkins/jenkins.log

Porta mobile

La visualizzazione dei log di Jenkins in Docker richiede l'esecuzione di Jenkins all'interno di un contenitore separato. Apri i log Jenkins utilizzando i logs di Docker comando e l'ID per il contenitore staccato:

docker logs [container ID]

Come abilitare i log di debug in Jenkins?

Jenkins consente agli utenti di configurare nuovi registratori di registro quando si utilizza il Registro di sistema pagina. Questi registratori raccolgono e visualizzano informazioni su elementi specifici del tuo codice e puoi perfezionarli per fornire un output più dettagliato.

Avere a disposizione un registro più dettagliato rende più facile individuare e determinare la causa di potenziali errori nel codice. Questo è molto utile durante il debug dei problemi.

1. Per configurare un nuovo registratore di log, fai prima clic su Aggiungi nuovo registratore di log pulsante in Registratori di registro sezione del Registro di sistema pagina.

2. Successivamente, inserisci il nome del nuovo registratore di log e fai clic su OK pulsante. Per questo esempio, chiameremo il nostro registratore di log Dig Debug .

3. Per personalizzare l'output raccolto e visualizzato dal nuovo registratore di log, fare clic su Aggiungi pulsante per aggiungere un nuovo logger. Utilizzare il campo di immissione per cercare un elemento e selezionare il livello di registro dal menu a discesa. In genere è meglio utilizzare ALL o BENE livello di registrazione per scopi di debug.

4. Per il nostro esempio, vogliamo eseguire il debug dei plugin relativi a Git. Per fare ciò, aggiungeremo nuovi logger che monitorano questi plugin e imposteremo il livello di registrazione su TUTTI.

5. Dopo aver aggiunto nuovi logger, fai clic su Salva per salvare il nuovo registratore di log Jenkins.

6. Dopo aver impostato il nuovo registratore di log, aprilo facendo clic sul suo nome in Registratori di log sezione. Con il registratore di registro aperto, fai clic su Registri di registro collegamento sul lato sinistro per rivedere i nuovi record di registro.

Quali registri Jenkins dovresti monitorare?

Alcuni eventi nel registro Jenkins possono indicare problemi con il codice o l'applicazione Jenkins stessa. Il monitoraggio di questi eventi è un modo semplice per diagnosticare e prevenire rapidamente problemi di prestazioni.

Ricezione di un OutOfMemoryError messaggio indica che Jenkins ha esaurito la memoria di sistema. Per risolvere questo problema, usa un heap Java più piccolo o controlla i vecchi dati salvati in:

[Jenkins URL]/administrativeMonitor/OldData/manage

A java.lang.OutOfMemoryError: GC overhead limit exceeded si verifica un errore quando Java Garbage Collector supera il limite di memoria. Una soluzione rapida è cancellare le vecchie build che potrebbero occupare memoria.

Un altro problema comune è il consumo della CPU, indicato da un OutOfMemoryError: PermGen space errore. Puoi evitarlo riducendo al minimo il numero di build in esecuzione sul nodo master, limitando la cronologia delle build, assicurandoti che tutti i plug-in Jenkins siano aggiornati e monitorando come altre applicazioni utilizzano la CPU.

Come personalizzare i registri Jenkins?

La formattazione dei registri Jenkins a volte può renderli difficili da leggere, soprattutto quando si utilizzano livelli di registrazione più elevati. Anche lunghe pipeline con decine o centinaia di righe di codice rappresentano una sfida.

Di seguito è riportato un registro di esempio per una pipeline semplice che stampa il numero di versione della build:

Nell'output sopra, non è facile vedere dove inizia e dove finisce una fase. L'unica indicazione è la stage output all'inizio e // stage alla fine, entrambi visualizzati in grigio chiaro.

Aggiunta di un messaggio con echo Il comando all'inizio di una fase semplifica la separazione delle diverse fasi durante la visualizzazione dell'output della console. Ciò consente inoltre agli utenti di aggiungere brevi descrizioni, rendendo ancora più semplice la comprensione dell'output.

Un altro metodo consiste nell'aggiungere un echo comando senza alcun testo del messaggio. Questo crea una riga vuota e rende l'output più facile da leggere.


Ubuntu
  1. Ruota e archivia i registri con il comando logrotate di Linux

  2. Differenza tra /var/log/messages, /var/log/syslog e /var/log/kern.log?

  3. Posizioni dei file di registro comuni e dei file di configurazione per i servizi cPanel

  4. printk e livello di registro della console

  5. Visualizzazione dei log su un server Linux remoto

Installazione e configurazione di Jenkins in Linux

Come installare e utilizzare Jenkins su Ubuntu 18.04 e 16.04 LTS

Come installare e configurare Jenkins su Ubuntu

Registri di sistema

Come installare e configurare Jenkins in Ubuntu 20.04

Come impostare e gestire la rotazione dei registri utilizzando Logrotate in Linux