VMWare vSphere : Überwachung von Snapshots nach Zeit und Größe in ICINGA / Nagios via PHP und Powershell (VMWare Powercli)

Share on Facebook
[`google_buzz` not found]
Bookmark this on Google Bookmarks
[`yahoo` not found]
[`tweetmeme` not found]
Share on LinkedIn

Nicht beendete Snapshots können unter VMWare vSphere natürlich zu erheblichen Problemen führen, da immer die Gefahr besteht, dass LUNs vollaufen und dann gar nichts mehr geht.

Auslöser können nicht nur „vergessene“ Snapshots sein, bei der manuell ein Snapshot gestartet aber nicht beendet wurde, sondern auch Software von Drittanbietern wie Veeam Backup & Replication lösen bei diversen Vorgängen, in diesem Beispiel ein Backup, einen Snapshot aus und es kann immer mal wieder passieren, dass dieser aufgrund eines Fehlers dann nicht beendet wird.

Um die Größe und das Alter eines Snapshots in VMWare vSphere zu überwachen, bietet sich die VMWare vSphere PowerCLI an, die in Windows Powershell integriert werden kann.

Zunächst einmal muss die vSphere PowerCLI heruntergladen und installiert werden (Download hier). Um die Ergebnisse komfortabel mit ICINGA oder Nagios auszuwerten, empfehle ich allerdings keinen direkten Einsatz der PowerCLI, sondern die Integration in ein Windows Powershell Skript.

Die Integration in das Powershell Skript erfolgt über den Befehl Add-PSSnapin :

Add-PSSnapin VMWare.VimAutomation.Core

Als nächsten muss eine Verbindung zum dem vSphere Server hergestellt werden:

 

Connect-VIServer localhost

Wobei localhost natürlich durch den Servernamen ersetzt werden muss, wenn das Skript nicht lokal auf dem vSphere-Server läuft. Ferner kann man noch einen Usernamen und ein Passwort angeben, wenn das Skript unter einem Benutzter läuft, der nicht gleichzeitig Zugangsberechtigung zum vSphere-Server hat. Die Variablen dafür lauten -User und -Password.

Nun ist die Verbindung hergestellt und man kann sich mit folgendem Befehl alle derzeit vohandenen Snapshots in VMWare vSphere anzeigen lassen:

get-vm | get-snapshot | format-list VM,Created,SizeGB

Die Ausgabe sieht dann z.B. so aus:

VM      :  EXAMPLE_SERVER_1

Created : 06.02.2015 22:17:52

SizeGB  : 0,0000286670401692390441894531

 

VM      : EXAMPLE_SERVER_2

Created : 08.02.2015 01:28:42

SizeGB  : 0,321273802220821380615234375

 

VM      : EXAMPLE_SERVER_3

Created : 08.02.2015 22:02:54

SizeGB  : 0,4391612324863672256469726562

 

VM      : EXAMPLE_SERVER_4

Created : 11.02.2015 18:37:20

SizeGB  : 0,0013828118383884429931640625

In diesem Beispiel sind nun also 4 Snapshots vorhanden. Man sieht in der Liste sowohl das Erstelldatum als auch die Größe des Snapshots.

Diese Ausgabe wird nun in eine Variable eingelesen und kann somit durch Powershell oder durch z.B. ein PHP-Skript auf dem ICINGA– oder NagiosServer verarbeitet werden, und bei vordefinierten Schwellwerten einen Alarm auslösen.

Wichtig ist auch, dass man am Ende des Powershell-Skriptes die Verbindung zum vSphere-Server wieder trennt und einen Unload des PSSnapins durchführt:

Disconnect-VIServer -Server localhost -Confirm:$false

Remove-PSSnapin VMWare.VimAutomation.Core
Dieser Beitrag wurde unter Backup, Deduplizierung, Microsoft Windows, OS, PC Software, PHP, PowerCLI, Powershell, Programmierung, Software, Technik, VBScript, Veeam, Veeam Backup & Replication, VMWare, Vsphere, Windows, Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2012 abgelegt und mit , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.