Installation service Kibana : Différence entre versions
m |
(Aucune différence)
|
Version actuelle en date du 4 octobre 2018 à 13:02
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.
Sommaire
Votre avis
Nobody voted on this yet
|
|
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.
Contrairement au fichier "standard" pour ElasticSearch, ce principe n'est pas mis en place dans le paquet officiel.
Paramétrages
Les fichiers de paramétrage mis en place s'inspire du contenu du paquet Debian
.
Configuration par défaut
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
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
A noter qu'il est donc possible de mettre son propre fichier dans /etc/sysconfig/kibana
si on veut surcharger des informations.
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
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
Voir aussi
Sources installation service : https://github.com/elastic/kibana/tree/master/src/dev/build/tasks/os_packages/service_templates