1,458 21/03/2026 07/04/2026 3 min

Nell'ambito della gestione dei log su server Linux, è essenziale monitorare le performance e le metriche in modo efficiente. Due approcci frequentemente utilizzati sono Prometheus per il monitoraggio delle metriche e Logrotate per la gestione della rotazione dei log. Questo articolo esplorerà quando utilizzare uno rispetto all'altro, analizzando i rispettivi pro e contro.

Prerequisiti

Prima di iniziare, assicurati di avere accesso a un server Linux con i seguenti strumenti installati:

  • Prometheus (versione 2.x o superiore)
  • Logrotate (tipicamente preinstallato su molte distribuzioni)

Scegliere tra Prometheus e Logrotate

Prometheus è un sistema di monitoraggio e allerta open source, progettato per raccogliere metriche in tempo reale, mentre Logrotate è uno strumento utilizzato per gestire la creazione, la rotazione e la cancellazione dei log. La scelta tra i due dipende dalle esigenze specifiche del tuo ambiente e dai requisiti di monitoraggio.

Casi d'uso per Prometheus

Se hai bisogno di raccogliere metriche dettagliate e monitorare la salute delle applicazioni, Prometheus è l'opzione migliore. Supporta la raccolta di dati su vari parametri del sistema e delle applicazioni, come l'uso della CPU, la memoria, le richieste HTTP e altro ancora.

Casi d'uso per Logrotate

Logrotate è più adatto per la gestione dei log delle applicazioni. Se il tuo obiettivo è quello di mantenere il tuo filesystem pulito e organizzato, evitando la saturazione dovuta a log crescenti, allora Logrotate è la scelta ideale.

Configurazione di Prometheus

Per implementare Prometheus, segui questi passi:

  1. Installazione di Prometheus: Scarica il pacchetto dal sito ufficiale.
  2. curl -LO https://github.com/prometheus/prometheus/releases/download/v2.32.1/prometheus-2.32.1.linux-amd64.tar.gz
    
  3. Estrazione del pacchetto:
  4. tar xvf prometheus-2.32.1.linux-amd64.tar.gz
    
  5. Configurazione del file di configurazione: Modifica il file prometheus.yml per aggiungere i target da monitorare.
  6. nano prometheus.yml
    

    Esempio di configurazione per monitorare il server localhost:

    scrape_configs:
      - job_name: 'linux_server'
        static_configs:
          - targets: ['localhost:9100']
    
  7. Avvio di Prometheus: Esegui il server Prometheus con il comando seguente.
  8. ./prometheus --config.file=prometheus.yml
    
  9. Verifica: Accedi a http://localhost:9090 per visualizzare l'interfaccia di Prometheus.

Configurazione di Logrotate

Per gestire i log, utilizza Logrotate come segue:

  1. Crea un file di configurazione per Logrotate: Ad esempio, per gestire i log di un'applicazione specifica.
  2. nano /etc/logrotate.d/mia_app
    

    Esempio di configurazione per mantenere i log recenti per 7 giorni:

    /var/log/mia_app.log {
        daily
        rotate 7
        compress
        missingok
        notifempty
    }
    
  3. Testa la configurazione: Esegui Logrotate manualmente per testare la configurazione.
  4. logrotate -d /etc/logrotate.conf
    

Verifica finale

Dopo aver configurato entrambi gli strumenti, verifica che:

  • Prometheus stia raccogliendo le metriche correttamente.
  • Logrotate stia ruotando e compressando i log come previsto.

Troubleshooting

Se incontri problemi durante la configurazione, ecco alcuni errori comuni:

  1. Prometheus non avvia: Errore: "cannot find config file". Questo significa che il percorso al file di configurazione non è corretto. Verifica il percorso del file.
  2. Logrotate non ruota i log: Errore: "cannot open file". Controlla i permessi del file di log. Assicurati che Logrotate abbia i permessi necessari per accedervi.
  3. Metriche non visibili in Prometheus: Errore: "no targets found". Verifica la configurazione nel file prometheus.yml e assicurati che il target sia in esecuzione e accessibile.

Conclusione

La scelta tra Prometheus e Logrotate dipende dalle tue esigenze specifiche: utilizza Prometheus per il monitoraggio delle metriche in tempo reale e Logrotate per una gestione ordinata dei log. Implementa entrambi gli strumenti per ottenere una visione completa della salute del tuo sistema.

Il passo successivo sarebbe considerare l'implementazione di alerting in Prometheus per ricevere notifiche in caso di anomalie nei dati raccolti.