Une des étiquettes de cette page n'a pas d'autres pages associées.

Selon les tags présents sur cette page, celle-ci n'a pas été vérifiée pour une des versions LTS supportées d'Ubuntu.

Apportez votre aide…

VMware vRealize Operations

VMware vRealize Operations, dit vROps, est un logiciel de métrologie de serveurs.

Nous allons voir ici comment y accéder en ligne de commande sous Linux.

Prérequis

Avoir Powershell d'installé sous votre Ubuntu.

Un serveur vROps Serveur-vROps.intra opérationnel et les droits utilisateur suffisant pour accéder à ce serveur.

Installation

exécuter Powershell en root :

sudo pwsh

Installer le module client VMware :

install-module -name VMware-PowerCLI

Configurations initiales

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

Pour voir la version de son client :

Get-PowerCLIVersion

Ensuite il faut ignorer les erreurs d'identification de certificat https :

Set-PowerCLIConfiguration -InvalidCertificateAction Ignore

Connexion au serveur

Vous pouvez vous connecter au serveur avec

$vrops = Connect-OMServer -Server Serveur-vROps.intra -User "votrenomutilisateur" -Password "motdepasse" -AuthSource "Domaine"

Exemple d'utilisation

Pour exécuter un rapport

Recherche des éléments du rapport :

Import-Module VMware.VimAutomation.vROps
Get-OMResource -Name "vSphere World" | Select-Object Id
Id
--
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
$vrops.ExtensionData.GetReportDefinitions($null, $null, "Oversized Virtual Machines").ReportDefinition
Name                 : Optimization Report - Oversized Virtual Machines
Description          : Oversized VMs Report.
Subject              : {Virtual Machine}
Traversalspecs       : {Custom Datacenters, Application Dependency, vSphere Hosts and Clusters, vSphere Storage…}
LastRunTime          : 01/01/0001 00:00:00
LastRunTimeSpecified : False
Owner                : admin
Links                :
Any                  :
Id                   : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
CreationTime         : 01/01/0001 00:00:00
Active               : True
ActiveSpecified      : True
AnyAttr              :

Définition du rapport à utiliser :

$TraversalSpec = New-Object VMware.VimAutomation.VROps.Views.TraversalSpec
$TraversalSpec.Name = "vSphere Hosts and Clusters"
$TraversalSpec.RootAdapterKindKey = "VMWARE"
$TraversalSpec.RootResourceKindKey = "vSphere World"
$Report = New-Object VMware.VimAutomation.VROps.Views.Report
$Report.ResourceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$Report.ReportDefinitionId = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
$Report.TraversalSpec = $TraversalSpec

Exécution du rapport :

$vrops.ExtensionData.CreateReport($Report)
Name               :
Description        : Oversized VMs Report.
ResourceId         : aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
ReportDefinitionId : bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
TraversalSpec      :
Subject            : VirtualMachine VirtualMachine
Owner              : cccccccc-cccc-cccc-cccc-cccccccccccc
CompletionTime     : null
Status             : QUEUED
Links              : {linkToSelf, linkToResource, linkToReportDefinition}
Any                :
Id                 : zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
AnyAttr            :

Récupération du rapport :

$vrops.ExtensionData.GetReport("zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz")
Name               :
Description        : Oversized VMs Report.
ResourceId         : aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
ReportDefinitionId : bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
TraversalSpec      :
Subject            : VirtualMachine VirtualMachine
Owner              : cccccccc-cccc-cccc-cccc-cccccccccccc
CompletionTime     : Tue Feb 28 11:14:27 UTC 2023
Status             : COMPLETED
Links              : {linkToSelf, linkToResource, linkToReportDefinition}
Any                :
Id                 : zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
AnyAttr            :

Récupérer le rapport :

$DataReport = $vrops.ExtensionData.GetReport("zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz")
$DataReport.Links
Description Href                                                                  Rel     Name
----------- ----                                                                  ---     ----
            /suite-api/api/reports/pppppppp-pppp-pppp-pppp-pppppppppppp           SELF    linkToSelf
            /suite-api/api/resources/rrrrrrrr-rrrr-rrrr-rrrr-rrrrrrrrrrrr         RELATED linkToResource
            /suite-api/api/reportdefinitions/ssssssss-ssss-ssss-ssss-ssssssssssss RELATED linkToReportDefinition

Par lien WEB :

https://Serveur-vROps.intra/ui/vcops/services/download/report/getCSV?reportId=pppppppp-pppp-pppp-pppp-pppppppppppp

Pour récupérer le rapport dans le script :

git clone https://github.com/ryan-jan/vROps-Reports.git
Import-Module ./vROps-Reports/vROps-Reports/vROps-Reports.psd1
Receive-OMReport -Report $DataReport -CSV -Path "./Rapport.csv"
Receive-OMReport -Report $DataReport -PDF -Path "./Rapport.pdf"

Pour le récupérer sans le module externe :

$MemoryStream = New-Object System.IO.MemoryStream
$DataReport.DownloadReport($MemoryStream, "CSV")
$ReadStream = New-Object System.IO.StreamReader($MemoryStream)
$MemoryStream.Seek(0, "Begin")
while ($ReadStream.Peek() -ne -1) {
     $ReadStream.ReadLine() >> Rapport1.csv
}
sed -i '/^$/d' ./Rapport.csv

Voir aussi