Seite 1 von 1

Monitoring vom zurückspielen von Snaopshots

Verfasst: 23.06.2021, 14:48
von Neopolis
Hallo VMware Spezis,

gibt es eine Möglichkeit zu monitoren bei welchem Server wann und wie oft ein Snapshot zurück gespielt wurde. Oder welcher Benutzer das gemacht hat?
Ich bin da für alle Infos dankbar.

Gruß Thomas

Re: Monitoring vom zurückspielen von Snaopshots

Verfasst: 23.06.2021, 15:28
von JustMe
Was genau referenzierst Du mit dem Begriff "Server"?

Um die vmtl. gewuenschten Informationen zu erhalten, bleibt meiner Ansicht nach im Nachhinein nur das intensive Studium vorhandener Logdateien.

Re: Monitoring vom zurückspielen von Snaopshots

Verfasst: 23.06.2021, 22:33
von irix
Nunja....

Code: Alles auswählen

$Event = $VM | Get-VIEvent -Types Info -MaxSamples 999999999 | Where { $_.Gettype().Name -eq "VmBeingDeployedEvent" -or $_.Gettype().Name -eq "VmCreatedEvent" -or $_.Gettype().Name -eq "VmRegisteredEvent" -or $_.Gettype().Name -eq "VmClonedEvent"}


Ich lesen hier aus wann und von wem eine VM erstellt wurde. Das ganze dann ueber den Taskplaner gesteuert. Du must also mal generell nur Get-VIEvent -Types Info -MaxSamples 999999999 gucken kurz nachdem du einen Snap zurueck gesetzt oder geloescht hast um so die Namen der Event heraus zubekommen. Dann kannst du gezielt danach suchen.

Gruss
Joerg

Re: Monitoring vom zurückspielen von Snaopshots

Verfasst: 24.06.2021, 07:31
von Neopolis
Hallo zusammen,

ich soll schauen wann wer von welcher VM einen Snapshot zurückspielt.
Danke für den Code Jörg aber kannst Du mich da ein bisschen unterstützen? Wo stelle ich das wie ein?
Ich bin kein VMware Profi eher nur besserer Anwender und nur das Klicken im vCenter gewohnt.
Alle Jubeljahre richte ich mal ein VLAN auf einem vSwitch ein. Per Anleitung :-)

Vielen herzlichen Dank für eure Unterstützung.
Gruß Thomas

Re: Monitoring vom zurückspielen von Snaopshots

Verfasst: 24.06.2021, 18:55
von irix
Als proof of conecpt

Code: Alles auswählen

$VI_ServerName = 'vcsa.company.local'
$VI_User = "userusername"
$VI_Pass = "yourpassword"

import-module VMware.PowerCLI

Connect-VIServer -Server $VI_ServerName -User $VI_User -Password $VI_Pass -WarningAction SilentlyContinue
$VMs = Get-VM  | Sort Name

Foreach ($VM in $VMs){
  $Events = $VM | Get-VIEvent -Types Info -MaxSamples 9999 | Where-Object {$_.Info.Name -eq 'RemoveAllSnapshots_Task' -or $_.Info.Name -eq 'CreateSnapshot_Task'}

  foreach ($Event in $Events){
    switch ($Event.Info.Name) {
      'RemoveAllSnapshots_Task' {
        $text = 'delete all snapshots'
      }

      'CreateSnapshot_Task' {
        $text = 'create a snapshot'
      }
    }
    $out = 'User {0} {1} on VM {2} at {3}' -f $Event.UserName, $text, $VM.Name, $Event.CreatedTime.DateTime
    write $out 
  }
}


ergibt dann

Code: Alles auswählen

User company\sbehrens delete all snapshots on VM foobar-ws-01 at Donnerstag, 24. Juni 2021 17:46:56
User company\sbehrens create a snapshot on VM foobar-ws-01 at Donnerstag, 24. Juni 2021 17:18:19
User company\veeam create a snapshot on VM centos7-x64.tpl at Mittwoch, 23. Juni 2021 21:08:06



Gruss
Joerg

Re: Monitoring vom zurückspielen von Snaopshots

Verfasst: 25.06.2021, 06:44
von Neopolis
Okay bekomme ich soweit hin.
Aber wo füge ich das ein?
einfach in ein Powershellscript? Und das dann auf einem Windows Server laufen lassen?

Gruß Thomas

Re: Monitoring vom zurückspielen von Snaopshots

Verfasst: 25.06.2021, 06:57
von irix
Ja genau so.
Ueber die Windows Aufgabenplanung dann zyklisch ausfuehren lassen. Wenn der Benutzer welcher das Script ausfuehrt auch im vCenter berechtigt ist koennte man auch die User/Pass entfernen innerhalb des Scripts weil die dann aus dem Environment kommen.

Ich gucke evtl. nochmal ob man nicht nach *Snapshot* suchen koennte weil ich habe ja nur 2 relevante Tasks angegeben bis Dato.

Gruss
Joerg

Re: Monitoring vom zurückspielen von Snaopshots

Verfasst: 30.06.2021, 10:04
von Neopolis
Das wäre natürlich klasse.
Ich habe das auch hinbekommen mit der Abfrage. War ein bisschen kompliziert bis ich es hatte.
Ich habe eben Scriptsprachen nie gelernt und das ist doch schon mehr wie autoexec.bat oder config.sys bei MS-DOS :-)