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.ymly 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: "% Disk Read Time"
      field: "read_time"
      format: "flotter"

  - object: "MSSQL$VEEAMSQL2012:Databases"
    field : "Base de données"
    instance: "*"
    counters:
    - Nom: "Data File(s) Taille (KO)"
...

Nous enregistrons le fichier, reiniciamos el servicio de Metricbeat y ya nos vamos a verificar que tenemos en Elasticsearch los datos. 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-*’ y tendremos los datos ya en Elasticsearch almacenados de manera correcta. Ahora podríamos conectarnos desde “Analytics” > “Discover” a nuestro índice de Metricbeat y visualizar que está recogiendo datos.

Una vez los datos estén en Elasticsearch ya queda seguir los pasos que hemos visto varias veces en otros post, que sería, (Je) crear conector o Data Source de Grafana a Elasticsearch y (Ii) empezar a hacer el dashboard o los dashboards que necesites. Este es un mero ejemplo de los datos recopilados de un servidor SQL Server, donde vemos ciertos contadores bastante interesantes y comunes, así como tamaños y crecimientos de las bases de datos, Connexions, latencias

Imaginaros las posibilidades de esto, cualquier servicio instalado en Windows dispone de sus propios contadores, que podremos recopilarlos con la periodicidad que nos interese, a nivel de 1s, 10s, 30s… y su visualización igual, con refresco en tiempo real o para realizar informes con su análisis tras la ingesta de bastantes datos y poder analizar crecimientos

Rien, acabo con esto, una manera rápida de ver los contadores que tiene un SQL Server:

SÉLECTIONNEZ COMPTER(*) FROM sys.dm_os_performance_counters;

Et c’est tout, espero que os sirva para ver posibilidades en vuestros entornos, que podemos recopilar cualquier dato que necesitemos, Arrêtez cela plus tard, trabajarlo, crear dashboards personalizados para distintos perfiles, informes semanalesAle que me alargo, un abrazo a tod@s!

Articles recommandés

Auteur

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, N’hésitez pas à me contacter, J’essaierai de vous aider chaque fois que je le pourrai, Partager, c’est vivre ;) . Profiter des documents!!!