GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Graylog2 su CentOS 7 / RHEL 7 – Utilizzo di Source

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 CentOS 7 / RHEL 7 utilizzando il codice sorgente, inoltre si concentra sull'installazione di altri quattro componenti che rendono Graylog2 uno strumento di gestione dei log completo.

Questo tutorial è per una versione obsoleta di Graylog2. Una nuova versione è disponibile qui:Come installare Graylog su CentOS 7 / RHEL 7.

Possiamo installare Graylog in due modi,

1. Utilizzando il pacchetto sorgente.

2. Utilizzando i pacchetti binari ufficiali (consigliato).

In questo tutorial, mostrerò l'installazione di graylog usando il sorgente.

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:

1. 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_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)

2. Configura il repository EPEL su CentOS 7 / RHEL 7.

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. È possibile utilizzare il seguente comando per scaricare tramite terminale e installarlo.

# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.4.noarch.rpm

# rpm -Uvh elasticsearch-1.4.4.noarch.rpm

Configura Elasticseach per l'avvio durante l'avvio del sistema.

# systemctl daemon-reload
# systemctl enable elasticsearch.service

L'unica cosa importante è impostare un nome cluster come "graylog2 “, utilizzato da graylog. Ora modifica il file di configurazione di Elasticsearch.

# vi /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.

# systemctl restart elasticsearch.service

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" : "Sinister",
"cluster_name" : "graylog2",
"version" : {
"number" : "1.4.4",
"build_hash" : "c88f77ffc81301dfa9dfd81ca2232f09588bd512",
"build_timestamp" : "2015-02-19T13:05:36Z",
"build_snapshot" : false,
"lucene_version" : "4.10.3"
},
"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é il 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
}

Installa MongoDB:

MongoDB è disponibile in formato RPM e lo stesso può essere scaricato dal sito ufficiale. Aggiungi le seguenti informazioni sul repository sul sistema per installare MongoDB usando yum.

# vi /etc/yum.repos.d/mongodb-org-3.0.repo

[mongodb-org-3.0]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1

Installa MongoDB usando il seguente comando.

# yum install -y mongodb-org

Eseguire il comando seguente per configurare SELinux per consentire l'avvio di MongoDB.

# semanage port -a -t mongod_port_t -p tcp 27017

Oppure, se non usi SELinux sul sistema, considera la disabilitazione di SELinux.

Avvia il servizio MongoDB e abilitalo all'avvio automatico durante l'avvio del sistema.

# service mongod start

# chkconfig mongod on

I passaggi precedenti sono sufficienti per configurare graylog2, puoi trovare la configurazione dettagliata qui.

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, usa il seguente comando per scaricare usando il terminale.

# wget https://packages.graylog2.org/releases/graylog2-server/graylog-1.0.1.tgz

Estrailo e spostalo in /opt.

# tar -zxvf graylog-1.0.1.tgz

# mv graylog-1.0.1 /opt/graylog

Copia il file di configurazione di esempio in /etc/graylog/server, crea la directory se non esiste.

# mkdir -p /etc/graylog/server

# cp /opt/graylog/graylog.conf.example /etc/graylog/server/server.conf

Modifica il file server.conf.

# vi /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

5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB

Se ricevi un "pwgen:comando non trovato “, usa il comando seguente per installare pwgen.

# yum -y install pwgen

Metti il ​​segreto.

password_secret = 5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB

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

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 attivo, è 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

Inserisci le tue informazioni di autenticazione MongoDB.

# MongoDB Configuration
mongodb_useauth = false  #If this is set to false, you do not need to enter the authentication information
#mongodb_user = grayloguser
#mongodb_password = 123
mongodb_host = 127.0.0.1
#mongodb_replica_set = localhost:27017,localhost:27018,localhost:27019
mongodb_database = graylog2
mongodb_port = 27017

Avvia il server graylog usando il seguente comando.

# /opt/graylog/bin/graylogctl start

Puoi controllare i log di avvio del server, ti sarà utile per risolvere il graylog in caso di problemi.

# tailf /opt/graylog/log/graylog-server.log

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

2015-03-23 16:28:15,825 INFO : org.graylog2.shared.initializers.RestApiService - Started REST API at <http://127.0.0.1:12900/>

Potresti anche voler configurare lo script init per Graylog-server.

Installa l'interfaccia web di Graylog:

Per configurare graylog-web-interface, devi avere almeno un nodo graylog-server; scarica lo stesso numero di versione per assicurarti che sia compatibile

# wget https://packages.graylog2.org/releases/graylog2-web-interface/graylog-web-interface-1.0.1.tgz

Estrai l'archivio e spostalo in /opt.

# tar -zxvf graylog-web-interface-1.0.1.tgz
# mv graylog-web-interface-1.0.1 /opt/graylog-web-interface

Modifica il file di configurazione e imposta i seguenti parametri.

# vi /opt/graylog-web-interface/conf/graylog-web-interface.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"

Avvia l'interfaccia gralog-web in background usando il comando seguente,

# nohup /opt/graylog-web-interface/bin/graylog-web-interface &

Potresti anche voler configurare lo script Init per Graylog-Web-Interface.

L'interfaccia web ascolterà sulla porta 9000. Punta il tuo browser su di essa. Accedi con il nome utente admin e la password che hai configurato in root_password_sha2 su server.conf .

Configura il firewall per consentire il traffico sulla porta 9000.

firewall-cmd --permanent --zone=public --add-port=9000/tcp
firewall-cmd --reload

Una volta effettuato l'accesso, otterrai la seguente pagina di ricerca.

Questo è tutto!, hai installato correttamente Graylog2 su CentOS 7 / RHEL 7.

Questo tutorial è per una versione obsoleta di Graylog2. Una nuova versione è disponibile qui:Come installare Graylog su CentOS 7 / RHEL 7.
Cent OS
  1. Come installare Graylog2 su CentOS 7 / RHEL 7 – Utilizzo di Source

  2. Come installare Elasticsearch, Logstash e Kibana 4 su CentOS 7 / RHEL 7

  3. Come installare Graylog2 su CentOS 7 / RHEL 7

  4. Come installare Elasticsearch su CentOS 8 / RHEL 8

  5. Come installare Ruby 2.0.0 su CentOS e RHEL 6 usando RVM

Come installare Elasticsearch su CentOS 8

Come installare Graylog con Elasticsearch su CentOS 8

Come installare Graylog su CentOS 8 / RHEL 8

Come installare Graylog 3.0 su CentOS 7 / RHEL 7

Come installare flameshot su RHEL/CentOS usando Snapcraft

Come installare Graylog su CentOS 7