Installation ELK
Note : ELK est en version 7.x au moment de la rédaction de cette page, c'est la raison pour laquelle nous utilisons le dépôt de cette branche.
Méthode 1 : ajout dépôt APT
Nous créons le fichier elasticsearch.list, et ajoutons le dépôt pour Elasticsearch :
sudo nano /etc/apt/sources.list.d/elasticsearch.list
## # Elasticsearch repository # Version: 7.x ## deb http://HTTPS///artifacts.elastic.co/packages/7.x/apt stable main
Note : le lien APT est de la forme “http://HTTPS///” pour pouvoir passer par le proxy APT local, bien qu'étant à la base un dépôt en HTTPS.
Nous importons la clé GPG du dépôt :
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Méthode 2 : utilisation du dépôt local
Une copie de paquets est faite sur notre dépôt APT local OPLV. C'est la solution qui est privilégiée. Nous récupérons la clé GPG du dépôt :
wget -q -O - http://repo.oplv-france.pro/oplv-apt.pub | sudo apt-key add -
Nous créons le fichier /etc/apt/sources.list.d/oplv.list
## # OPLV repository # Version: Stretch ## deb http://repo.oplv-france.pro/debian stretch main
Nous mettons le cache à jour
sudo aptitude update
Installation des paquets
Nous installons les paquets nécessaires :
sudo aptitude update && sudo aptitude install openjdk-8-jdk-headless elasticsearch kibana logstash
Configuration
Nous configurons elasticsearch :
sudo nano /etc/elasticsearch/elasticsearch.yml
Nous renseignons les paramètres suivants:
cluster.name: oplv-infra node.name: node01 network.host: 127.0.0.1 http.port: 9200
Nous configurons kibana :
sudo nano /etc/kibana/kibana.yml
Nous renseignons les paramètres suivants:
server.port: 5601 server.host: "localhost" elasticsearch.url: "http://localhost:9200"
Installation Nginx comme reverse proxy
Nous installons Nginx qui va servir de reverse proxy :
sudo aptitude install nginx
Nous créons le vhost
sudo nano /etc/nginx/sites-available/rsyslog.neotion.pro
Et nous insérons :
##
# Nginx vHost
# rsyslog.neotion.pro
##
server {
listen 80;
server_name rsyslog.neotion.pro;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name rsyslog.neotion.pro;
access_log /var/log/nginx/rsyslog.neotion.pro_access.log;
error_log /var/log/nginx/rsyslog.neotion.pro_error.log;
root html;
index index.html index.htm;
ssl on;
ssl_certificate /etc/ssl/certs/neotion.pro.crt;
ssl_certificate_key /etc/ssl/private/neotion.pro.key;
ssl_trusted_certificate /etc/ssl/certs/neotion.pro.root.crt;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_protocols TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:5601;
include proxy_params;
}
}
Nous activons le vhost :
cd /etc/nginx/sites-enabled sudo ln -s /etc/nginx/sites-available/rsyslog.neotion.pro
Nous redémarrons nginx :
sudo systemctl restart nginx
Démarrage de l'ensemble
Nous activons les services pour qu'ils se lancent au démarrage :
sudo systemctl enable elasticsearch sudo systemctl enable logstash sudo systemctl enable kibana
Nous démarrons les services :
sudo systemctl start elasticsearch sudo systemctl start logstash sudo systemctl start kibana
Test
Pour contrôler depuis l'API Rest d'Elasticsearch
curl -X GET http://localhost:9200
Vous devriez avoir un retour de ce type
{
"name" : "node01",
"cluster_name" : "oplv-infra",
"cluster_uuid" : "lPbKK-s9Qkm6DgOFxQyQvA",
"version" : {
"number" : "7.3.1",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "4749ba6",
"build_date" : "2019-08-19T20:19:25.651794Z",
"build_snapshot" : false,
"lucene_version" : "8.1.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}