Intelligens rendszerfelgyelet Konfigurcikezels Windowson Micskei Zoltn http mit

  • Slides: 50
Download presentation
Intelligens rendszerfelügyelet Konfigurációkezelés Windowson Micskei Zoltán http: //mit. bme. hu/~micskeiz Budapesti Műszaki és Gazdaságtudományi

Intelligens rendszerfelügyelet Konfigurációkezelés Windowson Micskei Zoltán http: //mit. bme. hu/~micskeiz Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék 1

Previously… § Modellezés § Címtárak § Konfiguráció kezelés o Konfiguráció kezelés alapok o Konfiguráció

Previously… § Modellezés § Címtárak § Konfiguráció kezelés o Konfiguráció kezelés alapok o Konfiguráció kezelés Windowson o Konfiguráció kezelés CMDB 2

Konfigurációkezelés általánosan Kliens Hordozóprotokoll Kliens lib/tool Operációk Adatok Konfigurációs adatbázis/ Konfiguráció-menedzser „Provider” 3

Konfigurációkezelés általánosan Kliens Hordozóprotokoll Kliens lib/tool Operációk Adatok Konfigurációs adatbázis/ Konfiguráció-menedzser „Provider” 3

Konfigurációkezelés Windowson Kliens Hordozóprotokoll Kliens lib/tool Operációk Adatok Windows Management Instrumentation (WMI) „Provider” 4

Konfigurációkezelés Windowson Kliens Hordozóprotokoll Kliens lib/tool Operációk Adatok Windows Management Instrumentation (WMI) „Provider” 4 MOF

Windows Management Instrumentation (WMI) 5

Windows Management Instrumentation (WMI) 5

WMI felhasználói szemszögből § CIM Object Manager Windowsra o „winmgmt” szolgáltatás o kiterjesztett sémakészlet

WMI felhasználói szemszögből § CIM Object Manager Windowsra o „winmgmt” szolgáltatás o kiterjesztett sémakészlet § A modern Windowsokon elérhető o Felügyeleti megoldások alapja § Interfész: COM/DCOM o IWbem. Services o lekérdezések, metódushívások, sémamódosítások, … o a CIM szabvány ilyeneket nem definiál! o Sokféle elérés: szkriptnyelvek, . NET… 6

WMI architektúra: felhasználói szemszög WMI információk felhasználása CIMOM: WMI szolgáltatás A lista bővíthető Forrás:

WMI architektúra: felhasználói szemszög WMI információk felhasználása CIMOM: WMI szolgáltatás A lista bővíthető Forrás: Soós Tibor és Szerényi László: Microsoft Power. Shell 1. 0 rendszergazdáknak – elmélet és gyakorlat 11

Példa: néhány WMI névtér, osztály rootcimv 2 directoryldap • Hardver • Win 32_Base. Board

Példa: néhány WMI névtér, osztály rootcimv 2 directoryldap • Hardver • Win 32_Base. Board • Win 32_Disk. Drive • OS • Win 32_Page. File • Win 32_Registry • Telepített szoftver • Win 32_Patch • Win 32_Product • Teljesítményszámlálók • Win 32_Perf. Raw. Data • ds_person • ds_group MicrosoftSql. Server • Sql. Service • Server. Settings Intel. NIC • IANet_Ethernet. Adapter 12

DEMO WBEM könyvtár, MOF fájlok § WMI részei: o C: windowssystem 32wbem § Itt

DEMO WBEM könyvtár, MOF fájlok § WMI részei: o C: windowssystem 32wbem § Itt találhatóak: o *. exe o dll: provider-ek megvalósítása o *. mof 13

WMI Query Language (WQL) § WMI: nagy mennyiségű adat § WQL: keresés, szűrés ezekben

WMI Query Language (WQL) § WMI: nagy mennyiségű adat § WQL: keresés, szűrés ezekben § SQL szerű szintaxis: o SELECT attrib FROM osztály WHERE feltétel § Példa: SELECT eventcode, message, sourcename FROM Win 32_NTLog. Event WHERE type = 'error' AND logfile ='system' 14

