Sammeln der VMware vCSA LOGs in Elasticsearch und Anzeigen in Grafana

Kommen! Bitte noch ein Protokoll! Dieses Mal werden wir sehen, wie wir die Protokolle unserer geliebten VMware vSphere-Umgebung ausnutzen können, von vCSA oder vCenter Server Appliance leiten wir die Protokolle an Logstash um, damit sie in Elasticsearch verarbeitet und gespeichert werden, endlich können wir sie mit Grafana auf grafischere Weise visualisieren. Auf diese Weise können wir in Echtzeit verstehen, was passiert, oder wir können Berichte mit den Daten der letzten 24 Stunden erstellen, Woche, meine… vollständig anpassbar, kostenlos…

gut, Was Sie über vCenter Server sagen können, was Sie noch nicht wissen, wir wissen, dass es das Herz unserer virtuellen VMware-Infrastrukturen ist, Was ist das Zugangsportal zur Plattform, dass da was passiert, manchmal selten, es gibt hausaufgaben, wir haben veranstaltungen… es wird viel Soße gekocht und was weniger als etwas Saft daraus zu bekommen. Warum nicht alle vCSA-Protokolle an Logstash senden, Dort werden wir durch Filter diese hässlichen Textdateien wie sie selbst trennen, Nach der Aufteilung in verschiedene Felder, die es uns ermöglichen, bequemer zu konsultieren, werden sie in Elasticsearch gespeichert, um sie mit Kibana oder Grafana anzuzeigen. Schmecken, wie ihr wisst bin ich eher für letzteres, aber du musst nicht immer auf mich hören 😉 Naja, die Frage, von Grafana werden wir das zusammengestellte visuell sehen können, um die aufgetretenen Alarme zu sehen, versucht sich bei der Plattform anzumelden, wie in vCenter können Sie die Aufgaben oder Ereignisse filtern und kennen, Machen Sie ein paar süße Tabellen mit einem Feld, um irgendwann nach Text zu suchen, als User und weiß was er gemacht hat…

Wie ist normal, Zuerst müssen wir natürlich den Elastic Stack installieren, was war Logstash, Elasticsearch und Kibana; dann können wir zu unserem vCSA gehen, zu Ihrer Management-Website, Erinnere dich an https://DIRECTION_IP_VCSA:5480, da können wir aus der abteilung von “Syslog” konfigurieren, um Logs an Logstash auszugeben, Daher geben wir die IP-Adresse an, an die die Protokolle gesendet werden sollen, und den Port, der uns interessiert.

Eingang {
        tcp {
                Typ => "FPS"
                port => "1515"
                Tags => ["VMware,FPS"]
        }
}

