Jak powszechnie wiadomo monitorowanie w Operations Manager 2007 opiera się na plikach XML-owych zwanych Management Packami. Ich format został dość dobrze opisany w System Center Operations Manager Authoring Guide i na stronie http://www.authormps.com. Choć i tak do pisania nowych MP podpatruję to co da się wyklikać z GUI, przede wszystkim konsoli Authoring Console, ale też z części Authoring w Operations Console [1] oraz co jest dostępne w innych MP, zwłaszcza tych prostszych, pochodzących z community (choć niektóre dzieła np. Raphaela Burri są nie dość że pomysłowe ale i dość skomplikowane :)).
Tak stworzonego XML-a (po weryfikacji przy przy pomocy narzędzia mpverify.exe - lub Tools -> Verify w Authoring Console) można załadować do OpsMgra. Ma on wady będące po części zaletami. Można go z poziomu OpsMgr modyfikować (w tym zupełnie od czapy i przez pomyłkę dopisać np. dodatkowe overridy z nie związanego z nim MP). Nie można się do definicji przez niego stworzonych odwoływać. By móc to robić a i przy okazji zablokować zapis do MP trzeba go "seal", podpisać kluczem (nie z X.509) jak to pokazuje np. tutorial Jonathana Almquista. I tu dochodzimy do banalnej konstatacji tej notki: chciałem wykonać kopię (w praktyce eksport) MP które są nie podpisane lub podpisane moim kluczem. Aby przede wszystkim ustalić jakie klucze są w moim środowisku w użyciu wykonuję polecenie:
get-managementPack | group KeyToken
a potem to już z górki. :)
UPDATE: choć przyszło mi do głowy, że nie mam możliwości stwierdzenia jaką firmą "podpisałem" opakowany MP.
[1] Choć tu zwykle otwieram tak stworzonego XML - bawię się w search and replace identyfikatorów takich workflowów - zmieniam je zgodnie z sugerowanym przez Authoring Console schematem pełna IDkowa nazwa MP, i dalej typ i opis. Dzięki temu niektóre błędy które się trafiają są dosć czytelne (na pod orędziu mam teraz tylko taki:
Event Type: Error
Event Source: HealthService
Event Category: Health Service
Event ID: 1102
Date: 4/4/2009
Time: 11:55:45 PM
User: N/A
Computer: MOM
Description:
Rule/Monitor "Microsoft.Windows.Server.AD.Site.PerfRollupMonitor" running for instance "NET23" with id:"{548235DF-875D-C076-18AC-522F67C9AD83}" cannot be initialized and will not be loaded. Management group "MG"
gdyby był stworzony przez Operations Console identyfikator Microsoft.Windows.Server.AD.Site.PerfRollupMonitor wyglądałby mniej więcej tak: MomGUIGeneratedRule545883w23442d355. Mało czytelne, prawda?