{{tag>Bionic Focal Jammy windows programmation powershell pwsh vmware powercli vrops metrologie }} ====== 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|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 ===== *[[:Nagios]] *[[:Shinken]] *[[:Sysstat]] [[https://ubunlog.com/fr/systat-herramienta-monitorizar-ubuntu|Blog tutoriel]] *[[:Munin]] *[[:Powershell]]