1 votes

Surveiller les files d'attente de messages

Je cherche un moyen simple de surveiller les files d'attente RabbitMQ à partir de SCOM. En particulier, je veux être notifié quand une file d'attente particulière (une que nous utilisons pour les "lettres mortes") n'est pas vide.

RabbitMQ dispose d'une API web RESTful (l'API HTTP de gestion RabbitMQ) qui renverra les données souhaitées ; elle ne prend en charge que JSON. J'ai déjà intégré l'appel à cette API dans une bibliothèque .NET. J'ai écrit une script PowerShell pour faire l'interface entre celle-ci et SCOM, mais notre administrateur réseau n'arrive pas à la faire fonctionner. Il préfère une solution VBScript.

Je peux exposer la bibliothèque .NET à COM et l'appeler depuis VBScript. Cela semble absurdement complexe. Existe-t-il un moyen plus simple ?

1voto

Mathias R. Jessen Points 24807

Pourquoi votre administrateur réseau n'appelle-t-il pas votre script powershell depuis un VBScript ? Je sais que ça n'aide pas la complexité absurde, mais ça pourrait être la solution la plus simple. Dites-lui d'écrire un moniteur personnalisé contenant ce simple morceau de vbs :

Set objShell = CreateObject("WScript.Shell")
strPoSHCmd = "powershell.exe -noprofile -command C:\path\to\script.ps1"
objShell.Run strPoSHCmd

Modifier le C:\path\to\script.ps1 pour répondre à vos besoins. Vous pouvez également faire en sorte que le vbscript renvoie les valeurs de PowerShell (en supposant que votre PS script renvoie une valeur), à SCOM, en créant un propertyBag MOM.ScriptAPI, comme ceci :

Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()

Set objShell = CreateObject("WScript.Shell")
strPoSHCmd = "powershell.exe -noprofile -command C:\path\to\script.ps1"
PSReturn = objShell.Run strPoSHCmd

Call oBag.AddValue("Output",PSReturn)
Call oAPI.Return(oBag)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X