WMI Query Language (WQL) Kapcsolódó példányok lekérdezése § ASSOCIATORS OF kulcsszó § Példa: o

WMI Query Language (WQL) Kapcsolódó példányok lekérdezése § ASSOCIATORS OF kulcsszó § Példa: o ASSOCIATORS OF {Win 32_Logical. Disk. Device. ID="C: "} o Összes kapcsolódó példány bármilyen referenciából § Csak adott kapcsolat mentén: o ASSOCIATORS OF {Win 32_Logical. Disk. Device. ID="C: "} WHERE Assoc. Class = Win 32_System. Devices § WHERE Class. Defs. Only – csak osztályneveket 15

WMI elérése Távoli elérés (Vista előtt): DCOM Helyi gép: C++/COM, . NET, VBScript, Power.

WMI elérése Távoli elérés (Vista előtt): DCOM Helyi gép: C++/COM, . NET, VBScript, Power. Shell Kliens lib/tool Windows Management Instrumentation (WMI) „Provider” 17 MOF

WMI távoli elérés § Megvalósítás: DCOM hívások § Tűzfal beállítások engedélyezése o Távoli adminisztráció

WMI távoli elérés § Megvalósítás: DCOM hívások § Tűzfal beállítások engedélyezése o Távoli adminisztráció (TCP 135 -ös port) netsh firewall set service Remote. Admin enable 18

WMI felhasználása § Ad-hoc lekérdezések, utasítások o Pl. : wmic. exe § Szkriptek készítése

WMI felhasználása § Ad-hoc lekérdezések, utasítások o Pl. : wmic. exe § Szkriptek készítése o bonyolultabb műveletek, rendszeres feladatok o Pl. : VBScript, Power. Shell § Felhasználás. NET-es alkalmazásban o System. Management névtér osztályai § Rendszermenedzsment alkalmazáson keresztül o Pl. : MS System Center, HP Open. View… 19

WMI felhasználása –. NET § Menyi szabad hely van a C: meghajtón? Kapcsolódás a

WMI felhasználása –. NET § Menyi szabad hely van a C: meghajtón? Kapcsolódás a Management. Scope§ WQL lekérdezés végrehajtása távoli gépen hoz WQL lekérdezés Eredményhalmaz feldolgozása 21

WMI felhasználása – Power. Shell § Get-Wmi. Object cmdlet segítségével § Visszaadott objektum: o

WMI felhasználása – Power. Shell § Get-Wmi. Object cmdlet segítségével § Visszaadott objektum: o Típus: System. Management. Object o CIM-ben definiált tulajdonságok o Metódusok 22

WMI felhasználása – Power. Shell § Beépített CIM objektumok: § Eredmények szűrése: o WQL

WMI felhasználása – Power. Shell § Beépített CIM objektumok: § Eredmények szűrése: o WQL kifejezés átadása a -query paraméterben o -Filter paraméter: WQL where része csak o vagy: Power. Shell cmdletek használata § [wmi] típus használata o Wmi. Path string alapján objektum létrehozása o [wmi] '\geprootcimv 2: Win 32_Processor. Device. ID="CPU 0"' 23

WMI felhasználása – Power. Shell § Példa: keressük meg a memóriával kapcsolatos CIM objektumokat

WMI felhasználása – Power. Shell § Példa: keressük meg a memóriával kapcsolatos CIM objektumokat § Nézzük meg, hogy fut-e a W 32 Time szolgáltatás: 24

WMI felhasználása – Power. Shell § Egy kis segítség: Power. Shell WMI Explorer 25

WMI felhasználása – Power. Shell § Egy kis segítség: Power. Shell WMI Explorer 25

