GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Graylog 3.0 su Ubuntu 18.04 / Ubuntu 16.04

Graylog è uno strumento di gestione dei registri open source che consente di raccogliere, indicizzare e analizzare centralmente i registri delle macchine. Questa guida si concentra sull'installazione di Graylog su Ubuntu 18.04 / Ubuntu 16.04.

Componenti

MongoDB – Funziona come un database, memorizza le configurazioni e le meta informazioni.

Ricerca elastica – Memorizza i messaggi di registro e offre una funzione di ricerca. Si consiglia di allocare più memoria e utilizzare dischi SAS o SAN per i nodi Elasticsearch. Qui, dove avvengono tutte le tue ricerche.

Server Graylog – Analizzatore di log. Raccoglie i registri da vari input e fornisce l'output a un'interfaccia Web integrata per la gestione dei registri.

Prerequisiti

Come sai, Elasticsearch è un'applicazione basata su java. Installa OpenJDK o Oracle JDK sul tuo computer per procedere ulteriormente.

Qui, andrò per OpenJDK 8.

sudo apt update
sudo apt install -y apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen curl dirmngr

Verifica la versione Java.

java -version

Risultato:

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Installa Elasticsearch

Elasticsearch è uno dei componenti principali che richiede l'esecuzione di Graylog, funge da server di ricerca, offre una ricerca e analisi distribuite in tempo reale con l'interfaccia web RESTful.

Elasticsearch archivia tutti i log inviati dal server Graylog e visualizza i messaggi ogni volta che l'utente lo richiede tramite l'interfaccia web integrata.

Scarica e installa la chiave di firma GPG.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Configura il repository Elasticsearch eseguendo il comando seguente.

echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Aggiorna la cache del repository e installa il pacchetto Elasticsearch.

sudo apt update
sudo apt install -y elasticsearch

Fai in modo che il servizio Elasticsearch si avvii automaticamente all'avvio del sistema.

sudo systemctl enable elasticsearch

L'unica cosa importante è impostare il nome di un cluster come graylog . Modifica il file di configurazione di Elasticsearch e aggiornalo di conseguenza.

sudo nano /etc/elasticsearch/elasticsearch.yml

Imposta il nome del cluster mostrato come di seguito.

cluster.name: graylog

Avvia il servizio Elasticsearch per leggere le nuove configurazioni.

sudo systemctl restart elasticsearch

Attendi almeno un minuto per consentire il riavvio completo di Elasticsearch. Elastisearch dovrebbe ora essere in ascolto su 9200 per l'elaborazione della richiesta HTTP. Usa un CURL per controllare la risposta.

curl -X GET http://localhost:9200

Risultato:

Assicurati che il nome del cluster venga visualizzato come graylog .

