Ricerca nel sito web

Monitora i log del server in tempo reale con lo strumento "Log.io" su RHEL/CentOS 7/6


Log.io è una piccola applicazione semplice ma efficace costruita su Node.js e Socket.io, che consente di monitorare il registro dei server Linux file in tempo reale tramite widget sullo schermo dell'interfaccia web.

Questo tutorial ti guiderà su come installare e monitorare qualsiasi file di registro locale in tempo reale con Log.io installato su RHEL/CentOS 7/6.x configurando Log.io b> file Harvester per monitorare eventuali modifiche locali ai file di registro.

Passaggio 1: aggiungi i repository Epel

1. I repository Epel CentOS forniscono i pacchetti binari per Node.js e NPMModuli pacchettizzati Node . Installa i repository Epel immettendo il seguente comando.

Su RHEL/CentOS 7
yum install http://fedora.mirrors.telekom.ro/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
Su RHEL/CentOS 6
--------------------- On RHEL/CentOS 6.x - 32 Bit ---------------------
yum install http://fedora.mirrors.telekom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm

--------------------- On RHEL/CentOS 6.x - 64 Bit ---------------------
yum install http://fedora.mirrors.telekom.ro/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2. Dopo aver aggiunto Epel Repos al tuo sistema, esegui un aggiornamento del sistema eseguendo il comando seguente.

yum update

Passaggio 2: installa Node.js e i pacchetti NPM

3. Node.js è una piattaforma di programmazione lato server Javascript che consente di creare applicazioni di rete con funzionalità backend. NPM (Node Package Manager) è praticamente il gestore di pacchetti per Node.js. Quindi, nel passaggio successivo vai avanti e installa i binari Node.js e NMP sul tuo sistema tramite il gestore pacchetti YUM immettendo i seguenti comandi.


curl --silent --location https://rpm.nodesource.com/setup_5.x | bash - 
yum install -y nodejs

Passaggio 3: installa e configura l'applicazione Log.io

4. L'applicazione Log.io deve essere installata sul tuo sistema tramite NPM specificando un utente di sistema locale valido, attraverso il quale deve avvenire l'installazione. Sebbene sia possibile utilizzare qualsiasi utente di sistema valido per installare Log.io, personalmente consiglio di installare l'applicazione tramite l'utente root o un altro utente di sistema con privilegi root.

Il motivo per utilizzare questo approccio è che Log.io deve avere accesso per leggere i file di registro localmente e un utente con privilegi root senza privilegi di solito non può accedere e leggere alcuni file di registro importanti.

Quindi, accedi con l'account root e installa l'applicazione Log.io tramite l'account root emettendo il seguente comando (se usi un altro utente, sostituisci di conseguenza l'account root con l'utente del tuo sistema).

npm install -g log.io --user “root”

5. Dopo che l'applicazione è stata installata, cambia la tua directory di lavoro nella cartella Log.io, che è nascosta, ed esegui un elenco di directory per visualizzare il contenuto della cartella per configurare il ulteriore applicazione.

pwd  		[Make sure you are on the right path]
cd .log.io/
ls

6. Ora è il momento di configurare Log.io per monitorare i file di registro locali in tempo reale. Vediamo come funziona Log.io.

  1. Il file harvester controlla le modifiche nei file di registro locali specificati dichiarati nella sua configurazione e invia il suo output tramite socket.io TCP
    protocollo che invia inoltre i messaggi al server locale Log.io o qualsiasi altro server remoto dichiarato con il suo indirizzo IP (indirizzo 0.0.0.0 specificato sulle trasmissioni degli Harvester a tutti i server di ascolto log.io) – file harvester.conf
  2. Il server Log.io si collega a tutte le interfacce di rete (se non specificato diversamente nel file log_server.conf) e attende i messaggi dai nodi Harvester locali o remoti e invia il loro output al server Web log.io (0.0.0.0 significa che attende i messaggi da qualsiasi Harvester locale o remoto) file log_server.conf
  3. Il server Web Log.io si collega a tutte le interfacce di rete, ascolta le connessioni dei client Web sulla porta 28778 ed elabora e restituisce i messaggi che riceve internamente dal server log.io - file web_server.conf

Per prima cosa apri il file harvester.conf per la modifica, che per impostazione predefinita monitora solo i file di registro di Apache, e sostituisci l'istruzione nodeName in modo che corrisponda al tuo nome host e definisca logStreams dichiarazioni con quali file di registro interni si desidera monitorare (in questo caso sto monitorando più file di registro come audit, messaggi e registri sicuri). Utilizzare l'estratto di file seguente come guida.

