Scrivere e leggere log con elastic

22
Scrivere e leggere log con Elastic Roma 26 aprile 2016

Transcript of Scrivere e leggere log con elastic

Page 1: Scrivere e leggere log con elastic

Scrivere e leggere log con Elastic

Roma 26 aprile 2016

Page 2: Scrivere e leggere log con elastic

naming things...

Lo stack ELK

Lo stack Elastic

Page 3: Scrivere e leggere log con elastic

log

Page 4: Scrivere e leggere log con elastic
Page 5: Scrivere e leggere log con elastic
Page 6: Scrivere e leggere log con elastic

log

Page 7: Scrivere e leggere log con elastic

Problemi con i classici file di log1. sono destrutturati2. sono sparsi sul filesystem3. possono essere sparsi su macchine diverse4. possono essere sparsi su N macchine5. potrebbero essere molto grandi e contenere info di dominio

Page 8: Scrivere e leggere log con elastic
Page 9: Scrivere e leggere log con elastic

logstashhttps://www.elastic.co/products/logstash

Process Any Data, From Any Source

● centralizzare il processamento dei dati● normalizzare schemi e formati● estendere su formati personalizzati● aggiungere facilmente plugin

Page 10: Scrivere e leggere log con elastic

Installazione di logstashwget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-

key add -

echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable

main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list

sudo apt-get update && sudo apt-get install logstash

Page 11: Scrivere e leggere log con elastic

elasticsearchhttps://www.elastic.co/products/elasticsearch

Actionable Insight at Your Fingers

● Distribuito, scalabile, ad alta disponibilità● Ricerche e analisi in tempo reale● API RESTful

Page 12: Scrivere e leggere log con elastic

Installazione di elasticsearchecho "deb http://packages.elastic.co/elasticsearch/2.x/debian stable

main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list

sudo apt-get update && sudo apt-get install elasticsearch

Page 13: Scrivere e leggere log con elastic

Configurazione /etc/logstash/conf.d/logstash.conf

input {

gelf {

type => gelf

}

}

output {

elasticsearch {

hosts => [‘localhost’]

}

}

Page 14: Scrivere e leggere log con elastic

Configurazione /etc/logstash/conf.d/logstash.conf

input {

file {

type => apache-access

path => /var/log/apache/access.log

}

}

filter {

}

Page 15: Scrivere e leggere log con elastic

MonologGelfMessageFormatter / GelfHandler

Page 16: Scrivere e leggere log con elastic

Symfony

monolog:

handlers:

stash:

type: gelf

publisher: { hostname: 127.0.0.1 }

level: debug

formatter: monolog.formatter.gelf_message

composer require graylog2/gelf-php

Page 17: Scrivere e leggere log con elastic

log

$this->logger->info(‘fooEvent’, [‘foo’ => ‘bar’, ‘user’ => ‘pippo’])

[2016-04-26 19:16:23] app.INFO: fooEvent {‘foo’: ‘bar’, ‘user’: ‘pippo’} []

Page 18: Scrivere e leggere log con elastic

Kibanahttps://www.elastic.co/products/kibana

See the Value in Your Data

● Analisi e visualizzazione flessibile ● Sintesi e grafici in tempo reale● Interfaccia intuitiva per gli utenti● Cruscotti condisivibili ed embeddabili

Page 19: Scrivere e leggere log con elastic

Installazione di kibanaecho "deb http://packages.elastic.co/kibana/4.4/debian stable main" |

sudo tee -a /etc/apt/sources.list.d/kibana.list

sudo apt-get update && sudo apt-get install kibana

Page 20: Scrivere e leggere log con elastic

configurazione# kibana.yml

server.port: 5601

server.host: "127.0.0.1"

Page 21: Scrivere e leggere log con elastic

configurazione

<VirtualHost *:80>

ServerName kibana.example.org

ProxyPass / http://localhost:5601/

ProxyPassReverse / http://localhost:5601/

<Location />

AuthType Basic

[...]

</Location>

</VirtualHost>

Page 22: Scrivere e leggere log con elastic

http://logstash.openstack.org