Collecter des indicateurs de performance dans Elasticsearch et les visualiser dans Grafana
Dans cet article, nous allons essayer de voir comment visualiser n’importe quelle métrique de performance d’un ordinateur Windows Server ou de ses services tels que SQL Server, Échanger… avec l’intention de pouvoir les visualiser en temps réel dans Grafana.
L’idée sera de les collecter par l’intermédiaire de l’un des agents de la Suite Elastic, dans ce cas, nous utiliserons Metricbeat, puis il se chargera de les stocker dans Elasticsearch; et avec Grafana, nous accéderons aux données et les visualiserons comme nous le souhaitons. Il y a quelque temps, j’ai écrit un article où nous parlions de la façon d’implémenter Metricbeat et de la façon de collecter les répliques du système, Si tu veux Regarde, aujourd’hui, ce que nous devons faire, ce sont les compteurs de performance du Perfmon ou Resource Monitor, Ou peu importe comment nous voulons l’appeler.
Installation de Metricbeat
Nous connaissons déjà l’installation de Metricbeat, C’est très simple, il suffira de télécharger le fichier ZIP x64 de https://www.elastic.co/es/downloads/beats/metricbeat et décompressez-le en 'C:\Program Filesmetricbeat'. Pour créer le service Metricbeat, nous exécutons:
cd 'C:\Program Files\metricbeat\'
.\install-service-metricbeat.ps1
Nous modifions le fichier de configuration de Metricbeat, et au minimum, nous créons la connexion à notre serveur Elasticsearch et à celui de Kibana:
...
# ---------------------------- Sortie Elasticsearch ----------------------------
output.elasticsearch:
# Tableau d’hôtes auxquels se connecter.
Hôtes: ["https://FQDN_ELASTIC:9200"]
ssl.verification_mode: Aucun Nom d’utilisateur: "UTILISATEUR"
mot de passe: "MOT DE PASSE"
index: "metricbeat-%{+aaaa. MM.jj}"
...
# =================================== Kibana ===================================
setup.kibana:
hôte: "https://FQDN_KIBANA:5601"
ssl.verification_mode: aucun
...
Nous testons la configuration:
.\metricbeat.exe test config -c .metricbeat.yml -e
Nous chargeons les dashboards de Kibana (si les dashboards ont déjà été importés une fois, nous pouvons ignorer la première commande) et nous démarrons le service:
.\metricbeat.exe setup Start-Service metricbeat
Si nous voulons supprimer le service, comme désinstaller filebeat une fois:
.\uninstall-service-metricbeat.ps1
Activation des métriques des services et des compteurs de performance de Windows
Puits, nous devrons donc activer ce module, Nous allons le faire avec la commande suivante:
.\metricbeat.exe modules enable windows
L’étape suivante sera de savoir quels compteurs de performance nous avons, nous pouvons le voir avec cette commande PowerShell:
Get-Counter -ListSet *
Et il ne restera plus qu’à indiquer à Metricbeat ceux que nous voulons collecter, nous éditons le fichier de configuration du module ‘C:\Program Files\metricbeat\modules.d\windows.yml’ et nous les indiquons, exemple:
# Module: windows
# Docs: https://www.elastic.co/guide/en/beats/metricbeat/7.x/metricbeat-module-windows.html
- module: windows
metricsets:
- service
period: 1m
- module: windows
metricsets: [perfmon]
période: 10s
perfmon.ignore_non_existent_counters: true
perfmon.group_measurements_by_instance: true
perfmon.queries:
- object: "PhysicalDisk"
field : "Disque"
instance: "*"
counters:
- Nom: "Disk Writes/sec"
- Nom: "% Disk Write Time"
field: "write_time"
format: "flotter"
- object: "PhysicalDisk"
field : "Disque"
instance: "*"
counters:
- Nom: "Disk Reads/sec"
- Nom: "% Temps de lecture du disque"
field: "temps_de_lecture"
format: "flotter"
- object: "MSSQL$VEEAMSQL2012:Bases de données"
field : "Base de données"
instance: "*"
counters:
- Nom: "Fichier de données(s) Taille (KO)"
...
Nous enregistrons le fichier, Nous avons redémarré le service Metricbeat et nous allons maintenant vérifier quels sont les données présentes dans Elasticsearch. Comme d'habitude, nous irons sur Kibana et une fois que les données arriveront, nous pourrons aller dans « Gestion » > « Gestion de la pile » > « Kibana » > « Modèles d’indice » > « Create index pattern » pour créer le modèle d’index, Comme je l’ai dit, comme d'habitude (dans ce cas et sans les guillemets) ‘metricbeat-*’ et nous aurons les données déjà stockées correctement dans Elasticsearch. Nous pourrions maintenant nous connecter depuis 'Analytics' > 'Discover' à notre index Metricbeat et visualiser qu'il collecte des données.
Une fois les données dans Elasticsearch, il suffira de suivre les étapes que nous avons déjà vues plusieurs fois dans d'autres articles, qui serait, (Je) créer un connecteur ou une source de données pour Grafana à Elasticsearch et (Ii) commencer à créer le tableau de bord ou les tableaux de bord dont vous avez besoin. Ceci est un exemple des données collectées d'un serveur SQL Server , où nous voyons certains compteurs assez intéressants et courants, ainsi que des tailles et des croissances des bases de données, Connexions, latences…
Imaginez les possibilités de cela, tout service installé sur Windows possède ses propres compteurs, que nous pourrons recueillir avec la périodicité qui nous intéresse, à un niveau de 1s, 10s, 30s… et sa visualisation également, avec un rafraîchissement en temps réel ou pour réaliser des rapports avec son analyse après l'ingestion d'assez de données et pouvoir analyser les croissances…
Rien, je termine avec cela, une manière rapide de voir les compteurs d'un SQL Server:
SÉLECTIONNEZ COMPTER(*) FROM sys.dm_os_performance_counters;
Et c’est tout, j'espère que cela vous aidera à voir les possibilités dans vos environnements, que nous pouvons recueillir n'importe quelle donnée dont nous avons besoin, Arrêtez cela plus tard, la travailler, créer des tableaux de bord personnalisés pour différents profils, rapports hebdomadaires… Allez, je m'éternise, un abrazo a tod@s!










































