GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installation de la pile ELK sur Ubuntu 14.04

Qu'est-ce que la pile ELK ?

ELK est un acronyme qui signifie Elasticsearch Logstash Kibana. Chaque terme de l'abréviation ELK représente un logiciel open source individuel et tous ces logiciels sont utilisés collectivement pour l'analyse des journaux. L'analyse des journaux est la science qui consiste à donner un sens aux enregistrements générés par ordinateur. Les journaux sont émis par les périphériques réseau, les systèmes d'exploitation, les applications et toutes sortes de périphériques intelligents ou programmables. Un flux de messages en séquence temporelle comprend souvent un journal. Les journaux peuvent être dirigés vers des fichiers et stockés sur disque, ou dirigés sous forme de flux réseau vers un collecteur de journaux.

Apprenons brièvement à connaître les tâches effectuées par chacun des logiciels de la pile ELK.

Elasticsearch : Il stocke les journaux et agit également comme un moteur de recherche.

Logstash : Identifie les journaux du réseau et les envoie à la recherche élastique.

Kibana : Il s'agit d'un logiciel de visualisation de données qui affiche les données de la base de données elasticsearch de manière interactive.

Procédure d'installation

Maintenant que vous avez une idée de base de la pile ELK, installons successivement chaque module ou logiciel. Mais avant cela, nous devons installer JAVA sur le serveur.

Installation JAVA

Téléchargez le dernier package JAVA ou utilisez la commande suivante pour ajouter le package JAVA 8 au référentiel

sudo add-apt-repository -y ppa:webupd8team/java

Mettez ensuite à jour le référentiel à l'aide de la commande

sudo apt-get update

Utilisez successivement les commandes suivantes pour installer JAVA avec succès

echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections
sudo apt-get -y install oracle-java8-installer

Pour vérifier si le package a été installé correctement, tapez ce qui suit dans le terminal

java -version

Si le package a été installé avec succès, vous recevrez un message comme celui-ci

java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

Installer Elasticsearch

Utilisez les commandes suivantes une par une pour télécharger et installer Elasticsearch sur votre serveur

wget -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 elasticsearch

Exécutez maintenant la commande suivante pour démarrer elasticsearch au démarrage

sudo update-rc.d elasticsearch defaults 95 10

La commande donnera le résultat suivant

Adding system startup for /etc/init.d/elasticsearch ...
   /etc/rc0.d/K10elasticsearch -> ../init.d/elasticsearch
   /etc/rc1.d/K10elasticsearch -> ../init.d/elasticsearch
   /etc/rc6.d/K10elasticsearch -> ../init.d/elasticsearch
   /etc/rc2.d/S95elasticsearch -> ../init.d/elasticsearch
   /etc/rc3.d/S95elasticsearch -> ../init.d/elasticsearch
   /etc/rc4.d/S95elasticsearch -> ../init.d/elasticsearch
   /etc/rc5.d/S95elasticsearch -> ../init.d/elasticsearch

Il est maintenant temps de le démarrer et de voir s'il fonctionne correctement.

sudo /etc/init.d/elasticsearch start
curl 'http://localhost:9200'

S'il est installé et exécuté avec succès, vous devriez recevoir un résultat textuel semblable au suivant

root@ELKTest:~# curl 'http://localhost:9200'
{
  "name" : "Termagaira",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "72XGxcHjSjaaXDdtmIio0g",
  "version" : {
    "number" : "2.4.3",
    "build_hash" : "d38a34e7b75af4e17ead16f156feffa432b22be3",
    "build_timestamp" : "2016-12-07T16:28:56Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.2"
  },
  "tagline" : "You Know, for Search"
}

Vous devez maintenant modifier le fichier de configuration pour restreindre l'accès extérieur à vos journaux elasticsearch.

sudo vi /etc/elasticsearch/elasticsearch.yml

Maintenant, trouvez la ligne network.host, décommentez-la en supprimant # avant la ligne et remplacez le contenu de cette ligne par localhost ou 127.0.0.1 . Pour cet exemple, nous utiliserons localhost

network.host:  localhost

Redémarrez elasticsearch

sudo service elasticsearch restart

Installation de Logstash

L'installation de logstash est très similaire à l'installation d'Elasticsearch, tout comme Kibana. Utilisez les commandes suivantes pour importer et installer le package logstash.

echo "deb https://packages.elastic.co/logstash/2.3/debian stable main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update && sudo apt-get install logstash

Exécutez maintenant la commande ci-dessous pour démarrer logstash au démarrage.

sudo update-rc.d logstash defaults 95 10
Result:

Adding system startup for /etc/init.d/logstash ...
   /etc/rc0.d/K10logstash -> ../init.d/logstash
   /etc/rc1.d/K10logstash -> ../init.d/logstash
   /etc/rc6.d/K10logstash -> ../init.d/logstash
   /etc/rc2.d/S95logstash -> ../init.d/logstash
   /etc/rc3.d/S95logstash -> ../init.d/logstash
   /etc/rc4.d/S95logstash -> ../init.d/logstash
   /etc/rc5.d/S95logstash -> ../init.d/logstash

