Collecte de métriques Windows dans Elasticsearch avec Metricbeat et visualisation avec Grafana

Dans cet article, nous allons examiner un autre des merveilleux composants d’Elasticsearch, Dans les packages Beats, vous trouverez également un utilitaire qui vous aidera à traiter et à collecter des métriques à partir de vos ordinateurs Windows ou Linux, connu sous le nom de Metricbeat. Nous allons voir comment exporter ces métriques vers Logstash pour les traiter et les stocker dans Elasticsearch pour les visualiser plus tard avec Kibana ou Grafana!

 

 

Pas mal, nous devons laisser l’agent léger Metricbeat installé et en cours d’exécution dans les machines à partir desquelles nous voulons absorber ses métriques, est un ordinateur du système d’exploitation Windows, Linux ou Mac OS. Nous téléchargeons Metricbeat à partir de https://www.elastic.co/downloads/beats/metricbeat, nous allons le décompresser et , (Par exemple) Nous l’avons laissé à ' C:\Program Filesmetricbeat'. Nous aurons son fichier de configuration appelé 'metricbeat.yml' et un autre fichier de référence avec toutes les options que nous pouvons utiliser, Appelé 'metricbeat.reference.yml'. Dans cet exemple, nous allons voir sur une machine Windows comment collecter des métriques de base telles que le CPU, Mémoire, Disque ou réseau, mais que facultativement, si vous exécutez un service intéressant, nous permettrons au module correspondant de collecter également ces données. Nous téléchargerons Metricbeat, Nous allons le configurer et l’installer en tant que service.

 

Configuration de Metricbeat,

Puits, avant de commencer à lire le fichier de configuration Metricbeat; dans le dossier 'modules.d’ Nous aurons tous les modules supplémentaires à partir desquels nous pourrons également obtenir des métriques, sont des services web, Bases, Plateformes virtuelles, comme Apache, Mongobus, Mysql, vsphère, PostgreSQL… Dans chaque module, nous pouvons permettre d’obtenir plus ou moins de métriques.

Dans cet exemple, en 'system.yml’ Nous allons voir qu’il redirigera chaque 10 secondes Métriques CPU, Mémoire, Réseau ou information sur les processus, entre autres, Nous pouvons commenter ou décommenter ce dont nous avons besoin, Nous pouvons définir ce module ou celui qui nous intéresse en spécifiant les informations que nous souhaitons collecter. Plus tard, nous verrons comment activer les modules qui nous intéressent, sinon, ils auront l’extension '.disabled'.

[Code source]- module: Système
période: 10s
Ensembles de mesures:
– CPU
#- charger
– mémoire
– Réseau
– processus
– process_summary
#- Noyau
#- Diskio
#- Prise
process.include_top_n:
by_cpu: 5 # inclure le haut 5 processus par CPU
by_memory: 5 # inclure le haut 5 processus par mémoire

– module: Système
période: 1m
Ensembles de mesures:
– système de fichiers
– FSSTAT
Processeurs:
– drop_event.when.regexp:
system.filesystem.mount_point: ‘^/(sys|cgroup|Proc|Dev|etc|hôte|Lib)($|/)’

– module: Système
période: 15m
Ensembles de mesures:
– Disponibilité[/Code source]

 

Après, dans le fichier de configuration 'metricbeat.yml’ Nous nous chargerons du reste de la configuration, dans la section ===== général, ===== nous pouvons ajouter des balises ou des champs supplémentaires au cas où nous serions intéressés à associer ce Metricbeat de l’équipement avec différents mots-clés, afin qu’ils puissent ensuite être utilisés dans différentes recherches, comment indiquer s’il s’agit d’un Serveur, est une base de données ou un serveur web, ou avoir IIS, votre SO...

[Code source]Étiquettes: [« Serveur », « Fenêtres 2016 R2 », "OS-DC-01"]

champs:
globo_environment: Production[/Code source]

 

Dans la section Sortie, nous pourrons envoyer les données directement à Elasticsearch, Mais comme dans d’autres articles, Je préfère particulièrement envoyer les données à Logstash pour traitement. Nous allons donc discuter de toute la partie de la sortie par rapport à Elasticsearch et configurer par rapport au serveur Logstash et à son port, que dans un document précédent Nous avons vu dans la partie de “Configuration de Logstash” le fichier à créer. Comme je l’ai dit, nous abordons la sortie en laissant quelque chose comme ceci:

[Code source]#——— Sortie Logstash ———
sortie.logstash:
# Les hôtes Logstash
#Hôtes: ["localhost:5044"]
Hôtes: [« DIRECCION_IP_LOGSTASH:5044"][/Code source]

 

Une fois Metricbeat configuré, pour installer Metricbeat en tant que service que nous exécutons:

[Code source].\install-service-metricbeat.ps1[/Code source]

 

Et ce que j’ai dit, Nous pouvons activer des modules spécifiques si nous voulons une surveillance supplémentaire sur notre machine, sur ce serveur j’ai un MySQL et un Apache, Vous devez les activer:

[Code source].\metricbeat.exe modules activent Apache MySQL[/Code source]

 

Comme d'habitude, la première fois que nous ajoutons des métriques Metricbeat à Elasticsearch, Nous devons charger le modèle pour qu’il génère correctement les index avec les champs:

.\metricbeat.exe configuration –template -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=[“SERVIDOR_ELASTICSEARCH:9200”]’

 

Nous pouvons tester si nous avons les fichiers de configuration correctement configurés, à partir d’un PowerShell avec des privilèges d’administrateur, Passons au chemin où nous avons Metricbeats, et nous exécutons:

[Code source].\metricbeat.exe test config -c .metricbeat.yml -e[/Code source]

 

Et nous commençons le service et si nous le voulons,, nous pouvons voir l’état de la connexion Metricbeats avec Logstash ou Elasticsearch (Cela dépend de ce que nous avons choisi):

[Code source]Start-Service metricbeat
Get-Content .logsmetricbeat -Wait[/Code source]

 

Et c’est tout! Nous devrions déjà avoir Metricbeat qui collecte des métriques! Maintenant, visualisons-les… La magie arrive!

 

Depuis Kibana,

Si nous voulons visualiser les métriques avec Kibana, Nous allons d’abord créer le motif d’index, Ensuite, nous vérifierons que les données arrivent et nous pourrons commencer à peindre!

 

Nous ouvrons Kibana, Nous allons “Gestion” > “Modèles d’indices” > “Création d’un modèle d’index” et indiquez 'metricbeat-*’ comme motif, Cliquez sur “Prochaine étape”,

 

Choisir ‘@timestamp‘ en tant que colonne de temps et créez le motif à partir de “Créer un modèle d’index”.

 

Et à partir de “Découvrir”, En sélectionnant le modèle que nous venons de créer, nous pourrons voir que nous recevons des données, comme d'habitude, Nous pouvons voir ce qui nous vient d’ici, Jouez pour ajouter des colonnes et créer des filtres, puis créez les visualisations à partir de “Visualiser” et voir les métriques que nous surveillons en temps réel mais sous forme de graphique, pat, Colonnes, Fromage…

 

De Grafana,

Avant de pouvoir visualiser les données, rappelez-vous que nous devons enregistrer la source de données et connecter Grafana avec les index Metricbeat dans Elasticsearch!

 

Nous ouvrons Grafana, Allons dans « Paramètres » > « Sources de données », Nous donnerons un nom à la connexion, dans l’URL, nous devons indiquer l’URL de notre Elasticsearch 'http://DIRECCION_IP_ELASTIC:9200’. Sélectionnez 'metricbeat-*' à utiliser comme nom pour les index, nous indiquons le champ @timestamp pour le champ Heure et sélectionnons la version d’Elasticsearch, cliquez sur "Enregistrer & Tester",

 

Et nous pouvons ajouter des tableaux de bord dans un tableau de bord pour visualiser les métriques générées par les machines sur lesquelles Metricbeat est installé! Dans un exemple de tableau de bord, Dans ce cas, il s’agira d’un graphique linéaire, où nous visualiserons toutes les métriques générées par quelques machines. Nous sélectionnons notre connecteur par rapport aux index Metricbeat dans Elasticsearch, et nous pouvons utiliser les requêtes Lucene à partir d’ici pour visualiser ce qui nous intéresse.

 

Et rien, dans peu de temps, nous serons en mesure d’analyser quelles données nous parviennent et comment les présenter et les dessiner avec Grafana, Vous verrez que ce n’est pas si compliqué et que nous pouvons visualiser de manière très agréable toutes les informations que nous recueillons, J’espère que vous l’avez trouvé intéressant!

 

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!!!

Livre: VMware par vExperts

11 avril de 2019