Jak na kontrolu záznamů ve Windows registrech

Možnosti monitorování aplikačního prostředí pomocí Operations Manager 2007 jsou daná tím, jaké máme k dispozici management packy.

Autor: Pavel  Řepa, Microsoft MVP, IT senior konzultant

Management packy mohou být k dispozici buď od výrobce aplikačního řešení, které chceme monitorovat nebo od komerčního výrobce management packů (např.: Quest Software). Pokud však chceme monitorovat aplikace, pro které management packy neexistují, nemusíme zoufat. V rámci Operations Manager 2007 R2 máme k dispozici šablony pro monitorování služeb a procesů. Díky těmto šablonám jsme schopni vytvořit základní pravidla pro monitorování konkrétních služeb a procesů na dostupnost a vytěžování CPU a operační paměti. Pro konkrétní aplikaci může být ale kritická také dostupnost záznamů v registrech. V tomto článku si popíšeme jak vytvořit monitorovací pravidla pro dohled dostupnosti klíče a hodnoty registru, abychom získali.

Jak vytvořit monitor pro kontrolu existence klíče registru

Pro vytvoření monitoru použijeme Authoring Console z System Center Operations Manager 2007 R2 Authoring Resource Kitu  a zabudovaných vlastností operátorské konzole. Práce v Authoring Console není zcela jednoduchá, přičemž je samozřejmostí, že musíme znát základní strukturu management packů.

Spustíme Authoring Console a vytvoříme nový management pack (new empty management pack), který pojmenujeme např.: RegKeySampleMP. V dalším kroku přiřadíme nově vytvořenému management packu vlastnost MonitorType. V rámci Operations Manageru 2007 je na výběr mnoho MonitorType (např.: Basic Service Monitor, Event Timer Reset, Event Manual Reset), ale kontrola registrů zde chybí.
V levé části Authoring Console se přepneme do části Type Library -> Monitor Types. V části Action zvolíme New –> Composite Monitor Type a pojmenujeme jej “RegKeySampleMP.RegExistsMonitorType”. Otevře se nám okno s nastavením, kde na úvodní stránce (záložka General) doplníme název “DT - Check Existence of RegKey Monitor Type”.

Na záložce States definujeme typ monitoru. Vybereme 2 State Monitor Type a doplníme ID of state 1: RegKeyExists a ID of state 2: RegKeyMissing.

