Installation service Kibana

De EjnTricks

Kibana a été installé depuis les binaires. Le déploiement a été réalisé dans le répertoire /var/opt/kibana.

Cet article présente la mise en place d'un service avec systemd, en s'inspirant du paquet Debian disponible.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Folder-icon.png Répertoire exécution

Lors de l'exécution d'Kibana, un fichier PID peut être créé. Dans le cadre de cette installation, ce fichier est créé dans le répertoire /var/run/kibana. La création de ce répertoire sera mise en place lors de la déclaration du service.

L'option RuntimeDirectory permet d'indiquer le nom du répertoire, soit kibana pour cette installation.

L'option RuntimeDirectoryMode permet de spécifier les permissions qui seront affectés à ce répertoire, La valeur par défaut étant 766, cela correspond au besoin de cette installation, et l'option n'est pas configurée.

Le répertoire sera alors automatiquement créé lors du démarrage du service, mais également supprimé lors de son arrêt. Le fichier PID sera alors automatiquement supprimé lors de l'arrêt, ce qui évitera des messages d'avertissement lors du démarrage pour informer qu'un fichier est déjà existant.

Warning-icon.png Contrairement au fichier "standard" pour ElasticSearch, ce principe n'est pas mis en place dans le paquet officiel.


Configuration-icon.png Paramétrages

Les fichiers de paramétrage mis en place s'inspire du contenu du paquet Debian.

Process-icon.png Configuration par défaut

Warning-icon.png Attention, cette organisation est reprise même si cela est redondant avec la configuration du service, décrite dans le prochain paragraphe.

Un premier fichier elasticsearch de configuration est mis à disposition dans le répertoire /etc/default, afin de personnaliser l'instance. Un exemple est fourni dans les source, https://github.com/elastic/kibana/blob/master/src/dev/build/tasks/os_packages/service_templates/sysv/etc/default/kibana.

celui-ci est repris telquel.

user="kibana"
group="kibana"
chroot="/"
chdir="/"
nice=""


# If this is set to 1, then when `stop` is called, if the process has
# not exited within a reasonable time, SIGKILL will be sent next.
# The default behavior is to simply log a message "program stop failed; still running"
KILL_ON_STOP_TIMEOUT=0

Les permissions sont modifiées comme lors de l'installation pour restreindre l'accès au compte de service.

#sudo chown root:root /etc/default/kibana
#sudo chmod 644 /etc/default/kibana

Robot-icon.png Configuration du service

On déclare ensuite le service systemd dans le fichier kibana.service dans le répertoire /lib/systemd/system. Un exemple est fourni dans les source, https://github.com/elastic/elasticsearch/blob/master/distribution/packages/src/common/systemd/elasticsearch.service.

La configuration mise en place est la suivante, permettant de référencer les emplacements spécifiques.

[Unit]
Description=Kibana

[Service]
RuntimeDirectory=kibana
Type=simple
User=kibana
Group=kibana
# Load env vars from /etc/default/ and /etc/sysconfig/ if they exist.
# Prefixing the path with '-' makes it try to load, but if the file doesn't
# exist, it continues onward.
EnvironmentFile=-/etc/default/kibana
EnvironmentFile=-/etc/sysconfig/kibana
ExecStart=/var/opt/kibana/installed/bin/kibana "-c /var/opt/kibana/common/conf/kibana.yml"
Restart=always
WorkingDirectory=/

[Install]
WantedBy=multi-user.target

Examples-icon.png A noter qu'il est donc possible de mettre son propre fichier dans /etc/sysconfig/kibana si on veut surcharger des informations.

Examples-icon.png Le paramètre RuntimeDirectory a été rajouté par rapport à la configuration du paquet, afin de gérer le répertoire d'exécution comme expliqué au début de l'article.

Les permissions sont modifiées comme lors de l'installation pour restreindre l'accès au compte de service.

#sudo chown root:root /lib/systemd/system/kibana.service
#sudo chmod 644 /lib/systemd/system/kibana.service


Run-icon.png Création service

La déclaration du service s'effectue via la commande systemctl enable en fournissant l'emplacement du fichier, créant tous les liens nécessaires.

#sudo systemctl enable /lib/systemd/system/kibana.service
Created symlink /etc/systemd/system/multi-user.target.wants/kibana.service → /lib/systemd/system/kibana.service.

Pour le démarrer il suffit alors d'exécuter la commande systemctl avec l'argument start.

#sudo systemctl start kibana


Viewer icon.png Voir aussi

Sources installation service : https://github.com/elastic/kibana/tree/master/src/dev/build/tasks/os_packages/service_templates