600 likes | 711 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! Ez egy „back office” forgatókönyv; „productionsystem”-eken még élesebb hatások.
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 • Elég nagy és bonyolult környezetben az ad-hoc megoldások szuboptimálisak • 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”
Konfigurációkezelés - tematika Házi feladat: CIM és WMI
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 + NULL (de nem asszociációban)
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/standards/cim • PowerShell WMI Explorer WPF Edition • Win32_ComputerSystem • Messze nem csak konfigurációkezelés: • Win32_Process • Javasolt felkészülés a következő előadásra: • wbemtest.exe • de csak óvatosan!
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 • Metamodellek és modellek egy .mof állományban! • A szintaxisra itt nem térünk ki
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 • root\MSAPPS12 névtér megnyitása, Win32_PowerpointPresentation példányok • Qualifier-ek: „OffProv12” (abstract) __Provider __Win32Provider
Ö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 vagyWS-Management • Lekérdezőnyelv: CIM QueryLanguage • 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 „wireprotocol” • „CIM Operations over HTTP” • CIM QueryLanguage mint lekérdezőnyelv • „CIM QueryLanguageSpecification”
WBEM: CIM-XML Kliens Kliens lib/tool HTTP „Operations” „CIM in XML” „CIM Object Manager” (CIMOM) „Provider” „Provider” „Provider” „Provider”
Példa: egy tulajdonság lekérdezése <?xml version="1.0" encoding="utf-8" ?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="87872" PROTOCOLVERSION="1.0"> <SIMPLEREQ><IMETHODCALL NAME="GetProperty"> <LOCALNAMESPACEPATH> <NAMESPACE NAME="root"/> <NAMESPACE NAME="myNamespace"/> </LOCALNAMESPACEPATH> <IPARAMVALUE NAME="InstanceName"> <INSTANCENAME CLASSNAME="MyDisk"> <KEYBINDING NAME="DeviceID"> <KEYVALUE>C:</KEYVALUE></KEYBINDING> </INSTANCENAME> </IPARAMVALUE> <IPARAMVALUE NAME="PropertyName"> <VALUE>FreeSpace</VALUE>[…] </IMETHODCALL></SIMPLEREQ></MESSAGE> </CIM>
Példa: lekérdezésre válasz HTTP/1.1 200 OK Content-Type: application/xml; charset="utf-8" Content-Length: xxxx Ext: Cache-Control: no-cache Man: http://www.dmtf.org/cim/mapping/http/v1.0 ; ns=73 73-CIMOperation: MethodResponse <?xml version="1.0" encoding="utf-8" ?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="87872" PROTOCOLVERSION="1.0„><SIMPLERSP> <IMETHODRESPONSE NAME="GetProperty"> <IRETURNVALUE> <VALUE>6752332</VALUE> </IRETURNVALUE> </IMETHODRESPONSE> </SIMPLERSP></MESSAGE></CIM>
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