Ajout de la doc ELK
This commit is contained in:
parent
87e588d697
commit
52d5970c2f
141
HowtoELK.md
Normal file
141
HowtoELK.md
Normal file
|
@ -0,0 +1,141 @@
|
|||
---
|
||||
title: Howto Installation de la suite ELK
|
||||
---
|
||||
|
||||
Cette documentation décrit l'installation et la configuration d'une stack ELK sur un serveur installé en Debian 8.
|
||||
|
||||
**ELK** = Elasticsearch + Logstash + Kibana
|
||||
|
||||
# Elasticsearch
|
||||
|
||||
Documentation officielle : https://www.elastic.co/guide/en/elasticsearch/reference/2.4/index.html
|
||||
|
||||
Elasticsearch est un serveur de base de donnée qui dispose d'une interface REST HTTP. C'est écrit en Java.
|
||||
|
||||
## installation
|
||||
|
||||
~~~
|
||||
# wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add -
|
||||
# echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | tee -a /etc/apt/sources.list.d/elastic.list
|
||||
# apt update && apt install elasticsearch openjdk-7-jre openjdk-7-jre-headless
|
||||
~~~
|
||||
|
||||
## Configuration de Elasticsearch dans
|
||||
|
||||
~~~
|
||||
# vim /etc/elasticsearch/elasticsearch.yml
|
||||
~~~
|
||||
|
||||
~~~{.yaml}
|
||||
cluster.name: _cluster_name_
|
||||
node.name: _node_name_
|
||||
network.host: 0.0.0.0
|
||||
~~~
|
||||
|
||||
On vérifie qu'on a bien un Java >= 1.7 activée
|
||||
|
||||
~~~
|
||||
# java -version
|
||||
~~~
|
||||
|
||||
Plus détails sur la bonne configuration d'Elasticsearch sont sur [HowtoElasticSearch#Configuration cette page dédiée]
|
||||
|
||||
## Installation de quelques plugins
|
||||
|
||||
~~~
|
||||
# /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head
|
||||
# /usr/share/elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf
|
||||
# chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/plugins/
|
||||
~~~
|
||||
|
||||
~~~
|
||||
# cd /etc; git add -A; git commit -m "Install Elasticsearch"
|
||||
~~~
|
||||
|
||||
## Démarrage
|
||||
|
||||
~~~
|
||||
# systemctl start elasticsearch
|
||||
~~~
|
||||
|
||||
## Utile
|
||||
|
||||
* les logs sont dans `/var/log/elasticsearch/_cluster_name_.log`
|
||||
* l'interface **Head** est disponible sur http://127.0.0.1:9200/_plugin/head/
|
||||
* l'interface **Kopf** est disponible sur http://127.0.0.1:9200/_plugin/kopf/
|
||||
|
||||
# Logstash
|
||||
|
||||
Logstash est un service qui récupère des données depuis des sources variées (ports TCP/UDP, fichiers…), les transforme et les renvois vers des sorties variées (fichiers, Elasticsearch, syslog…).
|
||||
C'est un logiciel écrit en Ruby, qui tourne sur une JVM (grace à JRuby).
|
||||
|
||||
Documentation officielle : https://www.elastic.co/guide/en/logstash/2.4/index.html
|
||||
|
||||
## Installation
|
||||
|
||||
~~~
|
||||
# echo "deb http://packages.elastic.co/logstash/2.4/debian stable main" | tee -a /etc/apt/sources.list.d/elastic.list
|
||||
# apt update && apt install logstash
|
||||
# cd /etc; git add -A; git commit -m "Install Logstash"
|
||||
~~~
|
||||
|
||||
Dans `/etc/default/logstash` il faut penser à ajuster la ram allouée.
|
||||
|
||||
À ce stade, aucun "pipeline" Logstash n'est configuré.
|
||||
Voir https://www.elastic.co/guide/en/logstash/current/configuration.html
|
||||
|
||||
## Démarrage
|
||||
|
||||
~~~
|
||||
# systemctl start logstash
|
||||
~~~
|
||||
|
||||
# Kibana
|
||||
|
||||
Kibana est une interface de visualisation des donnes stockées dans Elasticsearch.
|
||||
C'est un logiciel écrit principalement en NodeJS, où tout est embarqué dans un processus principal.
|
||||
|
||||
Documentation officielle : https://www.elastic.co/guide/en/kibana/4.6/index.html
|
||||
|
||||
## Installation
|
||||
|
||||
~~~
|
||||
# echo "deb http://packages.elastic.co/kibana/4.6/debian stable main" | tee -a /etc/apt/sources.list.d/elastic.list
|
||||
# apt update && apt install kibana
|
||||
# /opt/kibana/bin/kibana plugin --install elastic/sense
|
||||
# chown -R kibana: /opt/kibana
|
||||
~~~
|
||||
|
||||
~~~
|
||||
# vim /etc/logrotate.d/kibana
|
||||
/var/log/kibana/*.log {
|
||||
daily
|
||||
rotate 7
|
||||
copytruncate
|
||||
compress
|
||||
delaycompress
|
||||
missingok
|
||||
notifempty
|
||||
}
|
||||
~~~
|
||||
|
||||
~~~
|
||||
# cd /etc; git add -A; git commit -m "Install Kibana"
|
||||
~~~
|
||||
|
||||
## Démarrage
|
||||
|
||||
~~~
|
||||
# systemctl start kibana
|
||||
~~~
|
||||
|
||||
## Utile
|
||||
|
||||
* l'interface principale est disponible sur http://127.0.0.1:5601/
|
||||
* l'interface **Sense** est disponible sur http://127.0.0.1:5601/app/sense
|
||||
|
||||
|
||||
# Conseils
|
||||
|
||||
* placer Elasticsearch/Logstash/Kibana derrière un proxy (Nginx ou HAProxy) si on souhaite utiliser une authentification ;
|
||||
* utiliser des certificats SSL (nativement géré par les logiciels) pour que les données circulent de manière chiffrée (surtout entre filebeat et logstash, car ça passe par Internet).
|
Loading…
Reference in a new issue