Partager via


System Center

Précis de ciblage dans Operations Manager 2007

Steve Rachui

 

À une vue d'ensemble :

  • L'aide d'une cible existante
  • Le problème de découverte d'attribut
  • Création de cibles avec la console de création
  • Découverte basée sur un script

Contenu

L'aide d'une cible existante
Création de cibles avec la console de création
Utilisez une clé de Registre
Valeur du Registre
La découverte via le script
Considérations supplémentaires

Création d'objets analyse personnalisées (règles, moniteurs, groupes et ainsi de suite) fait partie normale de routines des nombreux System Center Operations Manager (OpsMgr) 2007 administrateurs. Pour chaque objet est créé, il existe une question courante est obligatoire, ce qui cible à utiliser.

Choisir la cible d'un objet correcte est essentielle, mais l'approche correcte pas toujours peut-être effacer. OpsMgr fournit un certain nombre d'options pour le ciblage. Cet article Regardons plusieurs, avec l'objectif d'aider les administrateurs de choisir la méthode appropriée pour chaque scénario ; et la termes « classe » et cible » va être utilisées indifféremment.

Supposons que vous disposez d'une application interne appelée gadget doit être surveillé. Toutes les spécifications de surveillance ont été définis et le travail à créer les objets de surveillance de gadget a commencé. Vous rapidement Découvrez, cependant, qu'il n'est aucune cible précis gadget par ! Conformément aux meilleures pratiques OpsMgr, toutes les règles, moniteurs et ainsi de suite doivent être ciblés à l'objet plus spécifique possible de pouvoir limiter l'étendue de distribution aux systèmes d'intérêt. Quelles sont les options dans OpsMgr qui vous permettent d'atteindre cet objectif de d'exercices pratiques meilleur ?

L'aide d'une cible existante

Par défaut, OpsMgr comprend une longue liste de cibles et cette liste grossit lorsque plusieurs packs de gestion sont importées. Lorsque vous avez créant un nouvel objet de pack de gestion (MPO) et envisagez la cible, tout d'abord vérifier les éléments disponibles pour vérifier si parmi les cibles préexistants est suffisant. Si vous construisez MPOs pour étendre le contrôle de serveur System Management Server (SMS), par exemple, il est probable que les cibles existants sont importés sur avec le pack de gestion de serveur SMS par défaut peuvent être réutilisés pour votre MPO.

À l'aide de cibles par défaut, cependant, n'est pas toujours fonctionner. Si les cibles disponibles ne sont pas suffisamment spécifiques à la MPO en cours de création, vous pouvez contourner l'absence d'une cible optimale ou créer une nouvelle cible.

Une approche courante (même si elle a quelques inconvénients) consiste à associer la nouvelle MPO pour le client Windows ou classe de serveur Windows ou pour toute autre classe de base approprié (là encore, être aussi spécifique que possible) qui inclut les cibles requis. Lorsque vous effectuez cela, veillez à créer le MPO dans un état désactivé. Vous pouvez ensuite créer un groupe qui contient tous les systèmes où ces MPOs devoir exécuter et de remplacer les MPOs désactivés pour le MPO est activée pour seulement les agents dans le groupe. Cela permet le MPO à livrer et s'exécuter sur seulement les agents qui sont autorisés par le remplacement.

Quels sont les inconvénients de cette approche ? Tout d'abord, à l'aide de cette méthode cible la classe plus large d'objets (Windows ordinateur, par exemple), pour tous les surveiller MPOs ciblés de ce diaporama moyen haut sous l'objet ciblé dans Explorateur d'intégrité (voir figure 1 ).

fig01.gif

La figure 1 Explorateur d'intégrité pour ordinateur ciblé par remplacer (cliquez sur l'image pour l'agrandir)

Il s'agit simplement cosmetic, donc il peut-être pas un problème dans un environnement donné. Mais le ciblage de cette manière provoque l'état de santé de l'objet parent (comme ordinateur de Windows) affectés lorsque le moniteur personnalisé est affectée. Par conséquent, si l'application gadget a un problème, l'état de l'objet ciblé dans son intégralité peut-être être affectée. Selon ce qui est surveillé, cela peut ou peut ne pas être remarquable.

