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" }