Démarrez enfin logstash

sudo /etc/init.d/logstash start

Installer Kibana

Utilisez successivement les commandes suivantes pour importer et installer kibana

echo "deb http://packages.elastic.co/kibana/4.5/debian stable main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update && sudo apt-get install kibana

Configurez maintenant kibana pour démarrer au démarrage en utilisant

sudo update-rc.d kibana defaults 95 10
Result:

Adding system startup for /etc/init.d/kibana ...
   /etc/rc0.d/K10kibana -> ../init.d/kibana
   /etc/rc1.d/K10kibana -> ../init.d/kibana
   /etc/rc6.d/K10kibana -> ../init.d/kibana
   /etc/rc2.d/S95kibana -> ../init.d/kibana
   /etc/rc3.d/S95kibana -> ../init.d/kibana
   /etc/rc4.d/S95kibana -> ../init.d/kibana
   /etc/rc5.d/S95kibana -> ../init.d/kibana

Configurez le fichier kibana afin que vous seul ayez accès à l'interface.

sudo vi /opt/kibana/config/kibana.yml

Dans le fichier de configuration de Kibana, recherchez la ligne server.host et remplacez "0.0.0.0" par "localhost" :puis enregistrez et quittez le fichier de configuration.

server.host: "localhost"

Redémarrez maintenant le service

sudo service kibana restart

Installation de NGINX

Avant de pouvoir utiliser l'interface Web de Kibana, vous devez installer un proxy inverse. Installez donc NGINX à l'aide de la commande suivante.

sudo apt-get install nginx apache2-utils

En exécutant la commande suivante, vous devez configurer le nom d'utilisateur et le mot de passe pour l'interface Web de Kibana

sudo htpasswd -c /etc/nginx/htpasswd.users kibadmin

Vous pouvez utiliser n'importe quel nom de votre choix à la place de kibadmin. Une invite apparaîtra demandant d'entrer un nouveau mot de passe. Entrez le mot de passe de votre compte kibana et terminez le processus.

Apportez maintenant des modifications au bloc de serveur par défaut de Nginx en utilisant ce qui suit

sudo vim /etc/nginx/sites-available/default

Supprimez le contenu du fichier et collez le code suivant dans le fichier, puis enregistrez et quittez.

server {
        listen 80;

        server_name yourdomain;

        auth_basic "Restricted Access";
        auth_basic_user_file /etc/nginx/htpasswd.users;

        location / {
            proxy_pass http://localhost:5601;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }

Assurez-vous de remplacer votre domaine par votre nom de domaine correspondant. Redémarrez ensuite le serveur Web en exécutant la commande ci-dessous.

sudo service nginx restart

La pile ELK est maintenant installée avec succès sur le serveur

Génération de certificat SSL

Générez un certificat SSL en suivant les étapes fournies dans le lien en cliquant ici.

Lorsque vous avez une clé et un certificat, mettez-les dans /etc/nginx/cert.key et /etc/nginx/cert.pem puis créez un fichier /etc/nginx/sites-available/nsm avec le contenu suivant :

server {
	listen 80 default_server;
	return 301 https://$host$request_uri;
}

server {
        listen 443 ssl;
        server_name hostname; <-- edit this to match your hostname
 
        root html;
        index index.html index.htm;
 
        ssl on;
        ssl_certificate cert.pem;
        ssl_certificate_key cert.key;
	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;
	}
}

Supprimez le fichier de configuration Nginx par défaut et activez le nouveau à l'aide de la commande suivante, puis redémarrez le serveur Web.

$ sudo rm /etc/nginx/sites-enabled/default && sudo ln -s /etc/nginx/sites-available/nsm /etc/nginx/sites-enabled/nsm
$ sudo /etc/init.d/nginx restart

Si tout est exécuté correctement, l'infrastructure de recherche principale est en place et elle devrait être accessible à l'adresse https:///


Ubuntu
  1. Comment installer ELK Stack (Elasticsearch, Logstash et Kibana) sur Ubuntu 18.04 / 20.04

  2. Installation de la pile LEMP sur Ubuntu 14.04

  3. Installation de la pile LAMP sur Ubuntu 14.04

  4. Installer le pilote Fglrx Ubuntu ?

  5. Comment installer ELK Stack sur Ubuntu 16.04

Comment installer la pile ELK sur CentOS 8

Comment installer Elasticsearch sur Ubuntu 18.04 LTS

Comment installer ELK Stack sur Ubuntu 20.04 LTS

Comment installer Elasticsearch sur Ubuntu 20.04 LTS

Comment installer la pile ELK sur Debian 8

Comment installer ELK Stack sur Ubuntu 20.04