Le ciblage MPOs aux groupes n'est pas généralement une approche appropriée dans OpsMgr, alors pourquoi ce travail ? N'oubliez pas que les groupes dans ces exemples sont utilisés comme remplace et ne sont pas la cible réelle de la MPO.

Cela peut apparaître comme sémantique mais penser aux groupes dans OpsMgr. Groupes sont des objets, comme tout autre objet. Lorsqu'un objet est choisi comme cible, cela signifie que le MPO en question est en cours déployé sur les agents qui possèdent l'objet cible.

Par conséquent, le agent possède l'objet de groupe ? Correct, le serveur d'administration racine (RMS). Cibler un groupe entraîne MPOs de remise à l'agent qui possède le groupe, ce qui signifie que MPOs sont déployés uniquement à la RMS ! Si un MPO est ciblé correctement, l'étape est déjà définie pour les MPOs être déployés sur les agents correctes, mais en désactivant la MPO, vous avez interrompu le processus que qu'il puisse commencer.

Lorsqu'un remplacement est introduit, la cible existante est toujours la cible, le remplacement simplement fait le désactivé statut à activé pour plusieurs agents par appartenance à un groupe. Mais les agents le MPO est activée sur font déjà partie de la cible d'origine pour le MPO. Je sais que c'est un peu déroutant dans un premier temps.

Maintenant imaginez un scénario où rien abordés jusqu'à présent est réalisable. Que devez-vous faire ? Il n'existe qu'une seule option restante : créer une nouvelle cible spécifiquement pour les MPOs, ce que vous pouvez faire soit à l'aide du service Surveillance modèle dans le Operations Console ou en créant une nouvelle cible dans la console de création.

Avant vous envisager les, cependant, de qu'en est-il créer une découverte attribut ? Vous pensez peut-être que cela est une option viable qui a été négligée. Jetons un coup. Il est possible de créer une découverte d'attribut qui récupère les informations à partir du Registre ou depuis WMI. Pour travailler, la découverte d'attribut doit être ciblée à une classe qui contient les entrées WMI d'intérêt ou le Registre. Cibles courants sont client Windows ou les classes de Windows Server ou même la classe d'ordinateur Windows plus générique.

Notez que le terme lui-même — découverte attribut — indique ce qui se passe réellement : un nouvel attribut est découvert et utilisé pour étendre une classe existante. Cette propriété a la valeur True, une nouvelle classe est créée par conséquent, mais il s'agit en fait la même classe ancienne aux tous les mêmes membres, uniquement avec un nouvel attribut est signalé. En fonction de cela, vous constatez que création d'une nouvelle découverte attribut n'est pas identique à la création d'une cible réellement unique.

Est-il un exemple ? Supposons qu'une nouvelle découverte attribut est créée pour trouver la clé de Registre pour le produit de gadget. Cette détection est destinée à déployer à un ordinateur Windows afin qu'inclut tous les agents peut-être la clé de Registre widget.

