
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
Editamos el fichero de configuración de Metricbeat, y al menos creamos la conexión contra nuestro servidor de Elasticsearch y el de Kibana:
... # ---------------------------- Elasticsearch Output ---------------------------- 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 ...
Probamos la configuración:
.\metricbeat.exe test config -c .metricbeat.yml -e
Cargamos los dashboards de Kibana (si los dashboards ya los hemos importado alguna vez podremos ignorar el primer comando) y arrancamos el servicio:
.\metricbeat.exe setup
Start-Service metricbeat
Si queremos quitar el servicio, vaya desinstalar filebeat alguna vez:
.\uninstall-service-metricbeat.ps1
Habilitando métricas de los servicios y contadores de rendimiento del Windows
Puits, pues tendremos que habilitar este módulo, Nous allons le faire avec la commande suivante:
.\metricbeat.exe modules enable windows
Lo siguiente será saber qué contadores de rendimiento renemos, esto lo podemos mirar con este comando de PowerShell:
Get-Counter -ListSet *
Y ya será cuestión de indicarle a Metricbeat cuales queremos recopilar, editamos el fichero de configuración del módulo ‘C:\Program Files\metricbeat\modules.d\windows.yml’ y se lo indicamos, 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!