WMI felhasználása – Power. Shell § Melyik gépen nézzünk filmet este? param( [string[]] $computers

WMI felhasználása – Power. Shell § Melyik gépen nézzünk filmet este? param( [string[]] $computers = $(throw "Supply machines!") ) foreach ($computer in $computers){ # maximális monitor felbontás $screen. Size = (Get-Wmi. Object win 32_Desktop. Monitor -Computer. Name $computer | Measure-Object -Maximum -Property screenwidth). Maximum # van-e divx a gépen $divx = (Get-Wmi. Object win 32_codecfile -Computer. Name $computer | where {$_. filename -contains "divx"} | Measure-Object). Count write-host $computer $screen. Size $divx } 26

WMI fejlesztői szemszögből § Provider feladatai o Metódushívás hatására „történjen is valami” o Osztályok

WMI fejlesztői szemszögből § Provider feladatai o Metódushívás hatására „történjen is valami” o Osztályok példányai „a valóságot tükrözzék” o… § Megvalósító komponensek: WMI provider-ek o IWbem. Services-t implementáló COM kiszolgálók • Meglehetősen bonyolult implementáció o Alternatíva: . NET System. Management névtér 27

WMI Providerek Forrás: MSDN, http: //msdn. microsoft. com/en-us/library/aa 394553(VS. 85). aspx 28

WMI Providerek Forrás: MSDN, http: //msdn. microsoft. com/en-us/library/aa 394553(VS. 85). aspx 28

WMI Provider készítése. NET-ben § Adatok megadása: attribútumokkal o Wmi. Configuration: névtér megadása o

WMI Provider készítése. NET-ben § Adatok megadása: attribútumokkal o Wmi. Configuration: névtér megadása o Management. Entity: osztály dekorálása o Management. Probe: WMI-ból olvasható tulajdonság o Management. Task: WMI-ból elérhető metódus § Példányosítás: o Singleton: csak egy példánya van o Multi-instance: Management. Key adja meg, hogy melyik példány kell nekünk § Futtatási mód: o Coupled: WMI szolgáltatás folyamatán belül o Decoupled: külön folyamatban, az alkalmazással együtt § Egyszerű. NET WMI Provider futtatása 29

Egyszerű WMI Provider C#-ban Provider neve WMI-ból lekérdezhető tulajdonság 30 Hosting modell

Egyszerű WMI Provider C#-ban Provider neve WMI-ból lekérdezhető tulajdonság 30 Hosting modell

Web Services for Management (WS-Management) Kibocsátó: Megalkotók: Verzió: Cél: Distributed Management Task Force AMD,

Web Services for Management (WS-Management) Kibocsátó: Megalkotók: Verzió: Cél: Distributed Management Task Force AMD, Dell, Intel, Microsoft, Sun… első draft (2005. 09. ), aktuális: 1. 1. 0 (2010. 03. ) Webszolgáltatás alapú protokoll rendszerek menedzseléséhez 31

Konfigurációkezelés általánosan Kliens WS-Management Kliens lib/tool Operációk Adatok CIM Object Manager „Provider” 32

Konfigurációkezelés általánosan Kliens WS-Management Kliens lib/tool Operációk Adatok CIM Object Manager „Provider” 32

WS-Management § WBEM egyik protokollja § Web Service alapú o sok egyéb WS-* protokollra

WS-Management § WBEM egyik protokollja § Web Service alapú o sok egyéb WS-* protokollra épül § CIMOM elérése, lekérdezése, menedzselése o De használható nem csak CIMOM-hoz! 33

WS-Managenent példa üzenet Melyik gép Mit akarunk Gép melyik erőforrásával Ha az erőforrás egy

WS-Managenent példa üzenet Melyik gép Mit akarunk Gép melyik erőforrásával Ha az erőforrás egy csoport (pl. CPU-k), akkor a csoport melyik tagja 34

WS-Management: műveletek § DISCOVER o erőforrások felderítése § GET, PUT, CREATE, DELETE o erőforrások

WS-Management: műveletek § DISCOVER o erőforrások felderítése § GET, PUT, CREATE, DELETE o erőforrások kezelése § ENUMERATE o gyűjtemények elemeinek felsorolása § SUBSCRIBE o eseményekre feliratkozás § EXECUTE o metódusok meghívása 35

Felhasznált protokollok Resource Addressing WS-CIM Schema Translation Integráció WS-MAN WSDL Binding for CIM Leíró

Felhasznált protokollok Resource Addressing WS-CIM Schema Translation Integráció WS-MAN WSDL Binding for CIM Leíró WS-Management Alkalmazás WS-Transfer WS-Enum WS-Eventing Adatátvitel Security profiles Biztonság XML, SOAP, WS-Addressing Üzenetküldés HTTPS, TCP Szállítás 36

Implementációk § Windows Remote Management (Win. RM) o WMI lekérdezés és távoli parancssor o

Implementációk § Windows Remote Management (Win. RM) o WMI lekérdezés és távoli parancssor o CLI, scripting API § Openwsman; F/OSS o Kiszolgáló: CIM-XML-t „fordít” WS-Managementre • Adapter tervezési minta; SBLIM SFCC, mint kliens o CLI, mod_wsman, Ruby kötések § wiseman; F/OSS o Java alapú kliens és kiszolgáló megvalósítás támogatása 37

Ki használja? § Windows Server 2008 R 2 o Server Manager távoli gépre o

Ki használja? § Windows Server 2008 R 2 o Server Manager távoli gépre o Power. Shell 2. 0 Remoting § VMware ESX és ESXi o openwsman deamon futtatása § Microsoft Operations Manager o Cross Platform: Linux gépek monitorozása § HP System Insights Manager §… 38

DEMO ESXi lekérdezése Win. RM-ből § Kliens: Windows 7 (Win. RM) § Kiszolgáló: VMware

DEMO ESXi lekérdezése Win. RM-ből § Kliens: Windows 7 (Win. RM) § Kiszolgáló: VMware ESXi (openwsman) winrm enum cimv 2/CIM_Processor -r: https: //galadriel. ftslab. local/wsman -skip. CAcheck -skip. CNcheck -auth: basic -username: root -password: password § VMware API leírás 39

Windows Remote Management (Win. RM) 40

Windows Remote Management (Win. RM) 40

Windows Remote Management (Win. RM) § Új távoli menedzsment szolgáltatás a Windowsban § WS-Management

Windows Remote Management (Win. RM) § Új távoli menedzsment szolgáltatás a Windowsban § WS-Management implementáció § Elérhetőség: o Windows 7, Server 2008 R 2: gyárilag (2. 0) o Vista, Server 2008: gyárilag (1. 0), telepíthető (2. 0) o XP, Windows Server 2003 R 2: külön telepíthető (2. 0 is) § WMI beágyazható Win. RM-be, de több annál 41

Win. RM vs. WMI § WMI: o DCOM-ot használ a távoli elérésre o Nem

Win. RM vs. WMI § WMI: o DCOM-ot használ a távoli elérésre o Nem szabványos, nem tűzfalbarát § Win. RM: o WS-Management o DMTF szabvány, http/https porton keresztül 42

Win. RM architektúra 43

Win. RM architektúra 43

Win. RM inicializálása § Win. RM részei: o Win. RM szolgáltatás o Win. RM

Win. RM inicializálása § Win. RM részei: o Win. RM szolgáltatás o Win. RM listener: WS-Management üzenetek fogadására szolgáló végpont definíciója § Inicializálás: 44

Példa WMI lekérdezés Win. RM-en keresztül § Művelet: GET § Erőforrás URI: WMI objektum

Példa WMI lekérdezés Win. RM-en keresztül § Művelet: GET § Erőforrás URI: WMI objektum § Távoli gép, hitelesítési információ megadása 45

További műveletek § Enumerate: o Több objektum lekérése o winrm enumerate wmicimv 2/Win 32_Logical.

További műveletek § Enumerate: o Több objektum lekérése o winrm enumerate wmicimv 2/Win 32_Logical. Disk § Invoke: o Beavatkozás o winrm invoke Stop. Service wmicimv 2/win 32_service? name=W 32 Time 46

WMI objektum elérése § Resource URI forma: o prefix/osztály? tulajdonság=érték § URI WMI prefix:

WMI objektum elérése § Resource URI forma: o prefix/osztály? tulajdonság=érték § URI WMI prefix: o http: //schemas. microsoft. com/wbem/wsm an/1/wmi/<Wmi. Namespace> § URI példa: o http: //schemas. microsoft. com/wbem/wsm an/1/wmi/root/cimv 2/Win 32_Service? Nam e=Winmgmt 47

Alias-ok használata winrm help alias wmi = http: //schemas. microsoft. com/wbem/wsman/1/wmi wmicimv 2 =

Alias-ok használata winrm help alias wmi = http: //schemas. microsoft. com/wbem/wsman/1/wmi wmicimv 2 = http: //schemas. microsoft. com/wbem/wsman/1/wmi/roo t/cimv 2 = http: //schemas. dmtf. org/wbem/wscim/1/cim -schema/2 winrm = http: //schemas. microsoft. com/wbem/wsman/1 wsman = http: //schemas. microsoft. com/wbem/wsman/1 shell = http: //schemas. microsoft. com/wbem/wsman/1/windows /shell 48

Win. RM felhasználása § Win. RM. cmd parancssori eszköz § Power. Shell 2. 0

Win. RM felhasználása § Win. RM. cmd parancssori eszköz § Power. Shell 2. 0 Remoting § Win. RM API (WSMan Automation) o pl. : VBScript, C# § XML üzenet legyártása egyéb módon 49

Win. RM példa üzenet § Win 32_Logical. Disk WMI objektum lekérdezése 50

Win. RM példa üzenet § Win 32_Logical. Disk WMI objektum lekérdezése 50

Biztonság § Titkosítás: o Nincs / HTTPS csatorna / XML üzenet titkosítása § Hitelesítés:

Biztonság § Titkosítás: o Nincs / HTTPS csatorna / XML üzenet titkosítása § Hitelesítés: o Basic / Negotiate / Kerberos … § Távoli fél azonosítása o Tanúsítvány / tartományi környezetben Kerberos § Trusted hosts § Leírások: o winrm help auth o winrm help config o Win. RM teszt két Vista között 51

Win. RM használata Power. Shellből § Beépített cmdletek a winrm. cmd feladataira o Lásd:

Win. RM használata Power. Shellből § Beépített cmdletek a winrm. cmd feladataira o Lásd: Get-Help about_wsman o Set-WSMan. Quick. Config, Test-WSMan, Get-WSMan. Instance, cd wsman: § Power. Shell Remoting o parancsok/szkriptek végrehajtása távoli gépen o Win. RM-et használ alul o Interaktív / batch mód (akár több gépen párhuzamosan) 53

DEMO Power. Shell remoting § Követelmény: o Power. Shell 2. 0, Win. RM 2.

DEMO Power. Shell remoting § Követelmény: o Power. Shell 2. 0, Win. RM 2. 0 o Lásd: Get-Help about_remoting_requirements § Remoting engedélyezése: Enable-PSRemoting § Egy parancs távoli végrehajtása: Invoke-Command -Computer. Name nev -Script. Block {…} § Távoli munkamenet: o Enter-PSSession gepnev § Lásd: Get-Help about_remoting 54

Összefoglalás Hordozóprotokoll Operációk Adatok Power. Shell Remoting Kliens winrm. cmd lib/tool WS-Management Kliens PS:

Összefoglalás Hordozóprotokoll Operációk Adatok Power. Shell Remoting Kliens winrm. cmd lib/tool WS-Management Kliens PS: Get-Wmi. Object DCOM Konfigurációs adatbázis/ WMI CIM Konfiguráció-menedzser „Provider” WMI Providers 55 MOF

Összefoglalás § Konfigurációkezelés Windowson: o CIM, WMI § Saját alkalmazásunk kiegészítése: o WMI provider

Összefoglalás § Konfigurációkezelés Windowson: o CIM, WMI § Saját alkalmazásunk kiegészítése: o WMI provider készítése § Távoli lekérdezés, beavatkozás: o Win. RM (alacsony szinten) o Power. Shell 2. 0 Remoting 56

További információ § WMI o MSDN: WMI o WMI Blog § Win. RM o

További információ § WMI o MSDN: WMI o WMI Blog § Win. RM o MSDN: Windows Remote Management o Windows Remote Management Command-Line Tool (Winrm. cmd) § Openwsman o http: //www. openwsman. org/ 57