Monitorare i log di sistema con Graylog2: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(Creata pagina con '{{Versioni compatibili|Stretch|}} ==Introduzione== Graylog è uno strumento di gestione del registro libero e open source basato su Java, Elasticsearch e MongoDB che può essere ...')
(Nessuna differenza)

Versione delle 15:30, 13 ott 2017

Debian-swirl.png Versioni Compatibili

Debian 9 "stretch"

Introduzione

Graylog è uno strumento di gestione del registro libero e open source basato su Java, Elasticsearch e MongoDB che può essere utilizzato per raccogliere, indicizzare e analizzare qualsiasi log server da una postazione centralizzata. Si può facilmente monitorare i SSH login e attività insolite per il debug di applicazioni e i registri utilizzando Graylog. Graylog fornisce un linguaggio di query avanzate, abilità di avviso, una pipeline di elaborazione per la trasformazione dei dati e molto altro.
Graylog è costituito da tre componenti:

  1. Elasticsearch: Memorizza tutti i messaggi di in ingresso e fornire una struttura di ricerca.
  2. MongoDB: È usato per database, memorizza le configurazioni e le meta-informazioni.
  3. Graylog server: riceve ed elabora i messaggi da vari input e fornire un'interfaccia web per l'analisi e il monitoraggio.

Prerequisiti

  • Un server che esegue Debian 9.
  • Minimo 4 GB DI RAM.
  • Un indirizzo IP statico, es: 192.168.0.187

Installazione prerequisiti

Prima di iniziare, sarà necessario installare Java 8 e altri pacchetti necessari al vostro sistema. Non tutte le richieste sono disponibili pacchetti in Debian 9 repository standard, quindi sarà necessario aggiungere all'elenco di origine del pacchetto Debian Backports:

# nano /etc/apt/sources.list

Aggiungere la seguente riga:

deb http://ftp.debian.org/debian jessie-backports main

Aggiorniamo la lista dei pacchetti:

# apt-get update -y
# apt-get upgrade -y

Una volta che il sistema sia aggiornato, installare tutti i pacchetti con il comando seguente:

# apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen -y

Una volta installati tutti i pacchetti necessari, si può procedere ad installare MongoDB.

Installare MongoDB

MongoDB è necessaria per memorizzare la configurazione e le meta-informazioni. MongoDB è disponibile in Debian 9; è possibile installare MongoDB eseguendo semplicemente il seguente comando:

# apt-get install server mongodb - y

Una volta installato MongoDB, si può procedere ad installare Elasticsearch.

Installare Elasticsearch

Elasticsearch non è disponibile nei repository Debian e occorre perciò abilitare un repository esterno.
Scarichiamo prima di tutto la chiave del repository:

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

Quindi aggiungiamo il repository:

# nano /etc/apt/sources.list

Aggiungendo le seguenti linee: deb https://packages.elastic.co/elasticsearch/2.x/debian stable main

Salviamo e aggiorniamo il sistema:

# apt-get update -y

Quindi installiamo Elasticsearch:

# apt-get install elasticsearch -y

Al termine dell'installazione occorre modificarne la configurazione:

# nano /etc/elasticsearch/elasticsearch.yml

introducendo i seguenti cambiamenti:

cluster.name: graylog
network.host: 192.168.0.187
discovery.zen.ping.timeout: 10s
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["192.168.0.187:9300"]

Salviamo e abilitiamo il demone all'avvio:

# systemctl start elasticsearch
# systemctl enable elasticsearch

Aspettiamo qualche secondo e verifichiamo che tutto funzioni, con il seguente comando di test:

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

Assicuriamoci che nell'output lo stato sia marcato come "green":

{
  "cluster_name" : "graylog",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 1,
  "active_shards" : 1,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 1,
  "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" : 50.0
}

Sitografia

[[1]] [[2]]