Dans ce didacticiel, nous allons vous montrer comment installer ELK Stack sur CentOS 7. Pour ceux d'entre vous qui ne le savaient pas, ELK stack est une plate-forme de gestion de journaux open source populaire. Il est utilisé comme gestion centralisée pour le stockage, l'analyse et l'affichage des journaux. La gestion centralisée facilite l'étude des journaux et l'identification des problèmes éventuels pour un nombre quelconque de serveurs.
Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo
‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer étape par étape l'installation d'ELK Stack (Elasticsearch, Logstash et Kibana) sur le serveur CentOS 7.
Prérequis
- Un serveur exécutant l'un des systèmes d'exploitation suivants :CentOS 7.
- Il est recommandé d'utiliser une nouvelle installation du système d'exploitation pour éviter tout problème potentiel.
- Accès SSH au serveur (ou ouvrez simplement Terminal si vous êtes sur un ordinateur).
- Un
non-root sudo user
ou l'accès à l'root user
. Nous vous recommandons d'agir en tant qu'non-root sudo user
, cependant, car vous pouvez endommager votre système si vous ne faites pas attention lorsque vous agissez en tant que root.
Installer la pile ELK sur CentOS 7
Étape 1. Tout d'abord, commençons par nous assurer que votre système est à jour.
yum clean allyum -y mise à jour
Étape 2. Installation de Java.
Vous avez besoin d'un environnement d'exécution Java (JRE) car Elasticsearch est écrit en langage de programmation Java, vous pouvez installer le package OpenJDK qui inclut JRE :
yum installer java-1.8.0-openjdk.x86_64
Vérifiez la version Java :
[[email protected] ~]# java -versionopenjdk version "1.8.0_131"Environnement d'exécution OpenJDK (build 1.8.0_131-b12)OpenJDK 64-Bit Server VM (build 25.131-b12, mode mixte)
Étape 3. Installation d'Elasticsearch.
Elasticsearch peut être installé avec un gestionnaire de packages en ajoutant le référentiel de packages d'Elastic :
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.0.rpm
Installez ensuite le package RPM que vous venez de télécharger :
rpm -ivh elasticsearch-5.0.0.rpm
Démarrez et activez le service :
systemctl activer elasticsearchsystemctl démarrer elasticsearch
Exécutez maintenant la commande suivante depuis le terminal pour vérifier si Elasticsearch fonctionne correctement :
curl -X GET http://localhost:9200
Vous devriez obtenir le résultat suivant :
{"name" :"idroot.us","cluster_name" :"elasticsearch","cluster_uuid" :"k27ZZFJPTaOtwg6_pyzEiw","version" :{"number" :"5.5.0","build_hash" :" 2cfe0df","build_date" :"2017-05-29T16:05:51.443Z","build_snapshot" : false,"lucene_version" :"6.5.1"},"tagline" :"Vous savez, pour la recherche"}Étape 4. Installation de Kibana.
L'installation de Kibana est très simple, vous pouvez facilement l'installer à l'aide d'un package RPM :
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.5.0-x86_64.rpmExécutez maintenant la commande suivante pour pouvoir démarrer le service Kibana :
systemctl daemon-reloadsystemctl start kibanaKibana est maintenant installé et fonctionne sur notre système. Pour consulter la page Web, ouvrez le navigateur Web et accédez à l'URL mentionnée ci-dessous (utilisez l'adresse IP de votre hôte ELK) :
http://localhost:5601Étape 5. Configurez la pile ELK.
Tout d'abord, nous devons créer un certificat SSL. Ce certificat sera utilisé pour sécuriser la communication entre les clients logstash et filebeat. Avant de créer un certificat SSL, nous allons créer un saisie de l'adresse IP de notre serveur dans
openssl.cnf
:nano /etc/ssl/openssl.cnfRecherchez une section avec 'subjectAltName' et ajoutez-y l'adresse IP de votre serveur :
subjectAltName =IP:10.20.30.100Changez maintenant le répertoire en
/etc/ssl
et créez un certificat SSL :cd /etc/sslopenssl req -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash_frwrd.crtÉtape 6. Configurez Logstash.
Nous allons maintenant créer un fichier de configuration pour logstash dans le dossier ‘
/etc/logstash/conf.d
' :[[email protected] ~]# nano /etc/logstash/conf.d/logstash.conf# input sectioninput { beats { port => 5044 ssl => true ssl_certificate => "/etc/ssl/logstash_frwrd. crt" ssl_key => "/etc/ssl/logstash-forwarder.key" congestion_threshold => "40" }}La section suivante, c'est-à-dire la "section de filtrage", analysera les journaux avant de les envoyer à Elasticsearch :
# Filter sectionfilter {if [type] =="syslog" { grok { match => { "message" => "%{SYSLOGLINE}" } } date {match => [ "timestamp", "MMM d HH :mm:ss", "MMM jj HH:mm:ss" ]} }}La dernière section est la "section de sortie" et définit l'emplacement de stockage des journaux :
# output sectionoutput { elasticsearch { hosts => localhost index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" }stdout { codec => rubydebug }}Enregistrez maintenant le fichier et quittez. Démarrez maintenant le service logstash et activez-le au démarrage :
systemctl démarrer logstashsystemctl activer logstashÉtape 7. Installation de Filebeat sur les clients.
Maintenant, pour pouvoir communiquer avec la pile ELK, Filebeat doit être installé sur toutes les machines clientes :
$ nano /etc/yum.repos.d/filebeat.repo[beats]name=Elastic Beats Repositorybaseurl=https://packages.elastic.co/beats/yum/el/$basearchenabled=1gpgkey=https:/ /packages.elastic.co/GPG-KEY-elasticsearchgpgcheck=1Installez maintenant filebeat en utilisant la commande suivante :
yum install filebeatAprès l'installation de filebeat, copiez le certificat SSL du serveur de pile ELK vers '
/etc/ssl
'. Ensuite, nous apporterons des modifications au fichier de configuration filebeat pour connecter le client au serveur ELK :nano /etc/filebeat/filebeat.ymlApportez les modifications suivantes au fichier :
. . .chemins :– /var/log/*.log. . .. . .document_type :syslog. . .. . .output:logstash:hosts :["10.20.30.100:5044"]tls:certificate_authorities :["/etc/ssl/logstash_frwrd.crt"]. . .Démarrez maintenant le service et activez-le au démarrage :
systemctl restart filebeatsystemctl enable filebeatLes configurations côté serveur et côté client sont maintenant terminées. Nous pouvons maintenant nous connecter à l'interface Web de Kibana pour rechercher les journaux analysés.
http://votre-adresse-ip:5601/Félicitations ! Vous avez installé avec succès ELK Stack sur CentOS 7. Merci d'avoir utilisé ce didacticiel pour installer ELK Stack (Elasticsearch, Logstash et Kibana) sur les systèmes CentOS 7. Pour obtenir de l'aide supplémentaire ou des informations utiles , nous vous recommandons de consulter le site Web officiel d'ELK Stack.