Filter {

        ob [Art] == "FPS" {
                        grok {
                            Übereinstimmung => { "Botschaft" => [
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+%{TIMESTAMP_ISO8601:log_close} \[%{GREEDYDATA:Aufgabentyp} %{WORT:Log_nivel} %{GREEDYDATA:Titel} opId = ] %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} %{INT:Prozess ID} - -  Vorfall \[%{INT:Evento_id}\] \[1-1\] \[%{TIMESTAMP_ISO8601:log_close}\] \[%{GREEDYDATA:Titel}\] \[%{WORT:Log_nivel}\] \[%{GREEDYDATA:Benutzer}\] \[%{DATEN:Seite? ˅}\] \[%{INT:Evento_id}\] \[%{GREEDYDATA:Nachricht}\]",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - %{TIMESTAMP_ISO8601:log_close} %{WORT:Log_nivel} %{PROG:Prozesslog}\[%{INT:Evento_id}\] \[%{GREEDYDATA:Urheber} unter=%{GREEDYDATA:Titel}\] %{TIMESTAMP_ISO8601:HTTP_date} %{WORT:HTTP_log_accion} %{UNIXPATH:HTTP_Pfad} %{PROG:HTTP_Version} %{INT:HTTP_code} %{PROG:HTTP_response_code} - %{INT:HTTP_bytes_received} %{INT:HTTP_bytes_enviados} %{INT:HTTP_Dauer} %{INT:HTTP_response_time} %{INT:HTTP_req_forwarder} %{IPV4:HTTP_ip_origen1}:%{INT:HTTP_port_origen1} %{IPV4:HTTP_ip_destino1}:%{INT:HTTP_destination_port1} %{IPV4:HTTP_ip_origen2}:%{INT:HTTP_port_origen2} %{IPV4:HTTP_ip_destino2}:%{INT:HTTP_puerto_destino2}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - %{TIMESTAMP_ISO8601:log_close} %{WORT:Log_nivel} %{PROG:Prozesslog}\[%{INT:Evento_id}\] \[%{GREEDYDATA:Urheber} unter=%{GREEDYDATA:Titel}\] %{TIMESTAMP_ISO8601:HTTP_date} %{WORT:HTTP_log_accion} %{UNIXPATH:HTTP_Pfad} %{PROG:HTTP_Version} %{INT:HTTP_code} %{PROG:HTTP_response_code} - %{INT:HTTP_bytes_received} %{INT:HTTP_bytes_enviados} %{INT:HTTP_Dauer} %{INT:HTTP_response_time} %{INT:HTTP_req_forwarder} %{IPV4:HTTP_ip_origen1}:%{INT:HTTP_port_origen1} %{IPV4:HTTP_ip_destino1}:%{INT:HTTP_destination_port1} %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - %{TIMESTAMP_ISO8601:log_close} %{WORT:Log_nivel} %{PROG:Prozesslog}\[%{INT:Evento_id}\] \[%{GREEDYDATA:Urheber} unter=%{GREEDYDATA:Titel} opId = %{PROG:Op_id}\] %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+%{TIMESTAMP_ISO8601:log_close} \[%{PROG:Prozesslog}\] %{WORT:Log_nivel}\s+opId=%{DATEN:Op_id} - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - %{TIMESTAMP_ISO8601:log_close} %{WORT:Log_nivel} %{PROG:Prozesslog}\[%{INT:Evento_id}\] \[%{GREEDYDATA:Urheber} unter=%{GREEDYDATA:Titel}\] \[%{DATEN:Tipo_unit}\] %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - %{TIMESTAMP_ISO8601:log_close} %{WORT:Log_nivel} %{PROG:Prozesslog}\[%{INT:Evento_id}\] \[%{GREEDYDATA:Urheber} unter=%{GREEDYDATA:Titel}\] %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - \[%{HTTPDATE:log_close}\] %{PROG:Prozesslog} \[%{WORT:HTTP_Anfrage}\] %{IPV4:HTTP_ip_origen1}:%{INT:HTTP_port_origen1} zu %{Hostname:HTTP_team_target} %{INT:HTTP_destination_port1} - %{PROG:HTTP_Version} %{WORT:HTTP_log_accion} %{UNIXPATH:HTTP_Pfad}\s+[%{WORT:HTTP_Antwort}\] %{INT:HTTP_code} - %{INT:HTTP_bytes} bytes\s+\[%{PROG:HTTP_log_processo}\] Prozess %{INT:Gesamtzeit}Frau / verpflichten %{INT:Zeit_Verbindung}Frau / conn \[\+\]",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+%{TIMESTAMP_ISO8601:log_close} %{WORT:Log_nivel} %{PROG:Prozesslog} \[%{DATEN:Prozesslog}\] \[opID =%{PROG:Op_id}\] %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+%{TIMESTAMP_ISO8601:log_close} %{WORT:Log_nivel} %{PROG:Prozesslog}\[%{DATEN:Prozesslog}\] \[OpId =%{PROG:Op_id}\] %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+%{TIMESTAMP_ISO8601:log_close} \|\s+%{WORT:Log_nivel} \| %{PROG:Prozesslog} \| %{DATEN:Einloggen} \| %{INT:Pid} \| %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+%{TIMESTAMP_ISO8601:log_close} \|\s+%{WORT:Log_nivel} \| %{PROG:Prozesslog} \| %{DATEN:Einloggen} \| %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+[%{TIMESTAMP_ISO8601:log_close}\] \[%{WORT:Log_nivel} \] %{PROG:Prozesslog} %{PROG:Aufgabe} %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+%{TIMESTAMP_ISO8601:log_close} \[%{PROG:Prozesslog}\s+%{WORT:Log_nivel} %{GREEDYDATA:Titel} opId = %{PROG:Op_id}\] %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+%{TIMESTAMP_ISO8601:log_close} \[%{PROG:Prozesslog}\s+%{WORT:Log_nivel} %{GREEDYDATA:Titel} opId = %{PROG:Op_id} %{WORT:Nipu}\] %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+[%{TIMESTAMP_ISO8601:log_close}\] %{WORT:Log_nivel}\[%{PROG:Prozesslog}\] - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+%{TIMESTAMP_ISO8601:log_close} %{INT:Log_bytes} %{INT:Pid} %{PROG:Prozesslog} %{INT:HTTP_code} \"%{GREEDYDATA:Titel}\" %{WORT:HTTP_log_accion} %{UNIXPATH:HTTP_Pfad} %{PROG:HTTP_Version}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} procstate - - - %{DATEN:Benutzer}\s+%{PROG:Log_pid}\s+%{DATEN:Zentralprozessor}\s+%{DATEN:Speicher}\s+%{DATEN:MemoriaVirtual}\s+%{DATEN:Speicherprozess}\s+%{DATEN:TTY}\s+%{DATEN:Statistik}\s+%{DATEN:Startzeit}\s+%{DATEN:Wetter}\s+%{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} sca - - -\s+%{TIMESTAMP_ISO8601:log_close} %{WORT:Log_nivel} %{PROG:Prozess} \[%{PROG:Schwimmbad}\] %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} applmgmt-audit - - - %{TIMESTAMP_ISO8601:log_close}: %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} applmgmt - - - %{TIMESTAMP_ISO8601:log_close} \[%{INT:Evento_id}\]%{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} procstate - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} sca-vmon.std - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} vsan-gesundheit-main - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} von-log4cpp - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} vmcad - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} eam-main - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} cis-Lizenz - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} vmdird - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} sps-gc - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} vsstats - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} Vapi-Laufzeit - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} vpxd-Profile - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} rsyslogd - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} Trustmanagement-svcs - - - %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - %{SYSLOGTIMESTAMP:Datum} %{PROG:Prozesslog}\[%{INT:Pid}\]: %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - %{TIMESTAMP_ISO8601:log_close} %{TZ:Zeitzone} %{PROG:Prozess} %{INT:Log_id}\s+LOG:\s+%{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - %{TIMESTAMP_ISO8601:log_close}\| %{PROG:Prozess}\| I005: %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - %{TIMESTAMP_ISO8601:log_close} %{PROG:Prozess} %{WORT:Log_nivel} %{PROG:Aufgabe} %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} UI-Zugriff - - - %{IPV4:HTTP_ip_destino1} %{IPV4:HTTP_ip_origen1} - - \[%{HTTPDATE:Datum}\] \"%{WORT:HTTP_log_accion} %{UNIXPATH:HTTP_Pfad} %{PROG:HTTP_Version}\" %{INT:HTTP_code} %{PROG:HTTP_response_code} - %{DATEN:HTTP_bytes_received} %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} it-Zugriff - - - %{IPV4:HTTP_ip_destino1} %{IPV4:HTTP_ip_origen1} - - \[%{HTTPDATE:Datum}\] \[%{PROG:Prozesslog}\] \"%{WORT:HTTP_log_accion} %{UNIXPATH:HTTP_Pfad} %{PROG:HTTP_Version}\" %{INT:HTTP_code} %{PROG:HTTP_response_code} \[Bearbeitungszeit %{INT:Wetter} msec\] %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - %{TIMESTAMP_ISO8601:log_close} \[%{PROG:Prozess}\]\[%{WORT:Log_nivel}\] %{PROG:Aufgabe}: %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - %{TIMESTAMP_ISO8601:log_close} %{PROG:Prozess} %{WORT:Log_nivel} %{PROG:Aufgabe} %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - \[%{TIMESTAMP_ISO8601:log_close}\] \[%{WORT:Log_nivel}\s+] %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - - %{TIMESTAMP_ISO8601:log_close} \| %{PROG:Prozesslog} \| %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} CROND %{INT:Pid} - - \(%{NUTZERNAME:Benutzer}\) CMD \(%{GREEDYDATA:Nachricht}\)",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+%{TIMESTAMP_ISO8601:log_close} \|\s+%{WORT:Log_nivel} \| %{PROG:Evento_id}\ \| %{PROG:Prozess} \| %{DATEN:Aufgabe} \| %{GREEDYDATA:Nachricht}",
                              "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:Datum} %{Hostname:Server_VCSA} %{PROG:Log_name} - - -\s+%{TIMESTAMP_ISO8601:log_close} %{PROG:Prozesslog} %{WORT:Log_nivel} %{PROG:Aufgabe} %{GREEDYDATA:Nachricht}"
                                       ]
                            }
                        }
        }
}

