Dans ce tutoriel, nous allons vous montrer comment installer et configurer la pile ELK sur CentOS 7 . Elasticsearch, Logstash et Kibana sont les trois produits open source qui font partie de la collection appelée ELK stack. C'est une solution robuste pour la recherche, l'analyse et la visualisation de données. Comme nous le savons déjà, Elasticsearch est un moteur NoSQL de recherche et d'analyse RESTful distribué basé sur Lucene, le pipeline de traitement de données léger ou Logstash est utilisé pour gérer les événements et les journaux provenant de nombreuses sources différentes et Kibana qui est une application Web est utilisée pour la visualisation des données qui fonctionne sur Elsticsearch. Ce didacticiel sur l'installation d'ELK Stack sur CentOS 7 devrait convenir à tous les autres systèmes VPS Linux, mais à l'origine, il était destiné ou, en d'autres termes, écrit et testé pour un serveur privé virtuel basé sur CentOS. La tâche d'installer ELK Stack sur CentOS 7 devrait être facile, il vous suffit de suivre les étapes ci-dessous et le travail sera fait en moins de dix minutes. Commençons.
1. Prérequis
La première chose dont vous avez besoin pour terminer ce didacticiel avec succès est un accès root au serveur CentOS 7.
Le volume de journaux que vous souhaitez collecter est important car la quantité de CPU, de RAM et de stockage requise par votre serveur ELK en dépend.
Configuration requise :
- SE :CentOS 7
- RAM :4 Go
- Processeur :2
2. Installer Java
Le déploiement de la pile élastique nécessite Java. Il prend en charge OpenJDK et Oracle Java. nous vous recommandons d'utiliser Oracle JDK 1.8. Nous allons installer Java 8 à partir du package officiel Oracle rpm.
Java 8 JDK peut être téléchargé avec la commande wget suivante.
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http:%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u77-b02/jdk-8u171-linux-x64.rpm"
L'étape suivante est l'installation avec cette commande rpm :
rpm -ivh jdk-8u171-linux-x64.rpm
À ce stade, vous devez vérifier l'installation de Java JDK.
java -version
si tout est bien installé, vous verrez le résultat suivant :
java version "1.8.0_172" Java(TM) SE Runtime Environment (build 1.8.0_172-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
3. Installer et configurer Elasticsearch sur CentOS 7
Il est maintenant temps d'installer et de configurer Elasticsearch. Nous utiliserons le package rpm pour cette installation qui est fourni par elastic.co, puis nous le configurerons pour qu'il s'exécute sur localhost (tout cela pour être sûr que nous avons sécurisé la configuration et pour nous assurer qu'il ne peut pas être atteint depuis l'extérieur).
Vous devez ajouter la clé elastic.co au serveur avant l'installation d'Elasticsearch.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Ensuite, vous devez utiliser wget pour télécharger Elasticsearch 6.2 et lancer l'installation
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.rpm rpm -ivh elasticsearch-6.2.4.rpm
À ce stade, lorsque Elasticsearch est déjà installé, vous devez accéder au répertoire de configuration et modifier le fichier de configuration elasticsaerch.yml.
nano /etc/elasticsearch/elasticsearch.yml
Ensuite, vous devez supprimer un commentaire à la ligne 40 afin d'activer le verrouillage de la mémoire pour Elasticsearch. Cela désactive l'échange de mémoire pour Elasticsearch.
bootstrap.memory_lock: true
Après cela, vous devez décommenter les lignes network.host et http.port dans le bloc "Réseau".
network.host: localhost http.port: 9200
N'oubliez pas d'enregistrer le fichier et vous pourrez ensuite quitter l'éditeur.
Ensuite, vous devez éditer le fichier elasticsearch.service pour la configuration du verrou de mémoire.
vim /usr/lib/systemd/system/elasticsearch.service
Décommentez la ligne LimitMEMLOCK.
LimitMEMLOCK=infinity
Encore une fois, n'oubliez pas de sauvegarder puis de quitter.
L'étape suivante consiste à modifier le fichier de configuration sysconfig pour Elasticsearch.
nano /etc/sysconfig/elasticsearch
Vous devez maintenant décommenter la ligne 60 et vous assurer que la valeur est "illimitée".
MAX_LOCKED_MEMORY=unlimited
Enregistrez et quittez.
L'exécution de toutes ces étapes signifie que vous avez terminé la configuration d'Elasticsearch sur CentOS 7. L'adresse IP localhost sur le port 9200 exécutera Elasticsearch,
Avant de démarrer le service, vous devez d'abord recharger les systèmes et permettre à Elasticsearch de démarrer au démarrage.
systemctl daemon-reload systemctl enable elasticsearch systemctl start elasticsearch
Après quelques secondes, Elasticsearch démarrera et vous devrez alors vérifier les ports ouverts sur le serveur et revérifier que "l'état" du port 9200 est "LISTEN".
4.Installez et configurez Kibana sur CentOS 7
Lorsque vous atteignez ce point, la chose suivante sur la liste est l'installation et la configuration de Kibana avec un serveur Web Nginx. Kibana écoutera sur l'adresse IP de l'hôte local et Nginx agit comme un proxy inverse pour l'application Kibana.
Vous devez utiliser wget pour télécharger Kibana 6.2.4, puis vous devez l'installer à l'aide de la commande rpm :
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-x86_64.rpm rpm -ivh kibana-6.2.4-x86_64.rpm
L'étape suivante consiste à modifier le fichier de configuration de Kibana.
nano /etc/kibana/kibana.yml
Décommentez les lignes de configuration pour server.port, server.host et elasticsearch.url.
server.port: 5601 server.host: "localhost" elasticsearch.url: "http://localhost:9200"
Les modifications doivent être enregistrées, puis vous pouvez quitter.
Démarrez le service Kibana et configurez-le pour qu'il démarre automatiquement au démarrage :
systemctl enable kibana systemctl start kibana
Vous avez maintenant terminé l'installation de Kibana.
5. Installer et configurer Nginx
La prochaine étape consiste à installer Nginx et bien sûr à le configurer en tant que proxy inverse pour accéder à Kibana à partir de l'adresse IP publique.
Nginx se trouve dans le référentiel Epel, installez epel-release avec yum.
yum install epel-release
Ensuite, vous devez installer le package Nginx et httpd-tools.
yum install nginx httpd-tools
Les outils pour le serveur Web sont contenus dans le package httpd-tools, vous pouvez utiliser l'authentification de base htpasswd pour Kibana.
À ce stade, il nous est nécessaire de créer un nouveau fichier de configuration d'hôte virtuel dans le répertoire conf.d.
nano /etc/nginx/conf.d/your_domain.com.conf
nous pourrons donc ajouter une nouvelle configuration d'hôte virtuel. Collez la configuration ci-dessous :
server { listen 80; server_name your_domain.com; auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/htpasswd.kibana; 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; } }
Ensuite, un nouveau fichier d'authentification de base doit être créé à l'aide de la commande htpasswd.
sudo htpasswd -c /etc/nginx/htpasswd.kibana admin TYPE YOUR STRONG PASSWORD
Ajoutez Nginx pour qu'il s'exécute au démarrage et démarrez Nginx.
systemctl enable nginx systemctl start nginx
6. Installer et configurer Logstash
Dans l'étape suivante, nous allons installer Logsatash et le configurer pour centraliser les journaux de serveur des clients avec filebeat, puis filtrer et transformer les données Syslog et les déplacer dans la réserve (Elasticsearch).
Utilisez rpm pour télécharger Logstash et l'installer.
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.4.rpm rpm -ivh logstash-6.2.4.rpm
Lorsque l'installation de Logstash est terminée, démarrez le service Logstash et configurez-le pour qu'il démarre automatiquement au démarrage :
systemctl restart logstash systemctl enable logstash
La configuration de Logstash dépend de vos préférences personnelles et des plugins que vous utiliserez. Vous pouvez trouver plus d'informations sur la configuration de Logstash ici.
C'est ça. Vous avez installé avec succès la pile ELK sur votre VPS CentOS 7.
Suivez ce guide pour savoir comment installer la pile ELK sur Ubuntu 20.04
Bien sûr, vous n'avez pas à installer et configurer la pile ELK sur CentOS 7 , si vous utilisez l'un de nos services d'hébergement VPS Elasticsearch géré, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts d'installer la pile ELK pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.
PS . Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons ci-dessous ou laissez simplement un commentaire dans la section des commentaires. Merci.