
Collecte des journaux VMware vCSA dans Elasticsearch et visualisation de ceux-ci dans Grafana
Venir! Un autre de journaux s’il vous plaît! Cette fois, nous allons voir comment exploiter les journaux de notre environnement VMware vSphere bien-aimé, à partir de vCSA ou de vCenter Server Appliance, nous redirigerons les journaux vers Logstash pour être traités et stockés dans Elasticsearch, enfin nous pourrons les visualiser de manière plus graphique avec Grafana. De cette façon, nous comprendrons en temps réel ce qui se passe ou nous pourrons avoir des rapports avec les données des dernières 24 heures, semaine, mois… Entièrement personnalisable, libre…
Puits, ce qu’il faut dire sur vCenter Server que vous ne connaissez pas encore, nous savons que c’est le cœur de nos infrastructures virtuelles VMware, Qu’est-ce que le portail d’accès à la plateforme ?, que des choses s’y passent, Parfois bizarre, Il y a des tâches, Nous avons des événements… Il y a beaucoup de sauce qui est cuite et quoi de moins que d’en tirer du jus. Pourquoi ne pas envoyer tous les journaux vCSA à Logstash, Là, au moyen de filtres, nous séparerons ces vilains fichiers texte comme eux-mêmes, après les avoir séparés en différents champs qui nous permettent de consulter de manière plus confortable, le temps sera stocké dans Elasticsearch pour les visualiser avec Kibana ou Grafana. Au goût, Comme vous le savez, je suis plutôt en faveur de ce dernier, Mais tu n’as pas toujours 😉 besoin de m’écouter Eh bien, Vers le sujet, de Grafana, nous pourrons voir visuellement ce qui a été collecté, pour voir les alarmes qui se sont produites, Tentatives de connexion à la plateforme, tout comme dans vCenter, vous pourrez filtrer et connaître les tâches ou les événements, faire de jolis tableaux avec un champ pour chercher du texte de temps en temps, en tant qu’utilisateur et savoir ce qu’il a fait…
Comme d'habitude, tout d’abord, nous devons évidemment avoir installé la Suite Elastic, Ce qui a été Logstash, Recherche élastique et Kibana; puis nous pouvons accéder à notre vCSA, vers votre site web de gestion, N’oubliez pas HTTPS://DIRECCION_IP_VCSA:5480, Là, nous pouvons à partir de la “Syslog” configure pour extraire les journaux vers Logstash, nous indiquons donc l’adresse IP à laquelle envoyer les Logs et le port qui nous intéresse.
Entrée { TCP { type => "VCSA" port => "1515" Mots-clés => ["VMware,VCSA"] } } filtre { si [type] == "VCSA" { Grok { match => { "Message" => [ "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \[%{GREEDYDATA:Tipo_tarea} %{MOT:Log_nivel} %{GREEDYDATA:Titre} opId=] %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} %{INT:Proceso_id} - - Événement \[%{INT:Evento_id}\] \[1-1\] \[%{TIMESTAMP_ISO8601:Log_fecha}\] \[%{GREEDYDATA:Titre}\] \[%{MOT:Log_nivel}\] \[%{GREEDYDATA:Utilisateur}\] \[%{DATE:Lieu}\] \[%{INT:Evento_id}\] \[%{GREEDYDATA:Message}\]", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{MOT:Log_nivel} %{PROG:Log_proceso}\[%{INT:Evento_id}\] \[%{GREEDYDATA:Auteur} sub=%{GREEDYDATA:Titre}\] %{TIMESTAMP_ISO8601:HTTP_fecha} %{MOT:HTTP_log_accion} %{UNIXPATH:HTTP_ruta} %{PROG:HTTP_version} %{INT:HTTP_codigo} %{PROG:HTTP_codigo_respuesta} - %{INT:HTTP_bytes_recibidos} %{INT:HTTP_bytes_enviados} %{INT:HTTP_duracion} %{INT:HTTP_tiempo_respuesta} %{INT:HTTP_req_forwarder} %{IPV4:HTTP_ip_origen1}:%{INT:HTTP_puerto_origen1} %{IPV4:HTTP_ip_destino1}:%{INT:HTTP_puerto_destino1} %{IPV4:HTTP_ip_origen2}:%{INT:HTTP_puerto_origen2} %{IPV4:HTTP_ip_destino2}:%{INT:HTTP_puerto_destino2}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{MOT:Log_nivel} %{PROG:Log_proceso}\[%{INT:Evento_id}\] \[%{GREEDYDATA:Auteur} sub=%{GREEDYDATA:Titre}\] %{TIMESTAMP_ISO8601:HTTP_fecha} %{MOT:HTTP_log_accion} %{UNIXPATH:HTTP_ruta} %{PROG:HTTP_version} %{INT:HTTP_codigo} %{PROG:HTTP_codigo_respuesta} - %{INT:HTTP_bytes_recibidos} %{INT:HTTP_bytes_enviados} %{INT:HTTP_duracion} %{INT:HTTP_tiempo_respuesta} %{INT:HTTP_req_forwarder} %{IPV4:HTTP_ip_origen1}:%{INT:HTTP_puerto_origen1} %{IPV4:HTTP_ip_destino1}:%{INT:HTTP_puerto_destino1} %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{MOT:Log_nivel} %{PROG:Log_proceso}\[%{INT:Evento_id}\] \[%{GREEDYDATA:Auteur} sub=%{GREEDYDATA:Titre} opId=%{PROG:Op_id}\] %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \[%{PROG:Log_proceso}\] %{MOT:Log_nivel}\s+opId=%{DATE:Op_id} - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{MOT:Log_nivel} %{PROG:Log_proceso}\[%{INT:Evento_id}\] \[%{GREEDYDATA:Auteur} sub=%{GREEDYDATA:Titre}\] \[%{DATE:Tipo_unit}\] %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{MOT:Log_nivel} %{PROG:Log_proceso}\[%{INT:Evento_id}\] \[%{GREEDYDATA:Auteur} sub=%{GREEDYDATA:Titre}\] %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - \[%{HTTPDATE:Log_fecha}\] %{PROG:Log_proceso} \[%{MOT:HTTP_peticion}\] %{IPV4:HTTP_ip_origen1}:%{INT:HTTP_puerto_origen1} À %{NOM D’HÔTE:HTTP_equipo_destino} %{INT:HTTP_puerto_destino1} - %{PROG:HTTP_version} %{MOT:HTTP_log_accion} %{UNIXPATH:HTTP_ruta}\s+[%{MOT:HTTP_respuesta}\] %{INT:HTTP_codigo} - %{INT:HTTP_bytes} octetss+[%{PROG:HTTP_log_proceso}\] processus %{INT:Tiempo_total}ms / commit %{INT:Tiempo_conexion}ms / conn \[\+\]", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} %{MOT:Log_nivel} %{PROG:Log_proceso} \[%{DATE:Log_proceso}\] \[opID=%{PROG:Op_id}\] %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} %{MOT:Log_nivel} %{PROG:Log_proceso}\[%{DATE:Log_proceso}\] \[OpId=%{PROG:Op_id}\] %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \|\s+%{MOT:Log_nivel} \| %{PROG:Log_proceso} \| %{DATE:Log_tarea} \| %{INT:Pid} \| %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \|\s+%{MOT:Log_nivel} \| %{PROG:Log_proceso} \| %{DATE:Log_tarea} \| %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+[%{TIMESTAMP_ISO8601:Log_fecha}\] \[%{MOT:Log_nivel} \] %{PROG:Log_proceso} %{PROG:Tâche} %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \[%{PROG:Log_proceso}\s+%{MOT:Log_nivel} %{GREEDYDATA:Titre} opId=%{PROG:Op_id}\] %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \[%{PROG:Log_proceso}\s+%{MOT:Log_nivel} %{GREEDYDATA:Titre} opId=%{PROG:Op_id} %{MOT:Nipu}\] %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+[%{TIMESTAMP_ISO8601:Log_fecha}\] %{MOT:Log_nivel}\[%{PROG:Log_proceso}\] - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} %{INT:Log_bytes} %{INT:Pid} %{PROG:Log_proceso} %{INT:HTTP_codigo} \"%{GREEDYDATA:Titre}\" %{MOT:HTTP_log_accion} %{UNIXPATH:HTTP_ruta} %{PROG:HTTP_version}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} procstate - - - %{DATE:Utilisateur}\s+%{PROG:Log_pid}\s+%{DATE:CPU}\s+%{DATE:Mémoire}\s+%{DATE:MemoriaVirtual}\s+%{DATE:MemoriaProceso}\s+%{DATE:TTY}\s+%{DATE:Stat}\s+%{DATE:Hora_inicio}\s+%{DATE:Tiempo}\s+%{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} sca - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} %{MOT:Log_nivel} %{PROG:Processus} \[%{PROG:Pool}\] %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} applmgmt-audit - - - %{TIMESTAMP_ISO8601:Log_fecha}: %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} applmgmt - - - %{TIMESTAMP_ISO8601:Log_fecha} \[%{INT:Evento_id}\]%{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} procstate - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} sca-vmon.std - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} vsan-health-main - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} vum-log4cpp - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} vmcad - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} eam-main - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} cis-license - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} vmdird - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} sps-gc - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} vstats - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} vapi-runtime - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} vpxd-profiler - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} rsyslogd - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} trustmanagement-svcs - - - %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - %{SYSLOGTIMESTAMP:Date} %{PROG:Log_proceso}\[%{INT:Pid}\]: %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{TZ:Zona_horaria} %{PROG:Processus} %{INT:Log_id}\s+LOG:\s+%{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha}\| %{PROG:Processus}\| I005: %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{PROG:Processus} %{MOT:Log_nivel} %{PROG:Tâche} %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} ui-access - - - %{IPV4:HTTP_ip_destino1} %{IPV4:HTTP_ip_origen1} - - \[%{HTTPDATE:Date}\] \"%{MOT:HTTP_log_accion} %{UNIXPATH:HTTP_ruta} %{PROG:HTTP_version}\" %{INT:HTTP_codigo} %{PROG:HTTP_codigo_respuesta} - %{DATE:HTTP_bytes_recibidos} %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} eam-access - - - %{IPV4:HTTP_ip_destino1} %{IPV4:HTTP_ip_origen1} - - \[%{HTTPDATE:Date}\] \[%{PROG:Log_proceso}\] \"%{MOT:HTTP_log_accion} %{UNIXPATH:HTTP_ruta} %{PROG:HTTP_version}\" %{INT:HTTP_codigo} %{PROG:HTTP_codigo_respuesta} \[Processing time %{INT:Tiempo} msec\] %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} \[%{PROG:Processus}\]\[%{MOT:Log_nivel}\] %{PROG:Tâche}: %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{PROG:Processus} %{MOT:Log_nivel} %{PROG:Tâche} %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - \[%{TIMESTAMP_ISO8601:Log_fecha}\] \[%{MOT:Log_nivel}\s+] %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} \| %{PROG:Log_proceso} \| %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} CROND %{INT:Pid} - - \(%{NOM D’UTILISATEUR:Utilisateur}\) CMD \(%{GREEDYDATA:Message}\)", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \|\s+%{MOT:Log_nivel} \| %{PROG:Evento_id}\ \| %{PROG:Processus} \| %{DATE:Tâche} \| %{GREEDYDATA:Message}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Date} %{NOM D’HÔTE:Servidor_VCSA} %{PROG:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} %{PROG:Log_proceso} %{MOT:Log_nivel} %{PROG:Tâche} %{GREEDYDATA:Message}" ] } } } } sortie { si ([type]=="VCSA"){ Recherche élastique { indice => "vmware_vcsa-%{+AAAA. MM.jj}" hôtes=> "DIRECCION_IP_ELASTICSEARCH:9200" } } }
Ahora ya será el momento de crear el fichero de configuración en Logstash para recibir, tratar y sacar los Logs a Elasticsearch, Nous pouvons l’appeler '/etc/logstash/conf.d/vmware-vcsa.conf', où dans l’entrée, nous aurons le port d’écoute où il recevra les journaux du vCSA. Viennent ensuite les filtres que comme toujours je m’excuse auprès des sages, Mais ce sont des filtres valides et peuvent être grandement améliorés, mais ils vont nous permettre de traiter les logs d’un vCSA avec la version 7.x. À la fin, nous afficherons Elasticsearch, nous indiquons l’IP de destination pour y stocker les données, et suivi de quelques références, Ne soyez pas comme moi qui n’indique pas les paramètres de 'username’ et mot de passe.
Une fois le fichier de configuration créé, nous nous souviendrons de redémarrer le service Logstash pour recharger la nouvelle configuration. Après, 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) 'vmware_vcsa-*' et nous aurons les données déjà stockées correctement dans Elasticsearch. Désormais, nous pouvons nous connecter à partir de « Découvrir » à notre index VMware vCSA et visualiser qu’il collecte des données, que nous commençons à avoir des journaux vCenter…
Après la création de l’index dans Kibana, maintenant, dans Grafana, nous devons créer une « source de données » qui pointe vers notre Elasticsearch et l’index VMware vCSA nouvellement créé. Ensuite, il s’agit de laisser libre cours à votre imagination, créer un tableau de bord avec différents tableaux de bord, avec différentes données à visualiser, Afficher les types de journaux, Graphiques avec réception par type, dans pat Pour afficher des données spécifiques, par exemple des tentatives de connexion, C’est bien ça, Incorrect, dernières alarmes, Enregistrements DRS, Épreuves, Tâches… oun Carte du monde avec des connexions entrantes si vous êtes une personne courageuse qui l’a rendu public sur Internet… ouPanneau de style n Sankey pour afficher les adresses IP/utilisateurs source/destination… Rechargez les journaux d’erreurs et essayez de les corriger…
Et alors, La chose habituelle, tout cela pour essayer d’aider, inspirer… si vous avez besoin, prendre des idées et les améliorer, Ainsi, vous pouvez voir ce qui se passe sur votre plate-forme virtuelle VMware vSphere, Tout ce qui se passe dans vCenter, en temps réel, Mettre un rafraîchissement automatique tous les 10 secondes c’est très cool, Cela nous aidera également à analyser le résumé du dernier jour, ou savoir quand quelque chose d’étrange se produit... Merci à tous et plus encore à ceux qui déplacent ce type de contenu sur les réseaux sociaux!!!