Après avoir effectué ce choix de l'Assistant, vous averti que la classe d'ordinateur Windows ne peut pas être étendue (il est dans un pack de gestion sealed après tout, si vous n'étiez pas un pack de gestion scellée, il ne serait aucun avertissement telle) et une classe cible renommé est présentée comme un choix que vous pouvez utiliser pour continuer (voir figure 2 ). Cela se produit parce que l'objectif de découverte d'attribut est d'étendre une classe existante.

fig02.gif

La figure 2 attribut découverte doesn’t créer une classe unique (cliquez sur l'image pour l'agrandir)

Maintenant examinons les modèles de service, qui peuvent servir à créer des cibles uniques pour les systèmes qui vous pouvez trouver basé sur un service installé. Modèles de service sont exceedingly facile à utiliser ; figure 3 illustre un exemple.

fig03.gif

La figure 3 un modèle de service

Sachez toutefois qu'utilisant le modèle peut entraîné la création de MPOs supplémentaires que vous pouvez envisagez ou souhaitez. Après avoir utilisé le modèle de service, il est judicieux pour rechercher et afficher les objets supplémentaires ont été créés et déterminer si elles doivent être conservés (voir figure 4 ).

fig04.gif

La figure 4 objets créées lors d'un modèle a été utilisée (cliquez sur l'image pour l'agrandir)

En outre, modèles de service va créer une découverte et une nouvelle classe pour chaque service. Cela peut-être exactement ce que vous voulez, ou il peut être trop précis. Par exemple, supposons que votre application personnalisée a plusieurs services. Dans ce cas, une nouvelle classe et un nouveau moniteur de service seront créés pour chaque ! Il est plus probable que l'approche surveillance souhaité serait pour une classe unique avec chaque moniteur service destinée à uniquement cette classe.

Si vous ne pouvez pas ou ne souhaitez pas utiliser un modèle de service, votre seule option restante est utiliser la console de création. Un coup de œil à la documentation de console de création indique qu'appropriée l'utilisation de cette fonctionnalité nécessite une discussion très approfondie : une qui est présent abordée cet article.

Néanmoins, quelques exemples simples qui utilisent la console de création pour créer et remplir une nouvelle cible dans OpsMgr sont dans ordre. Je vous donnera deux exemples réexaminez l'idée de l'aide d'une entrée de Registre pour identifier l'accessoire application et un troisième exemple reflète la découverte par script.

Création de cibles avec la console de création

Dans de nombreux cas, il est possible d'analyser le Registre pour une valeur spécifique ou une clé qui identifiera les serveurs d'intérêt qu'ordinateur hôte la cible souhaitée. Si une classe (cible) peut être créée et remplie avec les systèmes où la clé de Registre widget existe, qui est un moyen facile de créer une cible unique.

Mon premier exemple parcourt cela en recherchant simplement l'existence d'une clé de Registre. Le deuxième exemple recherche une valeur spécifique associée à la clé de Registre. Notez que pendant que vous pouvez créer une règle de découverte attribut du Registre (comme expliqué précédemment) et une découverte dans la console de création, comme illustré dans les exemples suivants, les deux n'obtenir pas les mêmes résultats, le premier simplement étend une classe existante pendant que ce dernier crée en fait une nouvelle cible.

Utilisez une clé de Registre

Au démarrage la console de création, vous devez choisir charger un pack de gestion existant ou créer un nouveau. Lorsque vous choisissez de créer un nouveau pack d'administration, un Assistant s'affiche et vous permet de sélectionner un modèle pour un pack de gestion vide ou pour une gestion Windows Application (Registre) pack (voir Figure 5 ).

fig05.gif

La figure 5 Sélection d'un modèle pour un nouveau pack de gestion (cliquez sur l'image pour l'agrandir)

Soit une peut servir à obtenir les mêmes résultats, mais il est facile de créer une nouvelle classe utilisant le modèle Windows Application (Registre). Vous devez simplement fournir un nom et puis sélectionnez le modèle du Registre. Ensuite, vous devez fournir le nom et une description pour le pack d'administration sur l'écran Nom et description. La valeur à entrer ici est la valeur affichée sous le nœud de packs de gestion de l'interface de gestionnaire d'opérations.

Puis fournir une description de l'application à l'écran Application Windows. La valeur entrée ici sera la valeur affichée dans le nœud attributs de l'interface de gestionnaire d'opérations. Ensuite, configurez la fréquence à laquelle la détection s'exécute. Ici, la valeur par défaut est chaque 15 secondes, ce qui est probablement bien trop souvent. Solde le besoin de découverte rapide par rapport à l'impact de performances peut se produire avec découverte trop fréquemment. Il généralement n'est pas intéressante nécessaire pour une découverte exécutée plusieurs fois par jour.

Maintenant renseigner les détails nécessaires pour trouver la clé de Registre/valeur que vous intéressent. Il existe plusieurs types d'attribut ; si vous simplement vérifier l'existence d'une touche, utilisez le type booléenne.

Enfin, créer l'expression de requête. Cela peut sembler être travail en double, n'a pas vous simplement créez la requête expression ? En fait, non. L'écran Registre Response Probe configuration définit la clé de Registre pour examiner et regardez comment. L'écran expression filtre permet de définir quelle valeur est attendu.

BON, tous de ce fait, ce que vous avez réellement créé ? Vous répondez à l'objectif de créer une nouvelle classe ? Dans la console de création, sélectionnez le nœud Modèles de service et cliquez sur les classes. Notez qu'une nouvelle classe a été créée. Examinez les propriétés de comprendre plus sur cette nouvelle classe.

Qu'en est-il de la définition découverte ? Recherchez sous modèle de santé et notez la règle de découverte, examinez les propriétés ici également pour voir comment la règle est en fait créée.

Valeur du Registre

Création d'une découverte cherche une valeur de Registre au lieu d'une clé de Registre est aussi facile. Travail dans l'Assistant nouveau, mais, cette fois, modifier l'entrée pour extraire une valeur de Registre au lieu d'une clé.

Pour lancer l'Assistant une fois le modèle initiale terminée, accédez au modèle d'intégrité du | découvertes. Dans le volet du milieu, cliquez avec le bouton droit sur et sélectionnez nouveau | Registre (filtré). Les écritures sera le même qu'avant sauf cette fois qu'une valeur de Registre est spécifiée.

C'est que facile ! Avec les nouvelles cibles créés, l'exemple s'arrêter là. Mais notez que des opérations supplémentaires doit toujours être effectuée afin de remplir le pack de gestion avec MPOs. MPOs peuvent soit être créés via l'interface de gestionnaire d'opérations ou directement dans la console de création, les deux cas fonctionne correctement.

N'oubliez pas, cependant, que si vous ouvrez un MPO dans la console de création que vous avez créé dans la console Opérateur, elle n'aura le nom d'origine que vous avez attribué il. Au lieu de cela, le nom donné est remplacé par une chaîne commençant par UIGenerated. Alors que cela n'affecte pas la fonction de la MPO fasse, il peut être très frustrant si vous tentez de trouver un MPO spécifique dans la console de création.

Quel quelle méthode que vous choisissez, une nouvelle classe a été créée qui peut servir de remise de règles. Comment savez-vous ce nouveau fonctionne de classe et la découverte ? Vous pouvez examinez les informations de stock découvertes pour la nouvelle classe et la nouvelle classe également affiche en tant que cible valide pour un nouveau moniteur (illustré figure 6 ).

fig06.gif

La figure 6 la nouvelle classe est une cible valide pour un moniteur (cliquez sur l'image pour l'agrandir)

La découverte via le script

Pour créer une détection basée sur un script dans un pack de gestion existant, charger ce pack d'administration dans la console de création. Si vous démarrez à partir de zéro, ouvrez la console de création et choisissez de créer un nouveau pack de gestion.

Comme il s'agit d'une découverte basée sur un script, le choix applicable seulement consiste à créer un pack de gestion vide. La première étape de ce processus consiste à définir la classe qui sera remplie avec le script, ainsi qu'avec les propriétés classe (attributs) d'intérêt. FileName, FileDirectory et FileDescription sont disponibles propriétés définies par cette classe qui peut être manipulée dans le script, je vais expliquer peu de temps pour vous.

En outre, la propriété DisplayName est héritée de la classe System.Entity et peut également être manipulée par script. Notez que seuls les attributs qui apparaissent dans cette liste peut être manipulé avec le script de détection, ainsi, assurez-vous que tous les éléments d'intérêt sont affichés ici. Notez également que que chaque propriété (attribut) est sélectionnée, détails sur la propriété apparaît sur la droite. Veillez à remplir l'entrée de nom d'affichage pour chaque propriété (attribut). Si elles sont laissées vides, les informations de détection sont renvoyées, mais les en-têtes de colonne dans l'environnement OpsMgr, tel que dans l'affichage découverte des stocks, sera vides.

Avec la classe définie, vous pouvez créer la détection basée sur un script. Accédez au modèle de fonctionnement | découvertes. Cliquez avec le bouton droit sur et sélectionnez nouveau | script et créer la recherche. Il existe beaucoup d'informations ici. Tout d'abord, l'onglet Général permet de nom de la découverte et fournit une cible sur lequel la découverte doit être exécutée. N'oubliez pas, comme spécifique possible lorsque vous définissez la cible.

Pour les besoins de cet article, ordinateur Windows est judicieux. Sous l'onglet Types de découverte, configurez le type d'objet à être détecté. Notez que le nom du type découvert ici correspond au nom classe défini précédemment.

Est ensuite l'onglet Configuration, qui affiche les informations qui sont générées automatiquement lorsque le script est défini. (Sélectionnez Configurer pour voir le script et l'heure planifiée pour l'exécution du script.) Notez également la boîte de paramètres (qui sont accessibles par sélection configuration | script | paramètres). Prendre un examiner les paramètres répertorié, J'AI fait référence à leur plus loin dans cet article.

Le script pour le processus de découverte de collection de lecteur et envoyer les résultats OpsMgr est illustré figure 7 . C'est un script très simple, mais il fournit l'infrastructure pour les éléments clés qui sont nécessaires pour la découverte basée sur un script fonctionner.

Script de recherche de la figure 7

Option Explicit
Dim oArgs
Set oArgs = WScript.Arguments

Dim oAPI

  'All of the work to submit discovery data is done in the context of
  'API's defined in the OpsMgr 2007 SDK.  Creating the oAPI object allows
  'access to the OpsMgr 2007 scripting environment
Set oAPI = CreateObject("MOM.ScriptAPI")

Dim SourceId, ManagedEntityId, targetComputer

  ' SourceId is the GUID of the discovery object that runs the script.
SourceId = oArgs(0)

  ' ManagedEntityId is the GUID of the computer class that is targeted by the script.
ManagedEntityId = oArgs(1)

  ' targetComputer is the Fully Qualified Domain Name
  ' of the computer targeted by the script. The FQDN
  ' is in Arg(2) of the command prompt.
targetComputer = oArgs(2)

Dim oFSO, oDiscoveryData, oInst

  'This operation sets the stage for creating new discovery data.  Note that the
  'values passed to the CreateDiscoveryData function are variables that are defined
  'by the command line when executed.  The parameters box was displayed earler.  This
  'is where the command-line parameters required by the CreateDiscoveryData object are 
  'defined and passed to the script.
Set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)

  'This section defines objects needed to access the file system environment
