Installation Metricbeat
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.
Sommaire
Votre avis
Nobody voted on this yet
|
|
Compte de service
Un compte de service est créé pour démarrer le serveur Metricbeat
.
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.
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
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
.
#sudo wget -P /var/opt/beats/metricbeat https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-6.2.3-linux-x86_64.tar.gz
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
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
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
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
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/
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.
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
.
Attention, il peut être nécessaire de modifier la configuration des fichiers trace, dans le fichier metricbeat.yml
, comme explicité dans l'article suivant.
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
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.
Installation service
Voir aussi
Documentation officielle: https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-installation.html