Objectif : Dans ce laboratoire, vous explorerez la facilité avec laquelle vous pouvez obtenir des métriques système et NGINX avec Metricbeat et les indexer dans Elasticsearch. Vous explorerez également les tableaux de bord Kibana et verrez avec quelle facilité vous pouvez surveiller ces métriques.
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.14.0-linux-x86_64.tar.gz
tar -xzf metricbeat-7.14.0-linux-x86_64.tar.gz
cd metricbeat-7.14.0-linux-x86_64

Pour réinitialiser le mot de passe à tout moment, il suffit de cliquer sur le lien Sécurité, puis sur le bouton Réinitialiser le mot de passe. Cette fois, n’oubliez pas de copier le mot de passe et de le sauvegarder dans un endroit sûr !

cloud.id: "YOUR_CLOUD_ID"
cloud.auth: "elastic:YOUR_CLOUD_PASSWORD"
Remplacez VOTRE_CLOUD_ID et VOTRE_CLOUD_PASSWORD par l’ID du nuage et le mot de passe de l’utilisateur élastique de votre déploiement, respectivement.
Vérifiez si Metricbeat peut atteindre votre déploiement.
./metricbeat test output
Vous devriez obtenir un résultat similaire à celui ci-dessous :
elasticsearch: https://196fdefef0f64d08a64fe63bff7ae538.europe-west1.gcp.cloud.es.io:443...
parse url... OK
connection...
parse host... OK
dns lookup... OK
addresses: 35.195.130.253
dial up... OK
TLS...
security: server's certificate chain verification is enabled
handshake... OK
TLS version: TLSv1.2
dial up... OK
talk to server... OK
version: 7.14.0
cat modules.d/system.yml
Vous devriez voir les configurations suivantes :
# Module: system
# Docs: https://www.elastic.co/guide/en/beats/metricbeat/7.x/metricbeat-module-system.html
- module: system
period: 10s
metricsets:
- cpu
- load
- memory
- network
- process
- process_summary
- socket_summary
#- entropy
#- core
#- diskio
#- socket
#- service
#- users
process.include_top_n:
by_cpu: 5 # include top 5 processes by CPU
by_memory: 5 # include top 5 processes by memory
# Configure the mount point of the host’s filesystem for use in monitoring a host from within a container
#system.hostfs: "/hostfs"
- module: system
period: 1m
metricsets:
- filesystem
- fsstat
processors:
- drop_event.when.regexp:
system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)'
- module: system
period: 15m
metricsets:
- uptime
#- module: system
# period: 5m
# metricsets:
# - raid
# raid.mount_point: '/'
Le fichier de configuration comporte trois parties. La première collecte les mesures concernant l’utilisation du CPU, la charge moyenne du CPU, l’utilisation de la mémoire, les E/S du réseau, les processus et les sockets toutes les dix secondes. La deuxième collecte les statistiques du système de fichiers toutes les minutes. La troisième collecte le temps de fonctionnement du système toutes les quinze minutes.
./metricbeat modules enable nginx
cat modules.d/nginx.yml
Vous devriez voir les configurations suivantes :
# Module: nginx
# Docs: https://www.elastic.co/guide/en/beats/metricbeat/7.x/metricbeat-module-nginx.html
- module: nginx
#metricsets:
# - stubstatus
period: 10s
# Nginx hosts
hosts: ["http://127.0.0.1"]
# Path to server status. Default server-status
#server_status_path: "server-status"
#username: "user"
#password: "secret"
Ce fichier de configuration indique essentiellement à Metricbeat quel est l’hôte du serveur ainsi que son chemin d’état pour la collecte des métriques NGINX toutes les dix secondes. Cependant, notez qu’il suppose que NGINX n’a pas d’authentification, ce qui n’est pas le cas de votre environnement de laboratoire.
Après avoir édité modules.d/nginx.yml, il devrait ressembler à ce qui suit.
# Module: nginx
# Docs: https://www.elastic.co/guide/en/beats/metricbeat/7.10/metricbeat-module-nginx.html
- module: nginx
#metricsets:
# - stubstatus
period: 10s
# Nginx hosts
hosts: ["http://127.0.0.1"]
# Path to server status. Default server-status
#server_status_path: "server-status"
username: "training"
password: "nonprodpwd"
./metricbeat setup
./metricbeat -e
Pour lancer Kibana, accédez à votre observability-deployment et cliquez sur le lien Open juste à côté du logo Kibana.



Vous verrez quelque chose de similaire à la page ci-dessous.



Vous verrez quelque chose de similaire à la page ci-dessous.


Cliquez sur Ajouter depuis la bibliothèque pour commencer à ajouter des visualisations à votre tableau de bord.

Utilisez la barre de requête pour filtrer par visualisations filebeat nginx et ajoutez les visualisations Filebeat suivantes : Journaux d’accès dans le temps et Codes de réponse dans le temps.

Maintenant, filtrez par visualisations metricbeat nginx pour ajouter les visualisations Metricbeat suivantes : Taux de requêtes et Taux de lecture/écriture/attente.

Fermez la boîte de dialogue Ajouter à partir de la bibliothèque et enregistrez votre tableau de bord sous le nom de Filebeat x Metricbeat.

Vérifiez les différentes informations que vous pouvez obtenir à partir des journaux et des métriques de NGINX dans le tableau de bord que vous venez de créer.

Notez que vous pouvez utiliser les données de Filebeat et de Metricbeat pour vérifier le nombre de requêtes par seconde, comme le montrent les visualisations Access logs over time et Request Rate. La version open source de NGINX ne fournit pas de métriques sur les codes de réponse, mais vous pouvez utiliser Filebeat pour obtenir ces informations à partir des journaux NGINX, comme vous pouvez le voir dans la visualisation des codes de réponse dans le temps. Avec les journaux NGINX, vous pouvez également vérifier l’emplacement, le système d’exploitation, le navigateur, la durée et de nombreuses autres informations sur les demandes. Cependant, les journaux NGINX ne vous disent pas combien de connexions ont été acceptées, traitées et abandonnées. Dans ce cas, vous pouvez utiliser Metricbeat pour collecter ces informations ainsi que le nombre de connexions actives et le nombre de connexions en lecture, écriture et attente, comme vous pouvez le voir dans la visualisation du taux de lecture / écriture / attente.
Résumé : Dans ce laboratoire, vous avez exploré la facilité avec laquelle vous pouvez obtenir des mesures du système et de NGINX avec Metricbeat et les indexer dans Elasticsearch. Vous avez également exploré les tableaux de bord Kibana et vu avec quelle facilité vous pouvez surveiller ces mesures.