Set oFSO = CreateObject("Scripting.FileSystemObject") 
If (oFSO.FolderExists("C:\WServer")) Then 

    'Assuming a folder called WServer was found on the root of the C drive, the script proceeds to create a new
    'class instance.  Once it's created, a number of property (attribute) values are filled in; note that all 
    'three of the properties (attributes) defined on the class are used in the script along with one property
    '(attribute) from the windows computer class.  Note the difference in how the script refers to properties 
    '(attributes) defined in the local class vs. a class that is accessed by reference.  Also note the Name field
    'as defined in the script.  Here the name is a friendly name that easily maps back to a known class name.  
    ' When the management pack is saved and imported into the Operations Console and the script delivered to the
    ' agents, these name values will no longer be friendly, they will be converted to the appropriate class GUID.  
    'Normally these converted values wouldn't be seen, but if the script directly on the agent is examined, 
    'the difference will be seen. Note that if the script attempts to define/use a property (attribute) 
    'that has not been defined in the referenced class, validation errors will be displayed.
  Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Widget.Application.Script.Discovery.WidgetAppClass']$")
  Call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", targetComputer)
  Call oInst.AddProperty("$MPElement[Name='Widget.Application.Script.Discovery.WidgetAppClass']_
    /FileName$", "TestFileName.exe")
  Call oInst.AddProperty("$MPElement[Name='Widget.Application.Script.Discovery.WidgetAppClass']_
    /FileDirectory$", "TestFileDirectory")
  Call oInst.AddProperty("$MPElement[Name='Widget.Application.Script.Discovery.WidgetAppClass']_
    /FileDescription$", "TestFileDescription.exe")

    'Class Instance has now been created so the AddInstance method of the CreateDiscoveryData class is used to add
    'the completed instance.  From there the script returns the discovery data to OpsMgr for further processing.
  Call oDiscoveryData.AddInstance(oInst)
  Call oAPI.Return(oDiscoveryData)
End If

L'importation de ce pack d'administration dans OpsMgr entraîne le système correcte détecté, comme illustré figure 8 . Notez que chacune des propriétés (attributs) définies dans le script sont affichés dans l'interface utilisateur avec les valeurs associées.

fig08.gif

La figure 8 recherche Aide d'un script (cliquez sur l'image pour l'agrandir)

Lorsque vous examinez le script, vous verrez que la valeur pour un élément de découverte peut être transmise explicitement ou via une variable. Et conserver N'oubliez pas que, comme indiqué précédemment, si le champ Nom complet de la propriété particulière (attribut) dans la classe a été laissé vide, les en-têtes de colonne FileName, FileDirectory et FileDescription (voir figure 8 ) aurait été vides également.

Considérations supplémentaires

conserver suivi des versions Lorsque vous travaillez dans la console de création, il est courant pour générer plusieurs modifications avant que vous avez terminé. Vous devez vous assurer que chaque révision pour une utilisation dans OpsMgr est enregistrée avec le numéro de version incrémenté.

Le numéro de version est accessible dans la console de création par en sélectionnant Fichier | Propriétés de pack de gestion. Échec d'incrémente le numéro de version peut entraîner l'importation d'un nouveau pack de gestion via un existant avec les mêmes numéros de version. Cela peut entraîner la confusion lors de l'importation.

scellé ou déscellée? Lorsque le pack de gestion est terminé, vous devez décider si doivent être scellé de production à des fins ou déscellée gauche. Il existe avantages à quitter le pack de gestion déscellée, telles que la capacité de stocker remplace directement dans le pack de gestion. Mais il existe plusieurs raisons intéressantes pour sceller un pack de gestion personnalisée avant d'introduire dans l'environnement de production :

  • Scellement un pack de gestion personnalisée pour utiliser dans la production est une bonne pratique.
  • Le scellage permet une meilleure contrôle de version et une meilleure contrôle de modification.
  • Le scellage permet l'utilisation des mêmes procédures opérationnelles pour les packs de gestion personnalisée, ainsi que commercial. Nécessiter différentes procédures, tels qu'emplacement remplace personnalisé et des packs de gestion commerciale, introduit beaucoup de confusion.
  • Les classes créées dans un pack de gestion desceller sera visible et utilisable par des autres MPOs stockées dans le même pack de gestion. Le scellage permet utilisable indépendamment d'où se trouve le MPO des objets.
  • Une bibliothèque de packs de gestion desceller « source » peut être conservé sous contrôle des administrateurs OpsMgr pour empêcher les modifications fortuites ou non intentionnelle.

Cibles de présentation est entièrement essentiels au succès avec OpsMgr. Un poster appelé règles et moniteur ciblage Best Practices est disponible au format .PDF au go.microsoft.com/fwlink/?LinkId=125048. Vous trouverez qu'il soit une référence très utile pour comprendre les cibles différents et lorsqu'il peuvent être appropriées d'utiliser.

Steve Rachui est ingénieur support dédié avec le premier champ Ingénierie groupe chez Microsoft. Il a pris en charge SMS depuis la version 1.2 et MOM de version 2000. Steve est joignable au steverac@microsoft.com.