620 likes | 734 Views
Intelligens rendszerfelügyelet. Konfigurációkezelés. Kocsis Imre http://mit.bme.hu/~ikocsis. Forgatókönyv 1. Megérkezett a bérszámfejtő program frissítése (új GUI) – telepíteni kellene. …hova?. Munkavállalói emlékezet „Kockás füzet” Visio (Konfiguráció) adatbázis?.
E N D
Intelligens rendszerfelügyelet Konfigurációkezelés Kocsis Imre http://mit.bme.hu/~ikocsis
Forgatókönyv 1. Megérkezett a bérszámfejtő program frissítése (új GUI) – telepíteni kellene. …hova? • Munkavállalói emlékezet • „Kockás füzet” • Visio • (Konfiguráció) adatbázis? Nézzük végig a munkaállomásokat. Azokról van valami listánk…?
Forgatókönyv 1. Rendben; melyiken is van bérszámfejtő szoftver és milyen verziójú? • Munkavállalói emlékezet • „Kockás füzet” • Visio • (Konfiguráció) adatbázis?
Forgatókönyv 1. És ha nem frissek az adatok? • Odamegyünk • ssh/RDP/VNC/… • Házilagos „varázslat”… • Platformtámogatás?
Forgatókönyv 1. Ok, akkor kezdjünk neki; távoli MSI install… ?!?@#! 1. Délután három van; nem elég hogy nem tudok dolgozni, a mai munkám elveszett.
Forgatókönyv 1. 2. Negyedéves zárás holnap. …? 3. A GUI szép, csak egy pár dolog most nem megy. Tesztelte ezt valaki? Ki engedélyezte? Álljunk gyorsan vissza mentésre!
Forgatókönyv 2. Melyik gépek is szolgálják ki? ?!?@#! Nem megy a vállalati portál!!! Ühm… 15 szerver, 2 hálózat… Monitorozó rendszer mérései?
Forgatókönyv 2. Megvan, az egyik adatbázis került inkonzisztens állapotba. 2 x = ? $ Tanulságok?
1. konfiguráció-adatbázisok • Igény: konfiguráció adatbázisok • Nem triviális méretű rendszerek • Területek és „silók” szerint több adatbázis lesz! • HW • Hálózati eszközök és topológia (~IP szintig) • OS platformok és szoftverek – leltár • SW licenszek! • OS és alkalmazás/kiszolgáló beállítások • Szolgáltatások erőforrások • … Ha tényleg adatbázis: modellezni is kell… Minden esetben új adatmodell? CommonInformationModel
2. szabványosítás • Igény: konfigurációs aspektusok távoli lekérdezése/módosítása • Kitérő: mikor és miért nem optimális? • SSH + $foo parancs • SSH + expect • … • Windows…? • A „konfigurációkezelés” koncepcionálisan erősen keveredik egyéb operatív feladatokkal!
2. szabványosítás • Mi szabványosítható? • Hordozóprotokoll • Ötletek? • Üzenet-típusok és paraméterezésük • Feltételezve a kérdés/válasz + események modellt • Üzenetekben szállított adatok modellje • Miért ≠ az előbbi adatmodellel? • Létező szabványok? • SNMP, CIM-XML, WMI, WS-Management (WinRM), WSDM, JMX, …
Konfigurációkezelés – architektúra? Konfigurációs adatbázis/ Konfiguráció-menedzser Tárolás vagy igény esetén lekérdezés? Beavatkozás?
Konfigurációkezelés – architektúra? Relációs adatbázis, OO adatbázis/modelltér, nem OO memóriastruktúrák, … Jól szabványosítható: Adatmodell/modell leírónyelv Adatmodellek Konfigurációs adatbázis/ Konfiguráció-menedzser Export/import: Adatmodell Adatok
Konfigurációkezelés – architektúra? Kliens Hordozóprotokoll Operációk Adatok Konfigurációs adatbázis/ Konfiguráció-menedzser Jól szabványosíthatók
Konfigurációkezelés – architektúra? Kliens lib/tool Jellemző hoszt határ Praktikum… Konfigurációs adatbázis/ Konfiguráció-menedzser Technológiafüggő
Az architektúra, amire szabványokat illesztünk Kliens Kliens lib/tool Hordozóprotokoll Operációk Adatok Konfigurációs adatbázis/ Konfiguráció-menedzser „Provider” „Provider” „Provider” „Provider” Jellemzően nem szabványos
3. folyamatok • Igény: megfelelő folyamatok • Konfiguráció-változás bevezetésére • Eltérés monitorozására és kezelésére • Mennyire jól szabványosítható? • „bestpractice” gyűjtemények: minták • Minimálisan: fogalmi keretrendszer • ITIL – „adapt & adopt”
4. CMDB • Igény: konfigurációs adatbázisok között kapcsolat • Pl.: fizikai hely, IP cím és szolgáltatás más DB-ben • Egyesítés? Federáció? • Metamodell harmonizáció és egyesítés? • Hiányzó kapcsolatok • Az igazi hozzáadott érték… • … cserébe nehéz feladat • ITIL v3: „Configuration Management DataBase”
CIM (CommonInformationModel) Kibocsájtó:Distributed Management TaskForce (OMG) Megalkotók: IBM, HP, EMC, VMware, Symantec, … Verziók: CIM Schema: 2.20 (2008) CIM InfrastructureSpecification: 2.5 (preliminary, 2008) Cél: menedzsment információk objektum-orientált modellezése és szabványos modellek megadása
Rendszermenedzsment és modellezés • Rendszermenedzsment: azobjektumorientáltmodellezésadódik • Különösen a konfiguráció-menedzsmentben Menedzsment akciók modellezése Entitás-jellemzők modellezése Kapcsolatok, tartalmazások modellezése
OO modellezés és menedzsment célok • “standalone” menedzsmenteszközbelső OO adatmodellel • szokásosmodellvezéreltfejlesztés • Menedzsmenteszközök OO adatcseréje • „Mely számítógépeken van Windows OS, és ezek mikor lettek utoljára frissítve” • A távolimenedzsmentoperációi mint objektumtér módosítások • Példányosítás: „hozzunk létre új felhasználót” • Metódushívás: „indítsuk újra az OS-t” • …
A Common Information Model • Szabványos, kiterjeszthető rendszermenedzsment adatmodell („információs modell”) • Windows Management Instrumentation! • CoreModel: általános fogalmak • Példák: ManagedElement, Setting, Location, FRU • CommonModel: szokásos területek technológia-független modelljei • Példák: Application, Database, Device • ExtensionSchemas: technológiaspecifikus kiterjesztések
A CIM jellemző alkalmazásai Kliens Kliens lib/tool Szabvány/kiterj. metamodell és modellek, .mof formátumban „CIM Object Manager” (CIMOM) „Provider” „Provider” „Provider” „Provider”
A CIM jellemző alkalmazásai Kliens Kliens lib/tool Hordozóprotokoll Operációk Adatok „CIM Object Manager” (CIMOM) Szabvány/kiterjesztett metamodell és modellek, valamilyen „konkrét szintaxissal” „Provider” „Provider” „Provider” „Provider”
A CIM Meta Schema • Metametamodell: „CIM Meta Schema” • Szokásos fogalmak • Osztály, példány, metódus, tulajdonság, asszociáció • CIM specifikus fogalmak • Séma, trigger, jelzés, minősítő (qualifier) • UML-ben részlegesen felrajzolható • A (meta)modelleket is (kvázi) UML-ben szokás vizualizálni • A szabványos konkrét szintaxis szöveges
A CIM Meta Schema egy osztálynév egy sémában egyedi kell legyen Metaadat-típusok kontrollált bővíthetőségéért (pl. Units = „bytes”) nincs többszörös öröklés referencia típusa példány állapotváltás vagy hozzáférés felismerése Trigger eredményeként jön létre
CIM Meta Schema • Példányosítás • Def.: „egy osztály azon példányok halmaza, melyek ugyanazon metódusokkal és tulajdonságokkal rendelkeznek” • A definiáló osztály tulajdonságaihoz értékek • NEM nevesített elemek! (minősítő) • Kulcs ([key]) tulajdonságok • Értékadás: adattípusok? • Tulajdonságok, referenciák, paraméterek, visszatérési értékek, minősítők • Csak a beépített típusok vagy azok tömbjei {u/s}int{8/16/32/64}, string, boolean, real{32/64}, Datetime, char 16 + <classname> ref – erősen típusos!
A CIM Schema (V2.20) struktúrája • CIM_Schema • CIM_Application • CIM_Application-J2eeAppServer • CIM_Core • CIM_Database • CIM_Device • CIM_Event • CIM_InteropCIM_IPsecPolicy • CIM_Metrics • CIM_Network • CIM_Physical • CIM_Policy • CIM_Security • CIM_Support • CIM_System • CIM_User A teljes modell hatalmas. Viszont: egy eszköz „CIM megfelelősége” pusztán a képesség MOF állományok betöltésére és exportálására
CIM • http://www.dmtf.org • CIM_System megtekintése (Visio) • wbemtest.exe ( a Windows mélyén tényleg van ilyen) • „show MOF” • Messze nem csak konfigurációkezelés: Win32_Process
Managed Object Format • ManagedObjectFormat: szöveges leírónyelv • Felfogható a CIM Meta Schema konkrét szintaxisaként • Menedzsment információk deklaratív leírása • Egy „MOF specifikáció”: mofSpecification= *mofProduction mofProduction = compilerDirective| classDeclaration| assocDeclaration| indicDeclaration| qualifierDeclaration| instanceDeclaration Modell és példány-információ akár együtt is!
Osztálydeklaráció //This is the MOF specificationforour //customtemperaturesensor. [Description("temp. sensorclass")] classSensor_TempSensor : CIM_ManagedElement{ [Description("Meas. station ID"), MaxLen(64)] stringStationID = "UNDEFINED"; sint8 GetCentigrade([IN] datetimeAtTime); booleanIsComponentOK([IN] Sensor_SensorComponent REF Component); }; Séma neve (az _ előtt) Öröklés Osztály minősítők
MOF állomány alapú adatcsere Névtér: „olyan objektum, amely által megadott hatókörben az objektumok kulcsaik szerint egyediek”
CIM objektumok megnevezése Teljes mértékben implementációfüggő Implementáció-független N.B. 1. A névterek átlapolódhatnak tartalmukat nézve. N.B.2. Két azonos „modelpath”-ú objektum két különböző névtérben referálhat a valóságban különböző entitásokra
CIM névterek • A különböző CIMOM-implementációk szokásosan tárolnak önmagukra vonatkozó metaadatokat • Wbemtest.exe • root névtérhez csatlakozás • __NAMESPACE osztály példányai • Rekurzív! • root\MSAPPS12 névtér megnyitása, Win32_PowerpointPresentation példányok
Összefoglaló • A CommonInformationModel: • Definiál egy nyelvet menedzsment adatok objektum orientált modellezésére (MOF) • Megadja modelleknek egy igen tág, konkrét technológiáktól független, hierarchikus, kiterjeszthető halmazát • A modellek UML-ben jól vizualizálhatóak • A modellek (sémák) MOF és grafikus formátumban is elérhetőek
Linkek • CIM Schema: 2.20 (2008) • http://www.dmtf.org/standards/cim/cim_schema_v220 • CIM InfrastructureSpecification: 2.5 (preliminary, 2008) • http://www.dmtf.org/standards/published_documents/DSP0004_2.5.0.pdf • CIM szabványos leképezése UML-re (nem tárgyaltuk, preliminary): • www.dmtf.org/standards/published_documents/DSP0219.pdf
Web BasedEnterprise Management (WBEM) Kibocsájtó:Distributed Management TaskForce (OMG) Cél:CIM-et támogató rendszermenedzsment protokollok
Szabványos adatmodelltől a protokollokig • A CIM a saját felhasználásával kapcsolatban több kérdést szándékoltan nyitva hagy • Hozzáférési protokoll • Egy CIMOM, mint kiszolgáló milyen kéréseket értelmezzen? • Hogyan válaszoljon? • Mi legyen a hordozóprotokoll és mi a beágyazás? • Lekérdezőnyelv? • Szolgáltatás-felderítés? WMI: COM/DCOM, zárt
Web Based Enterprise Management • A WBEM nem egy szabvány, hanem szabvány-készlet • Protokoll: CIM-XML vagy WS-Management • Lekérdezőnyelv: CIM Query Language • Szolgáltatás-felderítés: WBEM Discovery Using the Service Location Protocol (SLP)
WBEM Kliens Kliens lib/tool Hordozóprotokoll Operációk Adatok „CIM Object Manager” (CIMOM) A WS-Management nem csak CIM beágyazását engedi meg „Provider” „Provider” „Provider” „Provider”
Linkek • WebBased Enterprise Management • http://www.dmtf.org/standards/wbem/ • CIM-XML protocol • http://www.dmtf.org/standards/wbem/CIM-XML • Web Services for Management • http://www.dmtf.org/standards/wsman/ • CIM Query Language Specification • http://www.dmtf.org/standards/published_documents/DSP0202_1.0.0.pdf
CIM-XML Kibocsájtó:Distributed Management TaskForce Verzió: XML DTD: 2.2.0 (final, 2007) Representation of CIM in XML: 2.2.0 (final, 2007) CIM Operations over HTTP: 1.2.0 (final, 2007) Cél: CIM hordozó és interop. protokoll
CIM-XML • Cél: XML-ben reprezentált CIM információ-csere HTTP felett • Információ-reprezentáció XML-ben • Egy XML DTD + dokumentáció („Representation of CIM in XML”) • HTTP mint „wire protocol” • „CIM Operations over HTTP” • CIM Query Language mint lekérdezőnyelv • „CIM Query Language Specification”
WBEM: CIM-XML Kliens Kliens lib/tool HTTP „Operations” „CIM in XML” „CIM Object Manager” (CIMOM) „Provider” „Provider” „Provider” „Provider”
CIM reprezentálása XML-ben • Szabványos XML DTD • Kifejezőerő: MOF fedőhalmaza • A DTD részben a CIM metasémát írja le • A MOF-hoz hasonlóan: osztály, referencia, tulajdonság, … elemek • A „metaséma-leképezés” helyett a „séma-leképezés” kezelhetetlen lenne (minden sémához külön DTD, XML névterek, …) • Teljes DTD: • Deklarációs elemek (MOF) • + üzenet (message) elemek
WBEM (CIM-XML): eszköztámogatás • OpenPegasus • Red Hat Enterprise Linux • VMware ESX Server • IBM AIX Pegasus CIM Server • HP WBEM Services • Microsoft System Center Operations Manager 2007 Cross Platform ExtensionsBeta (csak kliens) • … • openWBEM • SUSE Linux Enterprise Server • WBEM Services • Solaris WBEM Services • SBLIM („sublime”): StandardsBased Linux Instrumentation • pyWBEM