vROps : Retrouver le vCenter d’un cluster via les rest API

Sur un projet d’automatisation nous avons eu besoin de récupérer le vCenter d’un cluster via les REST API de vROps (aka VMware Aria Operations).  Nous avons, dans un premier temps, regardé du côté du swager de vROps  (https://YourvROps/suite-api/doc/swagger-ui.html), qui nous avait mis sur plusieurs pistes… mais au final c’est ultra simple.

Nous allons détailler les étapes via Postman :

  1. Obtention du token dans vROps 
  2. Recherche du cluster dans vROps (à partir de son nom) afin d’obtenir son id vROps.
  3. Recherche du vCenter associé à l’id du cluster

Obtention du token :
Call type : POST
Url : https://YourvROps/suite-api/api/auth/token/acquire
Body :

{
"authSource" : "Domain",
"password" : "Password",
"username" : "Username"
}

Copier le token (encadrer en rouge) reçu dans le body.

Recherche du cluster :
Call type : GET
Url : https://YourvROps/suite-api/ressources?name=CluserSearch
Headers: ajoutez les keys ci-dessous.
– “Content-Type” value “application/json”
– “Authorization” value “vRealizeOpsToken + le token copié précédemment”
– “Accept” value “application/json”

Dans le Body récupérer l’id du cluster dans l’attribut “identifier”

Recherche du vCenter associé à l’id du cluster :
Call type : GET
Url : https://YourvROps/suite-api/ressources/IdCluster/properties
Headers: ajoutez les keys ci-dessous.
– “Content-Type” value “application/json”
– “Authorization” value “vRealizeOpsToken + le token copié précédemment”
– “Accept” value “application/json”

Dans le body, rechercher la value de l’attribut name: summary|parentvCenter et c’est tout bon 😉

Post to Twitter

vROPs : Not receiving data from the Desktop Agent

Nous voilà de retour avec vROps  (vous allez croire qu’on est fan à force), cette fois-ci ce sont des vms de type dekstop qui ne remontaient plus d’infos dans vROps depuis leur Desktop Agent.  Le message d’erreur  dans le dashboard “Horizon Help Desk” était :

Not receiving data from the Desktop Agent

Ne soyons pas médisants on a déjà le protocole qui remonte 🙂

En collaboration avec notre collègue de l’équipe “Poste de Travail” (Christophe Mazzardis) nous avons regardé sur plusieurs vms impactées et avons remarqué que dans la log de l’agent View (C:\ProgramData\VMware\vRealize Operations for Horizon\Desktop Agent\logs\v4v-vrops-rmi-YYYY-MM-DD.log) nous avions l’erreur ci-dessous :

0x00002e70 ERROR    Failed to initialize RMI in the Java client.  java.io.IOException: Invalid keystore format


Vous l’aurez compris le “Invalid keystore format” nous a permis rapidement de faire la liaison avec le fichier “v4pa-truststore.jks” (ce fichier contient le magasin de confiance que l’adaptateur utilise pour authentifier le certificat du broker agent)  situé dans “C:\ProgramData\VMware\vRealize Operations for Horizon\Desktop Agent\conf”. En remplaçant le fichier “v4pa-truststore.jks” par un fichier d’une vm ne posant pas de problème et en relançant le service “v4v_agent” (Vmware vRealize Operations for Horizon Desktop Agent) nous avons pu à nouveau obtenir la remontée des métriques view dans vROps.

On regarde vite fait dans le fichier de log Agent\logs\v4v-vrops-rmi-YYYY-MM-DD.log pour voir si ça se passe bien.

7:14:46 0x00000a68 INFO     Using message server ‘rmi://vROPsIP:3091′.
17:14:46 0x00000a68 INFO     UnregisterDataDumpCallback success: (, , )
17:14:46 0x00000a68 INFO     RegisterDataDumpCallback success: (rmi:// vROPsIP:3091,
539dc7df8b99f2fbddfe841c9332b8dabe1426eee73b449c3b3bfd7fc3d4c1ba, 0500304531153013060355040A130C564D776172652C20496E632E312C302A060355040313237643656E746572204F7065723656E746572204F706573656E746572204F706573656E7B83E986FD33AC301EE104FC25C1DE7435495A………………)
17:14:46 0x00000a68 INFO     Using message server ‘rmi:// vROPsIP:3091’.
17:14:46 0x00000c0c INFO     Using JRE from ‘C:\Program Files\VMware\VMware View\Agent\jre\’.
17:14:47 0x00000c0c INFO     SUCCESSFULLY initialized the Message Logger.
17:14:47 0x00000c0c INFO     Initialized communication manager.
17:14:47 0x00000c0c INFO     Updated the message server URL in the Java client to rmi:// vROPsIP:3091.


Le “SUCCESSFULLY initialized the Message Logger” confirme que tout est ok.

Retournons côté vROps afin de voir si notre vm a bien ses métriques View qui remontent.

Après quelques minutes tout est ok

Maintenant que le problème est résolu, on va essayer de lire le fichier “v4pa-truststore.jks”  (qui causait problème) via “KeyStore Explorer” (le mot de passe du fichier “v4pa-truststore.jks” est contenu dans le fichier “msgclient.properties” (truspass =……..).

Comme nous sommes sur du mot de passe, nous optons pour “le fichier magasin de certificats est corrompu”….on va cliquer sur Ok comme on est joueur
Et en cliquant sur le bouton Détails ?
Nous ne sommes pas plus avancés pour l’instant…..

Maintenant nous allons regarder  ce qu’il y a dans un fichier “v4pa-truststore.jks” sain.

On a bien la liste des certificats 🙂

Retournons côté vROps pour voir si notre vm remonte bien les métriques View.

Nickel

Post to Twitter

vROps : No Data

Dans un vROps (8.01) dédié à une infra Horizon View (ver 7.10) nous sommes tombés sur un “No Data” dans le Dashboard “Horizon Adapter Self Health” dans la section “Horizon Broker Agent Event DB Collection Statistics”.

On sent qu’on va adorer la suite… 🙂

Direction le Connection Server où est installé le Broker Agent afin de vérifier que tout est bien configuré (pour la partie Event DB).  Allez dans le menu Démarrer – Executer et tapez la commande ci-dessous afin de lancer le “Broker Agent Config Utility for Horizon”. 

C:\Program Files\VMware\vRealize Operations for Horizon\Broker Agent\bin\v4v_brokeragentcfg.exe

Passez les étapes de Pairing et de Connection Server, nous arrivons à l’écran “Configure the Envent DB and Pool Filters”, lors du test username/password nous obtenons l’erreur ci-dessous :

Event DB username and password cannot be validated
Format of the initialization string does not confirm to specification starting at index 104
An error has Occurred
Operation Validate DB Credential has Failed

On commence à comprendre notre “No data” dans vROPs”

Là ou ça devient intéressant c’est que le username/password utilisé est déjà utilisé dans la console View (dans la partie Configuration d’événements). Côté SQL les logs ne font même pas apparaître un problème d’authentification. Vu que l’association username/password fonctionne via la console view et ne fonctionne pas via l’agent broker, nous avons testé avec un mot de passe moins complexe.

Avec un password sans certains caractères spécifiques ça passe sans problème 🙂

Reste à voir dans le vROps ce que ça donne pour notre problème de “no data” dans le Dashboard “Horizon Adapter Self Health” dans la section “Horizon Broker Agent Event DB Collection Statistics”

Nickel 🙂

Un petit aparté au sujet de SexiGraf, Horizon View devrait faire son apparition dans SexiGraf très prochainement.

c’est dans le pipe on nous dit 🙂

Post to Twitter