MOM 2005 : Agents managés et connexion lente

Si les agents supervisés sont connectés via une liaison lente, (dans le sens agent vers serveur MOM), il se peut que rien ne remonte au serveur MOM, (message d’erreur dans le journal d’application de l’agent indiquant des erreurs de communication).
 
Une des solution consiste à augmenter la valeur du timeout sur le serveur MOM via la création de la valeur
ServerIOTimeoutMS de type DWORD avec une valeur maxi de 120,000  qui peut être affinée par la suite
 
Cette valeur doit être créée sous la clé :

HKEY_LOCAL_MACHINE\Software\Mission Critical Software\OnePoint\Configurations\configuration group name\Operations\Consolidator
 
Plus de détail dans l’article suivant :
 

Publicités

MOM 2005 : Il existe une erreur dans le document XML

Cette erreur peut se produire dans le module reporting services de MOM 2005.
 
Cela se produit uniquement si le rapport utilise une des colonnes suivantes comme paramètres dans un de ses DATASET
 

SC_ComputerDimension_View
Computer Name
Domain Name

SC_CounterDetailDimension_View
Object Name
Instance Name
Counter Name
 
Un correctif pour reporting services est disponible avec l’article suivant :
 
 

SCOM 2007 : les webcasts des Techdays 2007

Pleins de webcasts à l’adresse suivante :
 
Vue d’ensemble de SCOM 2007
Supervision des bases de données avec SCOM 2007
 
 

 

 
 

MOM 2005 : creer un evenement si un fichier apparait dans un dossier

Le script MOM suivant permet de creer un evenement de type ERROR si un fichier apparait dans un dossier normalement vide
sinon un evenement de type success est cree.
 
Utilisation dans MOM :
Schedule a frequence desiree, puis creation d’une regle d’alerte sur l’evenement.
 
Utiliser le second script pour rechercher un fichier en particulier
 
 
 
‘*******************************************************************************************
‘ script :   TestPresFichierMOM.vbs
‘ version :   1.0
‘ Auteur :   JF BERENGUER

‘ Objet :   teste la presence d’un fichier dans un dossier

‘ Méthode :   compte le nombre de fichier présents dans ce dossier,  

‘ Configuration : renseigner le chemin de la recherche
‘           

‘ Utilisation :  script MOM

‘*******************************************************************************************
Option explicit
‘******  Déclaration des constantes     *****
Const EVENT_TYPE_SUCCESS = 0
Const EVENT_TYPE_ERROR   = 1
Const EVENT_TYPE_WARNING = 2
Const EVENT_TYPE_INFORMATION = 4
Const EVENT_TYPE_AUDITSUCCESS = 8
Const EVENT_TYPE_AUDITFAILURE = 16
‘******  Déclaration des variables     *****
Dim fso
Dim WshShell
Dim folder
Dim IntNbFile
Dim strPath
Dim file
‘******  Initialisation des variables    *****
IntNbFile = 0
strPath = "c:\\Folder\test"
‘******  Main          *****
Set fso = CreateObject("Scripting.FileSystemObject")
set WshShell = CreateObject("WScript.Shell")
set folder = fso.GetFolder(strPath)
for each file in folder.Files
IntNbFile = IntNbFile + 1
next
If IntNbFile > 0 Then
 CreateEvent 701,EVENT_TYPE_ERROR,"MOM_EVENT","un ou des fichiers sont présents dans le dossier " & strPath
 Else
 CreateEvent 702,EVENT_TYPE_SUCCESS,"MOM_EVENT","aucun fichier n’est présent dans le dossier " & strPath
End if
 
 
‘******  Procedures  *****
Sub CreateEvent(intEventNumber,intEventType,strEventSource,strEventMessage)

‘ But :   Creer un evenement MOM

‘ Arguments : No event, type, source, message, nom du device

‘ Retour :  n/a

Dim objEvent
    Set objEvent = ScriptContext.CreateEvent()
    objEvent.EventSource = strEventSource
    objEvent.EventNumber = intEventNumber
    objEvent.EventType = intEventType
    objEvent.Message = strEventMessage
    ScriptContext.Submit objEvent
End Sub
 
 
 
 
 
 
 
‘*******************************************************************************************
‘ script :   TestPresFichierMOM.vbs
‘ version :   2.0
‘ Auteur :   JF BERENGUER

‘ Objet :   teste la presence d’un fichier dans un dossier

‘ Méthode :   compte le nombre de fichier présents dans ce dossier,  

‘ Configuration : renseigner le chemin de la recherche et le nom du fichicer recherche
‘           

‘ Utilisation :  script MOM