nano harvester.conf

Estratto del file della mietitrice.

exports.config = {
  nodeName: "pxe-server",
  logStreams: {

audit: [
      "/var/log/audit/audit.log"
    ],

messages: [
      "/var/log/messages"
    ],

secure: [
      "/var/log/secure"
    ]

},
  server: {
    host: '0.0.0.0',
    port: 28777
  }
}

Inoltre, se non è necessario che l'output dell'harvester venga inviato a un server Log.io remoto, modificare la riga host sull'istruzione server per inviare solo il suo output localmente modificando l'indirizzo 0.0.0.0 con l'indirizzo di loopback (127.0.0.1).

7. Per motivi di sicurezza, se non ti aspetti l'output degli Harvester remoti sul tuo server Log.io locale, apri il file log_server.conf e sostituisci < b>0.0.0.0 indirizzo con indirizzo di loopback (127.0.0.1).

nano log_server.conf

8. Altre funzionalità di sicurezza come l'accesso con credenziali, HTTPS o restrizioni basate sugli IP al server web Log.io possono essere applicate sul lato server web. Per questo tutorial utilizzerò come misura di sicurezza solo le credenziali di accesso.

Quindi, apri il file web_server.conf, decommenta l'intera istruzione auth eliminando tutte le barre e gli asterischi e sostituisci user e pass direttive di conseguenza come suggerito nello screenshot in basso.

nano web_server.conf

Passaggio 4: aggiungi la regola del firewall e avvia l'applicazione Log.io

9. Per ottenere l'accesso web al server Log.io aggiungi una regola sul firewall RHEL/CentOS 7 per aprire la porta TCP 28778 immettendo il seguente comando.

firewall-cmd --add-port=28778/tcp --permanent
firewall-cmd --reload

Nota: gli utenti RHEL/CentOS 6.x possono aprire la porta 28778 sul firewall iptable.

Passaggio 5: avviare l'applicazione Log.io e accedere all'interfaccia Web

10. Per avviare l'applicazione di monitoraggio dei log Log.io assicurati che la tua directory di lavoro corrente sia la home di root .log.io e utilizza quanto segue comandi nel seguente ordine per avviare l'applicazione.

------------ First start server, put it in background and press Enter key ------------
log.io-server & 

------------ Start log harvester in background ------------
log.io-harvester & 

11. Dopo che il server è stato avviato, apri un browser, inserisci l'IP del tuo server seguito dal numero di porta 28778 utilizzando il protocollo HTTP sull'indirizzo URL e dovrebbe apparire una richiesta che richiede le tue credenziali di accesso .

Inserisci l'utente e la password configurati nel passaggio 8 per procedere ulteriormente e l'applicazione Log.io dovrebbe ora essere visibile sul tuo browser presentando file di registro monitorati in tempo reale.

http://192.168.1.20:28778

Sull'interfaccia Web aggiungi nuove schermate e organizza i tuoi flussi o nodi di conseguenza.

12. Per arrestare l'applicazione Log.io esegui il seguente comando.

pkill node

Passaggio 6: crea lo script di gestione Log.io

13. Per utilizzare un comando che gestisce l'applicazione Log.io con tre interruttori ( start, stop e status) crea il seguente script denominato log.io nella directory eseguibile /usr/local/bin e aggiungi le autorizzazioni di esecuzione a questo script.

nano /usr/local/bin/log.io
chmod +x /usr/local/bin/log.io

Aggiungere il seguente estratto a questo file di script.

#!/bin/bash

                start() {
                echo "Starting log.io process..."
                /usr/bin/log.io-server &
                /usr/bin/log.io-harvester &
                                         }

                stop() {
                echo "Stopping io-log process..."
                pkill node
                                         }                             

                status() {
                echo "Status io-log process..."
                netstat -tlp | grep node
                                         }

case "$1" in
                start)
start
        ;;
                stop)
stop
        ;;
                status)
status
                ;;
                *)
echo "Usage: start|stop|status"
        ;;
Esac

14. Per avviare, interrompere o visualizzare lo stato di Log.io accedi con l'account root (o l'utente su cui è stata installata l'app Log.io) ed esegui semplicemente i seguenti comandi per gestire facilmente l'applicazione.

log.io start
log.io status
log.io stop

È tutto! Secondo me Log.io è un'applicazione web eccellente ed efficace per monitorare i file di registro dei server locali o remoti in tempo reale e avere una visione di ciò che accade internamente nei sistemi e soprattutto per eseguire il debug dei problemi del server quando i sistemi tendono a non rispondere o a bloccarsi, senza la necessità di utilizzare una console.