Ausgabe {

        ob ([Art]=="FPS"){

                Elasticsearch {
                   Index => "vmware_vcsa-%{+JJJJ.MM.tt}"
                   Gastgeber => "DIRECTION_IP_ELASTICSEARCH:9200"
                }

        }
}

Jetzt ist es an der Zeit, die Konfigurationsdatei in Logstash zu erstellen, um sie zu empfangen, Versuchen Sie, die Protokolle an Elasticsearch zu senden, wir können es auch '/etc/logstash/conf.d/vmware-vcsa.conf' nennen., wobei wir in der Eingabe den Listening-Port haben, an dem die Protokolle vom vCSA empfangen werden. Dann kommen die Filter, bei denen ich mich wie immer bei den Weisen entschuldige, aber sie sind gültige Filter und sehr verbesserungsfähig, aber sie ermöglichen es uns, die Protokolle eines vCSA mit Version 7.x zu behandeln. Am Ende werden wir Elasticsearch ausgeben, Wir geben die Ziel-IP an, um die Daten dort zu speichern, und gefolgt von einigen Anmeldeinformationen, Seien Sie nicht wie ich, der die Parameter von "Benutzername" nicht angibt’ und Passwort'.

Sobald die Konfigurationsdatei erstellt wurde, Wir werden daran denken, den Logstash-Dienst neu zu starten, um die neue Konfiguration neu zu laden. dann, Wir werden nach Kibana gehen und sobald die Daten eingegeben sind, können wir zu "Management" gehen. > „Stapelverwaltung“ > „Kibana“ > „Indexmuster“ > "Indexmuster erstellen", um das Indexmuster zu erstellen, ich sagte:, wie gewöhnlich (in diesem Fall und ohne die Anführungszeichen) ‘Vmware_vcsa-*’ und wir haben die Daten bereits in Elasticsearch korrekt gespeichert. Jetzt könnten wir uns von "Discover" mit unserem VMware vCSA-Index verbinden und visualisieren, dass er Daten sammelt, Wir haben angefangen, vCenter-Protokolle zu haben…

