Ha találkoztál már az alábbi ablakkal és nem voltak egyértelműek a látottak, akkor jó helyen jársz.

Egy kicsit menjünk vissza a kályhához.

Kétféle Management Pack létezik. Van Sealed (.MP) én van ami nem Sealed (.XML). Kicsit leegyszerűsítve van olvasható és van írható-olvasható csomag.

Sealed csomagokat leggyakrabban a gyártók készítenek alapvetően azért, hogy biztosítani tudják a kompatibilitást a későbbi csomagok esetén; másodsorban azért, hogy az integritást fenn tudják tartani. Sealed csomagot bárki tud gyártani, aki rendelkezik Strong Name-mel.

Unsealed csomagokat leggyakrabban a SCOM adminisztrátorok készítenek elsősorban azért, hogy a gyári csomagokban található alapbeállításokat felülbírálják; másodsorban azért, hogy egyedi szabályokat, monitorokat és egyéb beállításokat tároljanak benne. Unsealed csomagot bárki tud készíteni, aki rendelkezik Notepad-del :)

A Management Pack alapkoncepciókról általánosságban ebben a dokumentumban olvashatunk. Aki MP fejlesztésre adja a fejét az legalább egyszer olvassa el az említett irományt.

Az Operations Manager 2007-es verziójában minden egyedi felügyeleti megoldás készítésekor illetve a létező szabályok felülbírálatakor (override) alapértelmezetten a Default Management Pack-et ajánlja fel a beállítások tárolására. Ez egy hibás döntés eredménye, melyet a 2012-es verzióban már javítottunk, így nincs többé alapértelmezetten felajánlott Management Pack.

2007


2012

A Microsoft által kiadott csomagok leírásában is kivétel nélkül ajánlásként szerepel, hogy a módosításokat egy dedikált csomagban tároljuk. Példának kiragadom most a DNS Management Pack leírását (http://technet.microsoft.com/en-us/library/dd187155.aspx):

„Most vendor management packs are sealed so that you cannot change any of the original settings in the management pack file. However, you can create customizations, such as overrides or new monitoring objects, and save them to a different management pack. By default, Operations Manager 2007 saves all customizations to the default management pack. As a best practice, you should instead create a separate management pack for each sealed management pack you want to customize.

Az oldal alapvetően három okot említ, hogy miért ez a jó gyakorlat. Az első és a harmadik nem szorul különösebb magyarázatra, viszont a másodikat egy kicsit körüljárnám. Ez azt írja, hogy:

„This dependency requires you to delete the management pack with customizations before you can delete the original management pack.”

Ez így igaz, viszont nem az az egyetlen megoldás, hogy eltávolítjuk az egyedi csomagot (sok esetben ez egyébként sem megvalósítható). Az én megoldásom az, hogy távolítsuk el a hivatkozásokat, amik a Sealed csomagokra vonatkoznak.

Egy szemléltető példán keresztül bemutatom, hogy hol találjuk meg a hivatkozásokat és ezeket hogyan tudjuk eltávolítani. Egy egyszerű monitor beállításait fogjuk módosítani a Windows Server 2008 felügyeleti csomagban, letároljuk a módosítást a Default Management Pack-ben, majd megpróbáljuk eltávolítani az eredeti csomagot. Megvizsgáljuk a függőségeket, megkeressük a hivatkozást majd eltávolítjuk azt. Hajrá!

Első lépésként módosítjuk a CPU Percentage Utilization monitor beállításait és egyszerűen kikapcsoljuk. A módosítást a Default Management Pack-ben tároljuk:

Ezt ellenőrizhetjük is:

Továbbá azt is látjuk, hogy a Windows Server 2008 Operating System (Monitoring) csomagra van hivatkozás és nem tudjuk eltávolítani a Sealed csomagot:

Semmi baj, töröljük ki az előbb létrehozott beállítást. Ha most megnézzük az előbbi Override nézetet, akkor nem látjuk a beállítást, ellenben a függőségek között továbbra is szerepel a Default Management Pack. Ekkor jön a jogos kérdés, hogy hogyan lehet függőség a két csomag között, hogyha kitöröltem minden egyedi beállítást?

A válasz egyszerű: A beállítások törlődtek, de a hivatkozások nem. Ezt a következő lépésekkel azonban el tudjuk végezni:

    1. Exportáljuk ki a hivatkozott egyedi csomagot (esetünkben ez a Default Management Pack)

    2. Nyissuk meg a Microsoft.SystemCenter.OperationsManager.DefaultUser.xml fájlt a kedvenc szerkesztőnkkel

    3. Keressük meg az alábbi részt (az ID a lényeg):

    <Reference Alias="Windows2">
    <ID>Microsoft.Windows.Server.2008.Monitoring</ID>
    <Version>6.0.6989.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>

    4. Töröljük ki a teljes <Reference> részt

    5. Mentsük el az .XML-t

    6. Végül importáljuk vissza az Operations Manager-be

     

    Ha most megnézzük a függőségeket láthatjuk, hogy nincs ott a Default Management Pack, ergo eltávolítható a Sealed csomag:

    A fenti eljárást természetesen körültekintően kell elvégezni. Aki nem komfortos a folyamatban az végezzen pár tesztet. Elsőre ne a Default Management Pack legyen a cél, hanem egy erre a célra létrehozott teszt csomag, amivel nem csinálunk kárt, ha valami balul ütne ki.

    - Marci