Graylog (precedentemente noto come Graylog2) è una piattaforma di gestione dei registri open source, che consente di raccogliere, indicizzare e analizzare i registri di qualsiasi macchina in una posizione centralizzata. Questa guida ti aiuta a installare Graylog2 su Ubuntu 14.04, concentrandoti anche sull'installazione di altri quattro componenti che rendono Graylog2 uno strumento di gestione dei registri completo di potenza.
Componenti:
1. MongoDB:memorizza le configurazioni e le meta informazioni.
2. Elasticsearch:memorizza i messaggi di registro e offre una funzione di ricerca, i nodi dovrebbero avere memoria elevata poiché tutte le operazioni di I/O avvengono qui.
3. GrayLog – Parser di log, raccoglie i log da vari input.
4. Interfaccia Web GrayLog =fornisce il portale basato sul Web per la gestione dei registri.
Prerequisiti:
Poiché Elasticsearch è basato su java, sarebbe necessario installare openJDK o Oracle JDK. Si consiglia di installare Oracle JDK, verificare la versione java utilizzando il comando seguente.
$ java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
Installa Elasticsearch:
Elasticsearch è un server di ricerca open source, offre una ricerca e analisi distribuite in tempo reale con interfaccia web RESTful. Elasticsearch archivia tutti i log inviati dal server Graylog e visualizza i messaggi quando l'interfaccia Web graylog richiede il riempimento completo della richiesta dell'utente tramite l'interfaccia Web. Questo argomento tratta le impostazioni di configurazione necessarie per Graylog, puoi anche dare un'occhiata a Install Elasticsearch su CentOS 7 / Ubuntu 14.10 / Linux Mint 17.1 per istruzioni dettagliate.
Installiamo Elasticsearch, può essere scaricato dal sito ufficiale.
Scarica e installa la chiave di firma GPG.
$ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Salva la definizione del repository in /etc/apt/sources.list.d/elasticsearch.list
$ echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list
Aggiorna la cache del repository.
$ sudo apt-get update
Installa Elasticsearch.
$ sudo apt-get install elasticsearch
Configura Elasticsearch per l'avvio durante l'avvio del sistema.
$ sudo update-rc.d elasticsearch defaults
L'unica cosa importante è impostare un nome cluster come "graylog2 “, utilizzato da graylog. Ora modifica il file di configurazione di Elasticsearch.
$ sudo nano /etc/elasticsearch/elasticsearch.yml cluster.name: graylog2
Disabilita gli script dinamici per evitare l'esecuzione remota, operazione che può essere eseguita aggiungendo la riga seguente alla fine del file precedente.
script.disable_dynamic: true
Una volta fatto, siamo a posto. Prima di ciò, riavvia i servizi Elasticsearch per caricare la configurazione modificata.
$ sudo service elasticsearch restart
Attendi almeno un minuto per consentire il riavvio completo di Elasticsearch, altrimenti il test avrà esito negativo. Elastisearch dovrebbe ora essere in ascolto su 9200 per l'elaborazione della richiesta HTTP, possiamo usare CURL per ottenere la risposta. Assicurati che venga restituito con il nome del cluster "graylog2 ”
$ curl -X GET http://localhost:9200 { "status" : 200, "name" : "Pistol", "cluster_name" : "graylog2", "version" : { "number" : "1.7.1", "build_hash" : "b88f43fc40b0bcd7f173a1f9ee2e97816de80b19", "build_timestamp" : "2015-07-29T09:54:16Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search" }
Facoltativo: Utilizza il comando seguente per verificare lo stato del cluster Elasticsearch, devi ottenere uno stato del cluster come "verde ” affinché graylog funzioni.
$ curl -XGET 'http://localhost:9200/_cluster/health?pretty=true' { "cluster_name" : "graylog2", "status" : "green", "timed_out" : false, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_primary_shards" : 0, "active_shards" : 0, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0 }
Installa MongoDB:
MongoDB è disponibile in formato dep e lo stesso può essere scaricato dal sito ufficiale. Aggiungi le seguenti informazioni sul repository sul sistema per installare MongoDB. Prima di ciò dobbiamo importare la chiave pubblica.
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
Aggiungi il repository creando il file di elenco /etc/apt/sources.list.d/mongodb-org-3.0.list utilizzando il comando.
$ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
Aggiorna la cache del repository.
$ sudo apt-get update
Installa MongoDB usando il seguente comando.
$ sudo apt-get install mongodb-org
Avvia il servizio MongoDB e abilitalo all'avvio automatico durante l'avvio del sistema.
$ sudo service mongod start $ sudo update-rc.d mongod defaults
Installa Graylog2:
Graylog-server accetta ed elabora i messaggi di registro, genera anche la RESTAPI per le richieste che provengono da graylog-web-interface. Scarica l'ultima versione di graylog da graylog.org,
Utilizzare il comando seguente per installare il repository graylog2.
$ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb
Installa il supporto https e aggiorna la cache del repository.
$ sudo apt-get install apt-transport-https $ sudo apt-get update
Installa il server Graylog usando il seguente comando.
$ sudo apt-get install graylog-server
Modifica il file server.conf.
$ sudo nano /etc/graylog/server/server.conf
Configura le seguenti variabili nel file sopra.
Imposta un segreto per proteggere le password degli utenti, utilizza il comando seguente per generare un segreto, utilizza almeno 64 caratteri.
$ pwgen -N 1 -s 96 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP
Se ricevi un "pwgen:comando non trovato “, usa il comando seguente per installare pwgen.
$ sudo apt-get install pwgen
Metti il segreto.
password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP
Successivamente è impostare una password hash per l'utente root (da non confondere con l'utente di sistema, l'utente root di graylog è admin). Utilizzerai questa password per accedere all'interfaccia web, la password dell'amministratore non può essere modificata utilizzando l'interfaccia web, devi modificare questa variabile per impostarla.
Sostituisci "la tua password ” con la scelta della tua.
# echo -n yourpassword | sha256sum e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Inserisci la password hash.
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
È possibile configurare l'utente root (amministratore) dell'indirizzo email.
root_email = "[email protected]"
Imposta il fuso orario dell'utente root (amministratore).
root_timezone = UTC
Graylog proverà a trovare automaticamente i nodi Elasticsearch, utilizza la modalità multicast per lo stesso. Ma quando si tratta di reti più grandi, si consiglia di utilizzare la modalità unicast, la più adatta per le configurazioni di produzione. Quindi aggiungi le seguenti due voci al file graylog server.conf, sostituisci indirizzo IP con nome host o indirizzo IP live. È possibile aggiungere più host separati da virgole.
elasticsearch_http_enabled = false elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300
Imposta un solo nodo master definendo la variabile sottostante, l'impostazione predefinita è true, devi impostarla come false per rendere il nodo particolare come slave. Il nodo master esegue alcune attività periodiche che lo slave non eseguirà.
is_master = true
La seguente variabile imposta il numero di messaggi di log da conservare per indice, si consiglia di avere diversi indici più piccoli invece di quelli più grandi.
elasticsearch_max_docs_per_index = 20000000
Il parametro seguente definisce di avere il numero totale di indici, se questo numero viene raggiunto, il vecchio indice verrà eliminato.
elasticsearch_max_number_of_indices = 20
L'impostazione degli shard dipende in realtà dal numero di nodi nel cluster Elasticsearch, se hai un solo nodo, impostalo come 1.
elasticsearch_shards = 1
Il numero di repliche per i tuoi indici, se hai un solo nodo nel cluster Elasticsearch; impostalo come 0.
elasticsearch_replicas = 0
Riavvia il servizio Graylog.
$ sudo service graylog-server restart
Abilita l'avvio automatico del servizio del server graylog durante l'avvio del sistema.
$ sudo update-rc.d graylog-server defaults
Puoi controllare i log di avvio del server, ti sarà utile per risolvere il graylog in caso di problemi.
# tailf /var/log/graylog-server/server.log
All'avvio corretto di graylog-server, dovresti ricevere il seguente messaggio nel file di registro.
2015-09-17T09:35:22.895+02:00 INFO [ServerBootstrap] Graylog server up and running.
Installa l'interfaccia web di Graylog:
Per configurare graylog-web-interface, devi avere almeno un nodo graylog-server. Installa l'interfaccia web di Graylog usando "apt-get".
$ sudo apt-get install graylog-web
Modifica il file di configurazione e imposta i seguenti parametri.
$ sudo nano /etc/graylog/web/web.conf
Questo è l'elenco dei nodi graylog-server, puoi aggiungere più nodi, separati da virgole.
graylog2-server.uris="http://127.0.0.1:12900/"
Imposta lo script dell'applicazione e può essere generato usando pwgen -N 1 -s 96.
application.secret="sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z"
Imposta il fuso orario dell'interfaccia Web.
timezone="Europe/Berlin"
Riavvia l'interfaccia gralog-web usando il seguente comando,
$ sudo service graylog-web restart
Abilita l'avvio automatico del servizio di interfaccia web durante l'avvio del sistema.
$ sudo update-rc.d graylog-web defaults
Accedi all'interfaccia web di Graylog:
L'interfaccia web sarà in ascolto sulla porta 9000, punta il tuo browser su http://ip-add-ress:9000 .
Accedi con il nome utente "admin ” e la password che hai configurato in root_password_sha2 su server.conf .
Una volta effettuato l'accesso, otterrai la seguente pagina di ricerca.
Questo è tutto!, hai installato correttamente Graylog2 su Ubuntu 14.04.