Installer Kibana
Objectif
Dans un article précédent, nous avions vu comment installer un serveur Elasticsearch 7.17.11 pour Magento 2. Dans ce tutoriel, nous allons voir comment installer Kibana 7.17.11. Kibana est une interface web qui permet de visualiser les données présentes dans Elasticsearch. L'installation est réalisée sur une machine virtuelle Ubuntu 22.04 LTS.
Installation des composants indispensables
Pour fonctionner Kibana a besoin de s'exécuter sur une machine virtuelle Java (JVM). Par conséquent, nous devons installer le paquet default-jre
ainsi que du paquet default-jdk
. Ce dernier est nécessaire pour quelques fonctionnalités spécifiques :
apt install default-jre
Vérifier l'installation en lançant la commande : java --version
, le résultat doit être :
openjdk 11.0.19 2023-04-18
OpenJDK Runtime Environment (build 11.0.19+7-post-Ubuntu-0ubuntu122.04.1)
OpenJDK 64-Bit Server VM (build 11.0.19+7-post-Ubuntu-0ubuntu122.04.1, mixed mode, sharing)
Puis, installer le JDK :
apt install default-jdk
Vérifier en lançant la commande : javac --version
, le résultat doit être :
javac 11.0.19
Installation de Kibana
Une fois les 2 paquets installés, nous pouvons installer Kibana. Pour cela, il faut ajouter la clé GPG de Kibana puis ajouter le dépôt :
apt-get install gnupg2 apt-transport-https
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
apt-get update && apt-get install kibana=7.17.11
J'ai précisé la version de Kibana car, dans l'article précédent ,j'ai forcé la version d'Elasticsearch à l'installation.
Configuration de Kibana
Nous allons désormais configurer notre machine virtuelle ainsi que Kibana. Commençons par éditer le fichier de configuration de Kibana :
nano /etc/kibana/kibana.yml
Vous trouverez, ci-dessous, les modifications que j'ai apportées au fichier de configuration :
server.host: 0.0.0.0
server.port: 5601
server.name: kb7
elasticsearch.hosts: ["http://es7-1:9200"]
Voici le descriptif des directives présentes dans le fichier de configuration :
server.host
: ce paramètre permet de préciser l'adresse IP pour laquelle Kibana écoute. J'ai choisi d'écouter sur toutes les interfaces réseaux.server.port
: ce paramètre correspond au port utilisé pour Kibana, par défaut, c'est le port 5601.server.name
: ce paramètre permet de nommer le serveur Kibana. Il est important de le renseigner, car il est utilisé dans les URL.elasticsearch.hosts
: ce paramètre prend un tableau où vous devez lister les différents serveurs Elasticsearch que vous souhaitez "lier" à Kibana. Dans notre cas, nous avons un seul serveur Elasticsearch. Il est important de renseigner le protocole ainsi que le port.
Avant d'enregistrer et de fermer le fichier, n'oubliez pas de modifier l'URL kb7
par l'URL de votre serveur Kibana.
systemctl daemon-reload
Nous allons terminer par l'activation du service Kibana afin qu'il démarre automatiquement à chaque fois que le système redémarre. En même temps, nous avons en profiter pour lancer le service Kibana :
systemctl enable kibana.service && systemctl start kibana.service
Vérifier si Kibana est actif en lançant cette commande : systemctl status kibana.service
.
Si besoin, vous pouvez relancer le service avec la commande : systemctl restart kibana.service
.
Résultat
Pour contrôler que le serveur fonctionne correctement, je vous invite à lancer la commande : curl http://kb7:5601/api/status
, en remplaçant kb7
par l'URL de votre serveur Kibana.
Vous devriez avoir le résultat :
{
"name": "kb7",
"uuid": "...",
"version": {
"number": "7.17.11",
...
},
"status": {
"overall": {
"since": "2023-07-09T15:27:19.778Z",
"state": "green",
"title": "Green",
"nickname": "Looking good",
"icon": "success",
"uiColor": "secondary"
},
...
}
Playbook Ansible
Pour automatiser l'installation de Kibana, je vous propose un playbook Ansible très simple permettant d'installer la version 7.17.11 de Kibana pour Ubuntu 22.04 LTS. Ce playbook est disponible sur le dépôt GitLab de Froggit, lien vers le dépôt Froggit du playbook.
Le playbook est composé de 3 fichiers, un premier fichier nommé 00_base.yaml
où vous pourrez modifier les paramètres de Kibana... Les autres fichiers contiennent l'ensemble des actions à effectuer pour installer Elasticsearch. Ce sont les mêmes actions que nous avons vues précédemment.
- name: "Install Kibana 7"
hosts: kb7
tasks:
- name: Install components and prerequisites
include_tasks: 01_install-components.yaml
- name: Install Kibana
include_tasks: 02_install-kibana.yaml
- name: Update Kibana configuration file
lineinfile:
path: /etc/kibana/kibana.yml
regexp: "{{ item.regexp }}"
line: "{{ item.line }}"
with_items:
- { regexp: '^server.host:', line: 'server.host: 0.0.0.0' }
- { regexp: '^server.port:', line: 'server.port: 5601' }
- { regexp: '^server.name:', line: 'server.name: "kb7"' }
- { regexp: '^elasticsearch.hosts:', line: 'elasticsearch.hosts: ["http://es7-1:9200"]' }
- name: Reload daemon
systemd:
daemon_reload: yes
- name: Enable Kibana service
systemd:
name: kibana
enabled: yes
- name: Start Kibana service
systemd:
name: kibana
state: restarted
Fichier 01_install-components.yaml
- name: Install JRE
apt:
name: default-jre
state: present
- name: Install JDK
apt:
name: default-jdk
state: present
- name: Install gnupg2
apt:
name: gnupg2
state: present
Fichier 02_install-kibana.yaml
- name: Add Kibana repository key
apt_key:
url: "https://artifacts.elastic.co/GPG-KEY-elasticsearch"
id: "46095ACC8548582C1A2699A9D27D666CD88E42B4"
state: present
- name: Add Kibana repository
apt_repository:
repo: "deb https://artifacts.elastic.co/packages/7.x/apt stable main"
state: present
- name: Update APT
apt:
update_cache: yes
- name: Install Kibana
apt:
name: kibana=7.17.11