Monitorare i log di sistema con Graylog2
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:
- Elasticsearch: Memorizza tutti i messaggi di in ingresso e fornire una struttura di ricerca.
- MongoDB: È usato per database, memorizza le configurazioni e le meta-informazioni.
- 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 curl 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:9300/_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
Guida scritta da: Ferdybassi | Debianized 40% |
Estesa da: | |
Verificata da:
| |
Verificare ed estendere la guida | Cos'è una guida Debianized |