Nach dem Erstellen des Index in Kibana, Jetzt sollten wir in Grafana eine "Datenquelle" erstellen, die auf unsere Elasticsearch und den neu erstellten VMware vCSA-Index verweist. Dann lässt es schon die Fantasie fliegen, ein Dashboard mit verschiedenen Panels erstellen, mit verschiedenen Daten zur Anzeige, Siehe die Arten von Protokollen, Grafiken mit Empfang nach Typ, in zeichnen um spezifische Daten von beispielsweise Zugriffsversuchen zu sehen, Korrekt, falsch, neueste Alarme, DRS-Datensätze, Geschehen, Aufgaben… inn Weltkarte mit eingehenden Verbindungen, wenn Sie ein mutiger Mensch sind, der es im Internet öffentlich macht… inn-Stil-Panel Sankey um Quell- / Ziel-IPs / Benutzer zu sehen… Machen Sie ein Top mit den Fehlerprotokollen und versuchen Sie, sie zu lösen…

So dass, die übliche rolle, das alles um zu versuchen zu helfen, inspirieren… wenn Sie brauchen, Ideen aufnehmen und verbessern, Damit können Sie sehen, was in Ihrer virtuellen VMware vSphere-Plattform passiert, alles, was in vCenter passiert, in Echtzeit, eine automatische Erfrischung jeden 10 Sekunden ist sehr cool, Es wird uns auch helfen, die Zusammenfassung des letzten Tages zu analysieren, oder wissen, wenn etwas Seltsames passiert ... Danke an alle und mehr an diejenigen, die diese Art von Inhalten in sozialen Netzwerken verschieben!!! 😉

Letzte Artikel von Hector Herrero (Alle anzeigen)