‘*******************************************************************************************
Option explicit
‘******  Déclaration des constantes     *****
Const EVENT_TYPE_SUCCESS = 0
Const EVENT_TYPE_ERROR   = 1
Const EVENT_TYPE_WARNING = 2
Const EVENT_TYPE_INFORMATION = 4
Const EVENT_TYPE_AUDITSUCCESS = 8
Const EVENT_TYPE_AUDITFAILURE = 16
‘******  Déclaration des variables     *****
Dim fso
Dim WshShell
Dim folder
Dim IntNbFile
Dim strPath
Dim file
Dim strFileName
‘******  Initialisation des variables    *****
IntNbFile = 0
strPath = "c:\\Folder\test"
strFileName = "FileName"
‘******  Main          *****
Set fso = CreateObject("Scripting.FileSystemObject")
set WshShell = CreateObject("WScript.Shell")
set folder = fso.GetFolder(strPath)
for each file in folder.Files
If file.Name = (strFileName) Then IntNbFile = IntNbFile + 1
next
If IntNbFile > 0 Then
 CreateEvent 701,EVENT_TYPE_ERROR,"MOM_EVENT","un ou des fichiers sont présents dans le dossier " & strPath
 Else
 CreateEvent 702,EVENT_TYPE_SUCCESS,"MOM_EVENT","aucun fichier n’est présent dans le dossier " & strPath
End if
 
 
‘******  Procédures  *****
Sub CreateEvent(intEventNumber,intEventType,strEventSource,strEventMessage)

‘ But :   Créer un évènement MOM

‘ Arguments : No event, type, source, message, nom du device

‘ Retour :  n/a

Dim objEvent
    Set objEvent = ScriptContext.CreateEvent()
    objEvent.EventSource = strEventSource
    objEvent.EventNumber = intEventNumber
    objEvent.EventType = intEventType
    objEvent.Message = strEventMessage
    ScriptContext.Submit objEvent
End Sub
 
 
 
 
 
 

VBScript : utiliser un fichier pour tracer le déroulement d’un script

Cette fonction permet de tracer l’exécution d’un script dans un ficheri texte
Elle accepte en parametre le texte a rajouter au fichier, ainsi que le nom du fichier, (avec le chemin complet)
 
—————————————————————————————–
 
Sub EcrireLog (sTextLog, sFileLog)
 Dim oFSO1, oStr1
 Set oFSO1 = WScript.CreateObject("scripting.FileSystemObject")
 Set oStr1 = oFSO1.OpenTextFile(sFileLog,8,True,-2)
 oStr1.WriteLine sTextLog
 oStr1.Close
End Sub

MOM 2005 : créer un compteur de performance via script

Si le compteur n’est pas disponible via les fournisseurs habituels, il est possible de le créer via un script dans MOM en utilisant la procédure ci après :
 
 
Sub CreatePerfData(strObjectName,strCounterName,strInstanceName,numValue)

‘ But :   Créer un compteur de performance MOM

‘ Arguments : Nom de l’objet,Nom du compteur, Nom de l’instance , valeur

‘ Retour :  n/a

Dim objPerfData
    Set objPerfData = ScriptContext.CreatePerfData
    objPerfData.ObjectName = strObjectName
    objPerfData.CounterName =strCounterName
    objPerfData.InstanceName = strInstanceName
    objPerfData.Value = numValue
    ScriptContext.Submit objPerfData
End Sub

MOM 2005 : Reporting sur la disponibilite

Le MP "Microsoft Availability Reporting MOM 2005" ne fonctionne pas correctement sur les systèmes d’exploitation en version française.
 
Une des solutions pour créer des rapports sur la disponibilite des système est d’utiliser UPTIME.EXE dans un script MOM afin de créer les compteurs de performance journalier
 
 
La ligne de commande uptime /s /p:1 permet de remonter les informations depuis le jour précédent sur
  • le taux de disponibilite
  • le nombre de rebbot
  • le nombre de bluescreen
  • le temps total uptime
  • le temps total downtime

La fonction suivante permet de renvoyer un tableau contenant les trois premières valeurs

Elle accepte en parametre le nom du serveur cible, et le nombre de jour d’historique :
Uptime.exe doit être copier dans le dossier C:\Program Files\Microsoft Operations Manager 2005
 
—————————————————————————————————————
 
Function Disponibilite(strServer,IntProf)

‘ But :  Renvoi un tableau de valeurs contenant :
‘    la dispo du système
‘    le nb total de reboot
‘    le nb total de bleuscreen

‘ Arguments : nom server, date de départ
‘ Retour : tableau

 
Dim objShell
Dim objExecObject
Dim strLine
Dim arrResultat(2)
Set objShell=CreateObject("Wscript.shell")
Set objExecObject=objShell.exec("%COMSPEC% /C ""C:\Program Files\Microsoft Operations Manager 2005\uptime.exe"" " & strServer & " /s /p:" & IntProf & "")
 Do Until objExecObject.stdOut.AtEndOfStream
     strLine=objExecobject.stdOut.ReadLine()
 
    If Instr(strLine, "System Availability") Then arrResultat(0) = CDbl(Replace(Left(RTrim(Mid(strLine,33)),6),".",","))
    If Instr(strLine, "Total Reboots") Then arrResultat(1) = CInt(RTrim(Mid(strLine,33)))
    If Instr(strLine, "Total Bluescreens") Then arrResultat(2) = CInt(RTrim(Mid(strLine,33))) 
    
 Loop
Disponibilite = arrResultat
End Function
 
 
Pour créer le compteur de performance dans MOM, utiliser la procédure habituelle CreatePerfData