Installation Metricbeat

De EjnTricks
Révision de 18 septembre 2018 à 13:13 par Etienne (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Cet article présente l'installation de Metricbeat sur une machine Ubuntu.

Un paquet est disponible, mais il est préféré d'effectuer l'installation manuellement pour gérer totalement l'installation et les mises à jour.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


User-icon.png Compte de service

Un compte de service est créé pour démarrer le serveur Metricbeat.

Warning-icon.png Attention, aucun compte de service n'est créé depuis le paquet disponible. L'instance est démarrée avec le compte root. Pour cette installation, un compte spécifique est créé.

Un compte metricbeat est créé en système et sans possibilité de connexion, pas de home ni de bash.

#sudo adduser --system --no-create-home --disabled-password --shell /bin/false --group metricbeat
Ajout de l'utilisateur système « metricbeat » (UID 132) ...
Ajout du nouveau groupe « metricbeat » (GID 141) ...
Ajout du nouvel utilisateur « metricbeat » (UID 132) avec pour groupe d'appartenance « metricbeat » ...
Le répertoire personnel « /home/metricbeat » n'a pas été créé.

Attention avec cette commande le compte n'est pas ajouté automatiquement dans le groupe.


Folder-icon.png Initialisation

L'application va être installée sous /var/opt/beats/metricbeat avec une organisation qui doit permettre de faciliter les montées de version.

#sudo mkdir -p /var/opt/beats/metricbeat
#sudo chown metricbeat:metricbeat /var/opt/beats/metricbeat
#sudo chmod 700 /var/opt/beats/metricbeat


Download-icon.png Téléchargement

L'application est téléchargée, en version 6.2.3 dans le répertoire /var/opt/beats/metricbeat avec le nom metricbeat-6.2.3-linux-x86_64.tar.gz.


System-Install-icon.png Installation

L'application va être installée sous /var/opt/beats/metricbeat, avec modification de l'emplacement racine pour être 6.2.3.

#sudo tar --transform 's/^metricbeat-6.2.3-linux-x86_64/6.2.3/' -C /var/opt/beats/metricbeat -xzvf /var/opt/beats/metricbeat/metricbeat-6.2.3-linux-x86_64.tar.gz

Le fichier téléchargé peut être supprimé.

#sudo rm /var/opt/beats/metricbeat/metricbeat-6.2.3-linux-x86_64.tar.gz


Icon File Owner.png Propriétaire fichiers

L'installation a été réalisée avec le compte root. Il est préférable de donner la propriété au compte de démarrage du serveur web, soit metricbeat dans le cadre de cette installation.

#sudo chown -R metricbeat:metricbeat /var/opt/beats/metricbeat/6.2.3


Icon ACL.png Sécurisation

Au niveau de la procédure d'installation, il est indiqué de placer les permissions pour tous les comptes. Cependant, cela présente un problème évident de sécurité. Les droits mis en place seront uniquement pour le compte d'exécution, soit metricbeat dans le cadre de cet article.

#sudo chmod -R go-rwx /var/opt/beats/metricbeat/6.2.3


Vues-icon.png Référencement version

Afin de faciliter les montées de versions, le lien /var/opt/beats/metricbeat/installed est mis en place pour référencer la version active.

#sudo ln -s /var/opt/beats/metricbeat/6.2.3 /var/opt/beats/metricbeat/installed
#sudo chown -h metricbeat:metricbeat /var/opt/beats/metricbeat/installed


Share-icon.png Fichiers communs

Un répertoire common est mis en place pour externaliser les fichiers de configurations et d'exécution.

#sudo mkdir /var/opt/beats/metricbeat/common
#sudo chown metricbeat:metricbeat /var/opt/beats/metricbeat/common
#sudo chmod go-rwx /var/opt/beats/metricbeat/common

Un répertoire config y est créé afin de placer tous les fichiers de configurations de Metricbeat.

#sudo mkdir /var/opt/beats/metricbeat/common/config
#sudo chown metricbeat:metricbeat /var/opt/beats/metricbeat/common/config
#sudo chmod go-rwx /var/opt/beats/metricbeat/common/config

Puis les fichiers de configurations sont déplacés.

#sudo mv /var/opt/beats/metricbeat/6.2.3/fields.yml /var/opt/beats/metricbeat/common/config/
#sudo mv /var/opt/beats/metricbeat/6.2.3/metricbeat.reference.yml /var/opt/beats/metricbeat/common/config/
#sudo mv /var/opt/beats/metricbeat/6.2.3/metricbeat.yml /var/opt/beats/metricbeat/common/config/

Metricbeat fonctionne avec une activation de module dont les fichiers d'activation se trouvent dans le sous répertoire modules.d. Ce dernier est également déplacé dans le répertoire de configuration.

#sudo mv /var/opt/beats/metricbeat/6.2.3/modules.d /var/opt/beats/metricbeat/common/config/

Examples-icon.png A noter qu'aucun lien n'est mis en place dans l'instance. L'emplacement des configurations sera spécifié dans les scripts de démarrage de service.


Icon-log.png Emplacement logs

Afin de centraliser les logs, les fichiers seront placés dans le répertoire /var/log/metricbeat. Il est nécessaire de préparer l'environnement.

#sudo mkdir /var/log/metricbeat
#sudo chown metricbeat:adm /var/log/metricbeat
#sudo chmod o-rwx /var/log/metricbeat

A noter, les permissions sont accordées au groupe adm comme cela est d'usage pour ce type de fichier sur une instance Linux.

Warning-icon.png Attention, il peut être nécessaire de modifier la configuration des fichiers trace, dans le fichier metricbeat.yml, comme explicité dans l'article suivant.


Folder-icon.png Emplacement données

Pour cet article, les données seront placées dans /var/opt/beats/metricbeat/common/datas, préalablement créé. Dans la documentation officielle, le nom du répertoire data, mais il est préféré de mettre datas car il existera très certainement une multitude de données.

#sudo mkdir /var/opt/beats/metricbeat/common/datas
#sudo chown metricbeat:metricbeat /var/opt/beats/metricbeat/common/datas
#sudo chmod go-rwx /var/opt/beats/metricbeat/common/datas

Afin de spécialisation les permissions, la commande setfacl est utilisée pour forcer les permissions pour les fichiers et répertoire créé sous le répertoire.

#sudo setfacl -dm g::0,o::0 /var/opt/beats/metricbeat/common/datas

Celle-ci permet de supprimer les droits d'accès pour l'ensemble des utilisateurs. Les permissions affectées au propriétaire, lecture sur fichiers et lecture + exécution sur répertoires, sont suffisantes dans ce cas.

Ainsi, les permissions sont spécifiées ainsi.

#sudo getfacl /var/opt/beats/metricbeat/common/datas
getfacl : suppression du premier « / » des noms de chemins absolus
# file: var/opt/beats/metricbeat/common/datas
# owner: metricbeat
# group: metricbeat
user::rwx
group::---
other::---
default:user::rwx
default:group::---
default:other::---

Dans le cas où des données sont déjà générées dans ce répertoire, il est possible d'affecter les droits à toute la hiérarchie.

#sudo setfacl -Rdm g::0,o::0 /var/opt/beats/metricbeat/common/datas

Il peut être nécessaire de modifier de nouveau les sécurités.

#sudo chmod -R go-rwx /var/opt/beats/metricbeat/common/datas


Configuration-icon.png Chargement configuration

Filebeat nécessite la mise à disposition de déclaration d'indexe, chargé automatiquement au démarrage, et des tableaux de bords. l'argument setup -e de la commade permet de charger l'ensemble des ses informations, qui seront nécessaires pour les modules activés.

#sudo su metricbeat -s /bin/bash -c '/var/opt/beats/metricbeat/installed/metricbeat -c /var/opt/beats/metricbeat/common/config/metricbeat.yml -path.home /var/opt/beats/metricbeat/installed -path.config /var/opt/beats/metricbeat/common/config -path.data /var/opt/beats/metricbeat/common/datas -path.logs /var/log/metricbeat setup -e'
2018-06-27T17:30:18.835+0200    INFO    instance/beat.go:468    Home path: [/var/opt/beats/metricbeat/installed] Config path: [/var/opt/beats/metricbeat/common/config] Data path: [/var/opt/beats/metricbeat/common/datas] Logs path: [/var/log/metricbeat]
2018-06-27T17:30:18.835+0200    INFO    instance/beat.go:475    Beat UUID: 03452111-9b56-408f-aa61-13a4a02d37ae
2018-06-27T17:30:18.835+0200    INFO    instance/beat.go:213    Setup Beat: metricbeat; Version: 6.2.3
2018-06-27T17:30:18.835+0200    INFO    elasticsearch/client.go:145     Elasticsearch url: http://localhost:9200
2018-06-27T17:30:18.836+0200    INFO    pipeline/module.go:76   Beat name: etienne-server
2018-06-27T17:30:18.837+0200    INFO    elasticsearch/client.go:145     Elasticsearch url: http://localhost:9200
2018-06-27T17:30:18.839+0200    INFO    elasticsearch/client.go:690     Connected to Elasticsearch version 6.2.3
2018-06-27T17:30:18.840+0200    INFO    template/load.go:55     Loading template for Elasticsearch version: 6.2.3
2018-06-27T17:30:19.371+0200    INFO    template/load.go:89     Elasticsearch template with name 'metricbeat-6.2.3' loaded
Loaded index template
2018-06-27T17:30:19.371+0200    INFO    elasticsearch/client.go:145     Elasticsearch url: http://localhost:9200
2018-06-27T17:30:19.374+0200    INFO    elasticsearch/client.go:690     Connected to Elasticsearch version 6.2.3
2018-06-27T17:30:19.374+0200    INFO    kibana/client.go:69     Kibana url: http://localhost:5601
2018-06-27T17:30:34.666+0200    INFO    instance/beat.go:583    Kibana dashboards successfully loaded.
Loaded dashboards

Attention, tous les éléments seront chargés, même ceux des modules qui ne seront pas activés.


Start-icon.png Installation service

Viewer icon.png Voir aussi

Documentation officielle: https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-installation.html