{
  "name" : "bgVbYrc",
  "cluster_name" : "graylog",
  "cluster_uuid" : "-wECQlwnSZWftd_XdWSz-g",
  "version" : {
    "number" : "6.6.1",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "1fd8f69",
    "build_date" : "2019-02-13T17:10:04.160291Z",
    "build_snapshot" : false,
    "lucene_version" : "7.6.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Facoltativo: Verifica l'integrità del cluster Elasticsearch.

curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'

Risultato:

Assicurati che l'output restituisca lo stato del cluster come verde .

{
  "cluster_name" : "graylog",
  "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,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

Installa MongoDB

Scarica e installa l'ultima versione di MongoDB dal sito Web ufficiale. Importa la chiave pubblica sul terminale per iniziare.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Aggiungi il repository mongodb creando il /etc/apt/sources.list.d/mongodb-org.list file utilizzando il comando seguente.

### Ubuntu 18.04 ###

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

### Ubuntu 16.04 ###

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Installa MongoDB usando il seguente comando.

sudo apt update
sudo apt install -y mongodb-org

Avvia MongoDB e abilitalo all'avvio del sistema.

sudo systemctl start mongod
sudo systemctl enable mongod

Installa Graylog

Graylog Server accetta ed elabora i messaggi di registro, quindi li visualizza per le richieste provenienti dall'interfaccia web di graylog.

Scarica e installa il repository graylog 3.x.

wget https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.deb
sudo dpkg -i graylog-3.0-repository_latest.deb

Aggiorna la cache del repository.

sudo apt update

Installa il server Graylog usando il comando seguente.

sudo apt install -y graylog-server

Configura Graylog

È necessario impostare un segreto per proteggere le password degli utenti. Usa il comando pwgen allo stesso modo.

pwgen -N 1 -s 96

Risultato:

fGoTI07CooB6xNy5sdPVSKSuq6QSu2QyWf6G9z3haolgwbERTQ9ZbfbF6hxRYbJMMAlEZX7CXHxJLBkNyfM0420u8aFuZy9M

Modifica il server.conf per iniziare la configurazione del graylog.

sudo nano /etc/graylog/server/server.conf

Metti il ​​segreto come di seguito.

password_secret = fGoTI07CooB6xNy5sdPVSKSuq6QSu2QyWf6G9z3haolgwbERTQ9ZbfbF6hxRYbJMMAlEZX7CXHxJLBkNyfM0420u8aFuZy9M

Successivamente è impostare una password hash (sha256) per l'utente root (da non confondere con l'utente di sistema, l'utente root di graylog è admin).

Avrai bisogno di questa password per accedere all'interfaccia web di Graylog. La password dell'amministratore non può essere modificata utilizzando l'interfaccia web. Quindi, devi modificare questa variabile da impostare.

Sostituisci la tua password a tua scelta.

echo -n yourpassword | sha256sum

Risultato:

e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Modifica il server.conf file di nuovo.

sudo nano /etc/graylog/server/server.conf

Inserisci la password hash.

root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

È possibile impostare l'utente amministratore dell'indirizzo email.

root_email = "[email protected]"

Imposta il fuso orario dell'utente root (amministratore).

root_timezone = UTC

Impostare un solo nodo master definendo la variabile sottostante. Se aggiungi un secondo nodo Graylog, impostalo su false per rendere il secondo nodo come slave poiché il nodo Master esegue alcune attività periodiche che i nodi slave non eseguiranno.

is_master = true

Imposta il numero di messaggi di registro 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 un numero totale di indici se questo numero viene raggiunto, il vecchio indice verrà eliminato.

elasticsearch_max_number_of_indices = 20

L'impostazione degli shard si basa sul numero di nodi nel particolare cluster Elasticsearch. Se hai un solo nodo, impostalo come 1.

elasticsearch_shards = 1

Questa impostazione definisce il numero di repliche per i tuoi indici. Se hai un solo nodo nel cluster Elasticsearch, impostalo come 0.

elasticsearch_replicas = 0

Impostazione dell'interfaccia web Graylog

Dalla versione 2.x, l'interfaccia web è servita direttamente dal server Graylog. Configura l'interfaccia web di Graylog modificando server.conf file.

sudo nano /etc/graylog/server/server.conf

Aggiorna la voce seguente con l'indirizzo IP del tuo sistema da cui accederai all'interfaccia web di Graylog.

http_bind_address = your-server-ip:9000

Riavvia il servizio Graylog.

sudo systemctl restart graylog-server

Fai in modo che il server Graylog si avvii automaticamente all'avvio del sistema.

sudo systemctl enable graylog-server

Puoi controllare i log di avvio del server e ti sarà utile risolvere Graylog in caso di problemi.

sudo tail -f /var/log/graylog-server/server.log

All'avvio corretto di graylog-server, dovresti ricevere il seguente messaggio nel file di registro.

2019-02-22T10:07:49.398+05:30 INFO  [ServerBootstrap] Graylog server up and running.

Accedi a Graylog

L'interfaccia web sarà ora in ascolto sulla porta 9000, punta il tuo browser su

http://ip.add.re.ss:9000

Accedi con nome utente admin e la password che hai configurato in root_password_sha2 su server.conf .

Una volta effettuato l'accesso, vedrai la pagina introduttiva.

Fare clic su Sistema>> Panoramica per conoscere lo stato del server Graylog.

Crea input Graylog

L'input del Graylog deve essere configurato per ricevere i registri da fonti esterne, ad esempio syslog o qualsiasi sistema di registrazione.

Per questo esempio, imposteremo un input per la ricezione dei log da syslog sul numero di porta UDP 1514. Perché se inizi a provare un input su una delle porte privilegiate, qualsiasi numero di porta TCP/UDP inferiore a 1024, vedresti l'autorizzazione negata errore nei log di Graylog.

Quindi, creeremo un input per iniziare sulla porta 1514.

Fai clic su Sistema >> Input >> seleziona Syslog UDP e quindi fai clic su Avvia nuovo input.

Completa con i valori e quindi fai clic su Salva.

Nodo: Seleziona il tuo nodo Graylog

Titolo: Dai un nome al tuo input

Indirizzo di associazione: 0.0.0.0 (lascia quello predefinito)

Porta: 1514

Configura Rsyslog

Una volta creati gli input, configura Rsyslog o inoltra qualsiasi registro di sistema al tuo server Graylog.

Modifica il file di configurazione di Rsyslog.

sudo nano /etc/rsyslog.conf

La configurazione tipica di Rsyslog sarà simile alla seguente per inviare i log su UDP 1514.

*.info;mail.none;authpriv.none;cron.none @192.168.1.10:1514

Riavvia il servizio Rsyslog per inviare i log.

systemctl restart rsyslog

Visualizza log utilizzando Graylog

Aspetta qualche minuto. Dovresti iniziare a ricevere messaggi di registro dal computer client quando viene generato l'evento.

La schermata seguente mostra i log ricevuti da Graylog (console Graylog >>Cerca h ).

Conclusione

Hai installato correttamente Graylog 3.0 su Ubuntu 18.04 / Ubuntu 16.04 e configurato Graylog per ricevere i registri Rsyslog da fonti esterne. Come ulteriore lettura, puoi provare a configurare Nginx o Apache come proxy inverso e impostare HTTPS per l'interfaccia Web Graylog.


Ubuntu
  1. Come installare Elasticsearch su Ubuntu 18.04

  2. Come installare Graylog2 su Ubuntu 14.04

  3. Come installare Graylog2 su Ubuntu 15.04 / 14.10

  4. Come installare Elasticsearch su Ubuntu 20.04

  5. Come installare Graylog Server su Ubuntu 16.04

Come installare Graylog su Debian 9

Come installare Graylog su Ubuntu 16.04 LTS

Come installare Graylog su Ubuntu 18.04 LTS

Come installare Graylog su Ubuntu 20.04 LTS

Come installare Go in Ubuntu 20.04

Come installare Vai su Ubuntu 22.04