Na záložce Member modules doplníme datový zdroj pro přístup do registrů pomocí dvoustupňové detekce (jeden pro dobrý stav (RegKeyExists) a jeden pro špatný stav (RegKeyMissing). Stiskneme Add a vyhledáme datový zdroj Microsoft.Windows.RegistryProvider. Doplníme ModuleID (zde RegistryDS) a stiskneme OK. Otevře se nám nastavení provideru, kde doplníme následující:

ComputerName – místo původního testu doplníme:  “$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$”  (bez uvozovek)  Jedná se o proměnou, která řekne workflow, aby se propojila s registry lokálního počítače

  • AttributeName – Název atributu, (zde XeroxRegExists).
  • Path – cesta ke klíči v registrech. HKLM se nedoplňuje (zde SOFTWARE\Xerox).
  • PathType – použijeme “0” pro klíč, “1” je pro hodnotu.
  • Attribute Type – použijeme 0 – Boolean (true or false).
  • Frequency – vložíme hodnotu 86400 (frekvence ve vteřinách = 1 den).

PR_TNF_SCOM a práce s registry/reg001.PNG PR_TNF_SCOM a práce s registry/reg002.PNG

Po doplnění informací stiskneme OK. Na záložce Member Modules přidáme další modul. V okně Choose Module Type vyhledáme System.ExpressionFilter, který pojmenujeme CDExists. Tento filtr nám umožní přidávat podmínky do výstupu z monitorovacího typu. Doplníme parametry pro XPathQuery – použijeme jméno atributu z konfigurace provideru ve tvaru Values/XeroxRegExists. Pro volbu Operator ponecháme hodnotu Equals.

Na záložce Member Modules přidáme třetí modul. V okně Choose Module Type znovu vyhledáme System.ExpressionFilter, který pojmenujeme CDMissing. Doplníme parametry pro XPathQuery – použijeme jméno atributu z konfigurace provideru ve tvaru Values/XeroxRegExists. Pro volbu Operator ponecháme hodnotu Equals.

PR_TNF_SCOM a práce s registry/reg003.PNG PR_TNF_SCOM a práce s registry/reg004.PNG

 Po doplnění modulů na záložce Regular definujeme pořadí činností pro jednotlivé stavy. Nejprve označíme stav RegKeyExists a ve spodní části okna vybereme pořadí jednotlivých modulů. Pro RegistryDS vybereme CDExists a pro CDExists vybereme Monitor State Output. Dále označíme stav RegKeyMissing, ve spodní části okna vybereme pořadí pro RegistryDS vybereme CDMissing a pro CDMissing vybereme Monitor State Output.

 PR_TNF_SCOM a práce s registry/reg006.PNG PR_TNF_SCOM a práce s registry/reg007.PNG

Nyní máme vytvořený MonitorType a v dalším kroku vytvoříme monitor. V rámci Authoring Console se přepneme do části Health Model a zde vybereme Monitors. Z Action panelu zvolíme New -> Custom Unit Monitor. Doplníme název (zde - RegKeySampleMP.RegExistsMonitor) a otevřou se nám vlastnosti, kde na úvodní stránce vyplníme jméno (zde DT - Monitor for Existence of Xerox Registry), v poli Target vybereme z menu Microsoft.Windows.Server.OperatingSystem a v poli Parent Monitor vybereme System.Health.ConfigurationState. Při konfiguraci monitoru vždy vyberte konkrétní monitor (Availability, Configuration, Performance nebo Security), nikdy nenechávejte původní nastavení.

Na záložce Configuration doplníme MonitorType stisknutím odkazu Browse for a Type a vybráním námi dříve vytvořeného. Na záložce Health tab vybereme z nabídky správné stavy pro jednotlivé podmínky. Na záložce Alerting můžeme doplnit parametry pro automatické generování události.

A to je vše. Nyní otestujeme nový management pack v testovacím prostředí. Z menu Tools v Authoring Console vyberme položku Export MP to Management Group a doplníme název Operations Manager management serveru. Pokud se podíváme do operátorské konzole Operations Manageru, uvidíme zde nyní nový management pack a po krátké také první hlášení o chybějících klíčích registru.

PR_TNF_SCOM a práce s registry/reg013.PNG

Jak vytvořit monitor pro kontrolu hodnoty v klíči registru

Kontrola dostupnosti klíče sama o sobě ještě neznamená, že aplikace instalovaná ve Windows má správně nastaveny konfigurační hodnoty. Mnoho aplikací ukládá tyto informace do registrů. A my si nyní popíšeme, jak tyto informace sledovat pomocí Operations Manageru 2007.

Pokud chceme vytvořit kontrolu dostupnosti hodnot v klíčích registru, budeme postupovat podobně jako u klíče samotného. V Authoring Console vytvoříme nový management pack (Windows Application (Registry), který pojmenujeme např.: RegValueSampleMP. V dalším kroku přiřadíme nově vytvořenému management packu vlastnost MonitorType.

V levé části Authoring Console se přepneme do části Type Library -> Monitor Types. V části Action zvolíme New –> Composite Monitor Type a pojmenujeme jej “RegValueSampleMP.MonitorType”. Otevře se nám okno s nastavením, kde na úvodní stránce (záložka General) doplníme název “DT - Check Existence of Reg Value Monitor Type”.

Na záložce States definujeme typ monitoru. Vybereme 2 State Monitor Type a doplníme ID of state 1: RegValueExists a ID of state 2: RegValueMissing.

Na záložce Member modules doplníme datový zdroj pro přístup do registrů pomocí dvoustupňové detekce (jeden pro dobrý stav (RegKeyExists) a jeden pro špatný stav (RegKeyMissing). Stiskneme Add a vyhledáme datový zdroj Microsoft.Windows.RegistryProvider. Doplníme ModuleID (zde RegistryDS) a stiskneme OK. Otevře se nám nastavení provideru, kde doplníme následující:

Poznámka: Zde je hlavní rozdíl mezi kontrolou klíče a hodnoty registru.

ComputerName – místo původního testu doplníme:  “$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$”  (bez uvozovek)  Jedná se o proměnou, která řekne workflow, aby se propojila s registry lokálního počítače

  • AttributeName – název atributu, zde použijeme LogLevel.
  • Path – cesta ke klíči v registrech. HKLM se nedoplňuje (zde SOFTWARE\Jalasoft\Xian Network Manager Connector Module).
  • PathType – použijeme “1” pro hodnotu, “0” je pro klíč.
  • Attribute Type – použijeme 1 – String (podrobnější informace o datových typech naleznete ZDE).
  • Frequency – vložíme hodnotu 86400 (frekvence ve vteřinách = 1 den).

Nyní na záložce Member Modules přidáme další modul. V okně Choose Module Type vyhledáme System.ExpressionFilter, který pojmenujeme CDValueExists. Tento filtr nám umožní přidávat podmínky do výstupu z monitorovacího typu. Doplníme parametry pro XPathQuery – použijeme jméno atributu z konfigurace provideru ve tvaru Values/LogLevel. Pro volbu Operator doplníme hodnotu Matches regular expression a nakonec doplníme ^(1|2|3|4)$.

PR_TNF_SCOM a práce s registry/reg019.PNG

Na záložce Member Modules přidáme třetí modul. V okně Choose Module Type znovu vyhledáme System.ExpressionFilter, který pojmenujeme CDValueMissing. Doplníme parametry pro XPathQuery – použijeme jméno atributu z konfigurace provideru ve tvaru Values/LogLevel. Pro volbu Operator doplníme hodnotu Does not match regular expression a nakonec doplníme ^(1|2|3|4)$.

PR_TNF_SCOM a práce s registry/reg020.PNG

Po doplnění modulů na záložce Regular definujeme pořadí činností pro jednotlivé stavy. Nejprve označíme stav RegKeyExists a ve spodní části okna vybereme pořadí jednotlivých modulů. Pro RegistryDS vybereme CDValueExists a pro CDValueExists vybereme Monitor State Output. Dále označíme stav RegKeyMissing, ve spodní části okna vybereme pořadí pro RegistryDS vybereme CDValueMissing a pro CDValueMissing vybereme Monitor State Output.

Nyní máme vytvořený MonitorType a v dalším kroku vytvoříme monitor. V rámci Authoring Console se přepneme do části Health Model a zde vybereme Monitors. Z Action panelu zvolíme New -> Custom Unit Monitor. Doplníme název (zde - RegValueSampleMP.RegExistsMonitor) a otevřou se nám vlastnosti, kde na úvodní stránce vyplníme jméno (zde DT - Monitor for Existence of Registry Value), v poli Target vybereme z menu Microsoft.Windows.Server.OperatingSystem a v poli Parent Monitor vybereme System.Health.ConfigurationState. Na záložce Configuration doplníme MonitorType stisknutím odkazu Browse for a Type a vybráním námi dříve vytvořeného. Na záložce Health tab vybereme z nabídky správné stavy pro jednotlivé podmínky. Na záložce Alerting můžeme doplnit parametry pro automatické generování události.

Kontrolu funkčnosti lze opět provést po importu do Operations Manageru 2007 pomocí operátorské konzole.

Články ze série Microsoft TechNet nevytváří redakce Živě.cz, ale partneři programu Microsoft TechNet. Jsou publikovány v rámci mediálního partnerství Živě.cz a společnosti Microsoft.

Váš názor Další článek: Intel zkouší placené zvýšení výkonu procesoru pomocí aktualizace

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,