Splunk è un software per la ricerca, il monitoraggio e l’analisi di file di log, tramite una interfaccia web.

Quando il numero di dispositivi nella rete aziendale inizia a crescere, il monitoraggio diventa complesso. Per facilitare la gestione dei dispositivi esistono diverse tecnologie. Una delle più utilizzate è il protocollo SYSLOG.
Rsyslog è un software opensource per la gestione dei messaggi in formato syslog. Oltre al protocollo syslog, gestisce altri protocolli e altre tipologie di messaggio. Per il monitoraggio esistono tool a linea di comando o tool grafici.

Splunk fornisce qualcosa in più. Oltre alle funzionalità di raccolta e memorizzazione dei file/ messaggi di log Splunk permette:

  • bilanciamento del carico e failover su diversi server
  • gestione allarmi per eventi singoli ed eventi correlati
  • creazione report personalizzati
  • dashboard centralizzata
  • creazione di modelli di dati che mettono in correlazione fonti diverse
  • interfaccia utente user friendly
  • universal forwarder, che permette l’invio dei file di log da qualsiasi server esterno in modo sicuro limitando l’utilizzo delle risorse locali

Inoltre esistono diverse “app” per smartphone che permettono l’accesso al server Splunk

Vediamo come installarlo su centos:

  1. Aggiorniamo i pacchetti presenti nel server:
    yum -y update
  2. Scaricare l’ultima versione di Splunk, a 32 o 64 bit, in formato rpm. Il sito splunk.com permette la generazione del comando wget con l’indirizzo per il download del file. Alternativamente si può utilizzare una connessione FTP/SFTP al server oppure il comando SCP
  3. Installiamo splunk:
    rpm -i splunk-6.1.4-233537-linux-2.6-x86_64.rpm
    cd /opt/splunk/bin/
  4. Avviamo splunk:
    ./splunk start
  5. Aggiorniamo data e ora del server:
    ntpdate pool.ntp.org
  6. Configuriamo iptables per accettare connessioni TCP sulla porta 8000 e 9997 /etc/sysconfig/iptables:
    /sbin/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 8000 -j ACCEPT
    /sbin/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 9997 -j ACCEPT
  7. Riavviamo iptables:
    service iptables restart
  8. Per avviare splunk automaticamente al boot:
    /opt/splunk/bin/splunk enable boot-start

A questo punto consiglio l’utilizzo di rsync per il trasferimento dei file da altri server verso il server Splunk

  1. Installiamo rsync:
    yum -y install rsync
  2. Inviamo i file di log tramite rsync dal server remoto:
    rsync -avz -e ssh <CARTELLA SORGENTE> root@<IP SERVER SPLUNK>:<CARTELLA DESTINAZIONE>
  3. Per evitare l’inserimento della password e automatizzare la sincronizzazione delle cartelle, ad esempio con crontab, è possibile generare una coppia di chiavi RSA (pubblica e privata) da utilizzare per la gestione della comunicazione tramite SSH:
    ssh-keygen
  4. In seguito inviamo al server SPLUNK la chiave pubblica:
    scp id_rsa.pub <UTENTE SERVER SPLUNK>@<IP SERVER SPLUNK>:/home/<UTENTE SERVER SPLUNK>/.ssh

Per maggiori informazioni su Splunk:

http://www.splunk.com/

Author

Write A Comment