SlideShare a Scribd company logo
1 of 13
Alerty WMI
83. spotkanie PLSSUG Warszawa, 08.01.2015.
O czym będzie?
Prosty alert WMI
Co to w ogóle jest WMI?
I jak jest zbudowane?
Co to WQL?
Jak alerty WMI działają od środka?
Alerty trochę bardziej złożone
O mnie
Bartosz Ratajczyk
programista baz danych
(i aplikacji)
czasem też administrator
T-SQL, ETL, C#, PHP, JS, SAS 4GL
http://bartekr.net | b.ratajczyk@gmail.com | MCTS, MCP
Narzędzia
WMI Explorer
(http://wmie.codeplex.com)
wbemtest.exe
Kilka skrótów
WMI: Windows Management Instrumentation
WBEM: Web-Based Enterprise Management
CIM: Common Information Model
DMTF: Distributed Management Task Force
Elementy WMI
Przestrzeń nazw
Klasa
Instancja (obiekt)
Metoda
Właściwość
WQL (WMI Query Language)
Implementacja CQL (CIM Query Language)
WMI Object Query
WMI Event Query
WMI Schema Query
Podstawowa składnia WQL
SELECT { * | property [, …n ] }
FROM class
WHERE where_condition
SELECT *
FROM DDL_LOGIN_EVENTS
WQL -> EVENT NOTIFICATION
SELECT *
FROM DDL_DATABASE_LEVEL_EVENTS
WHERE DatabaseName = 'AdventureWorks'
USE AdventureWorks ;
GO;
CREATE EVENT NOTIFICATION
SQLWEP_76CF38C1_18BB_42DD_A7DC_C8820155B0E9
ON DATABASE
WITH FAN_IN
FOR DDL_DATABASE_LEVEL_EVENTS
TO SERVICE
'SQL/Notifications/ProcessWMIEventProviderNotification/v1.0',
'A7E5521A-1CA6-4741-865D-826F804E5135'
SQL Agent - rejestr
• EventWMILimit
• EventWMIPeekInterval
• alertAllowWMIRemoteEvents (DWORD, 1)
WMI Event Query
SELECT *
FROM <__InstanceOperationEvent>
WITHIN <interval>
WHERE
TargetInstance ISA <class>
AND <conditions>
__InstanceOperationEvent
 __InstanceCreationEvent
 __InstanceModificationEvent
 __InstanceDeletionEvent
WMI Event Query
SELECT *
FROM __InstanceModificationEvent
WITHIN 600
WHERE
TargetInstance ISA „WIN32_LogicalDisk”
AND TargetInstance.Freespace <
10000000000
Co zapamiętać
• Możemy monitorować cały serwer z jednego
miejsca
• Alerty WMI wykorzystują Event Notifications
oraz Service Brokera
• Kolejna opcja do śledzenia co się dzieje na
serwerze

More Related Content

More from Bartosz Ratajczyk

SQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze krokiSQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze krokiBartosz Ratajczyk
 
OLE DB - kiedy FastLoad nie jest takie fast
OLE DB - kiedy FastLoad nie jest takie fastOLE DB - kiedy FastLoad nie jest takie fast
OLE DB - kiedy FastLoad nie jest takie fastBartosz Ratajczyk
 
Jak działa rekurencyjne CTE?
Jak działa rekurencyjne CTE?Jak działa rekurencyjne CTE?
Jak działa rekurencyjne CTE?Bartosz Ratajczyk
 
SqlSaturday Denmark 2017 - Automate your SSIS deployment process
SqlSaturday Denmark 2017 - Automate your SSIS deployment processSqlSaturday Denmark 2017 - Automate your SSIS deployment process
SqlSaturday Denmark 2017 - Automate your SSIS deployment processBartosz Ratajczyk
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbaćBartosz Ratajczyk
 
Zautomatyzuj swój proces wdrażania projektów SSIS
Zautomatyzuj swój proces wdrażania projektów SSISZautomatyzuj swój proces wdrażania projektów SSIS
Zautomatyzuj swój proces wdrażania projektów SSISBartosz Ratajczyk
 
How minimalloggingcanhelpme bartoszratajczyk_sql_sat534
How minimalloggingcanhelpme bartoszratajczyk_sql_sat534How minimalloggingcanhelpme bartoszratajczyk_sql_sat534
How minimalloggingcanhelpme bartoszratajczyk_sql_sat534Bartosz Ratajczyk
 
Szkolenia i certyfikacjesqlserver2016_plssug99
Szkolenia i certyfikacjesqlserver2016_plssug99Szkolenia i certyfikacjesqlserver2016_plssug99
Szkolenia i certyfikacjesqlserver2016_plssug99Bartosz Ratajczyk
 
Jak szybko przetwarzasz hurtowe ilości XML?
Jak szybko przetwarzasz hurtowe ilości XML?Jak szybko przetwarzasz hurtowe ilości XML?
Jak szybko przetwarzasz hurtowe ilości XML?Bartosz Ratajczyk
 
Operacje minimalnie logowane
Operacje minimalnie logowaneOperacje minimalnie logowane
Operacje minimalnie logowaneBartosz Ratajczyk
 
Czy mi się przyda hierarchyid?
Czy mi się przyda hierarchyid?Czy mi się przyda hierarchyid?
Czy mi się przyda hierarchyid?Bartosz Ratajczyk
 

More from Bartosz Ratajczyk (16)

SQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze krokiSQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze kroki
 
OLE DB - kiedy FastLoad nie jest takie fast
OLE DB - kiedy FastLoad nie jest takie fastOLE DB - kiedy FastLoad nie jest takie fast
OLE DB - kiedy FastLoad nie jest takie fast
 
Jak działa rekurencyjne CTE?
Jak działa rekurencyjne CTE?Jak działa rekurencyjne CTE?
Jak działa rekurencyjne CTE?
 
SqlSaturday Denmark 2017 - Automate your SSIS deployment process
SqlSaturday Denmark 2017 - Automate your SSIS deployment processSqlSaturday Denmark 2017 - Automate your SSIS deployment process
SqlSaturday Denmark 2017 - Automate your SSIS deployment process
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
 
Zautomatyzuj swój proces wdrażania projektów SSIS
Zautomatyzuj swój proces wdrażania projektów SSISZautomatyzuj swój proces wdrażania projektów SSIS
Zautomatyzuj swój proces wdrażania projektów SSIS
 
How minimalloggingcanhelpme bartoszratajczyk_sql_sat534
How minimalloggingcanhelpme bartoszratajczyk_sql_sat534How minimalloggingcanhelpme bartoszratajczyk_sql_sat534
How minimalloggingcanhelpme bartoszratajczyk_sql_sat534
 
Szkolenia i certyfikacjesqlserver2016_plssug99
Szkolenia i certyfikacjesqlserver2016_plssug99Szkolenia i certyfikacjesqlserver2016_plssug99
Szkolenia i certyfikacjesqlserver2016_plssug99
 
Podstawy ETL z SSIS
Podstawy ETL z SSISPodstawy ETL z SSIS
Podstawy ETL z SSIS
 
XML w SQL Server w praktyce
XML w SQL Server w praktyceXML w SQL Server w praktyce
XML w SQL Server w praktyce
 
Jak szybko przetwarzasz hurtowe ilości XML?
Jak szybko przetwarzasz hurtowe ilości XML?Jak szybko przetwarzasz hurtowe ilości XML?
Jak szybko przetwarzasz hurtowe ilości XML?
 
Operacje minimalnie logowane
Operacje minimalnie logowaneOperacje minimalnie logowane
Operacje minimalnie logowane
 
Po co mi Temporal Tables?
Po co mi Temporal Tables?Po co mi Temporal Tables?
Po co mi Temporal Tables?
 
Co to te CTE?
Co to te CTE?Co to te CTE?
Co to te CTE?
 
O co chodzi z FILESTREAM?
O co chodzi z FILESTREAM?O co chodzi z FILESTREAM?
O co chodzi z FILESTREAM?
 
Czy mi się przyda hierarchyid?
Czy mi się przyda hierarchyid?Czy mi się przyda hierarchyid?
Czy mi się przyda hierarchyid?
 

Alerty WMI

  • 1. Alerty WMI 83. spotkanie PLSSUG Warszawa, 08.01.2015.
  • 2. O czym będzie? Prosty alert WMI Co to w ogóle jest WMI? I jak jest zbudowane? Co to WQL? Jak alerty WMI działają od środka? Alerty trochę bardziej złożone
  • 3. O mnie Bartosz Ratajczyk programista baz danych (i aplikacji) czasem też administrator T-SQL, ETL, C#, PHP, JS, SAS 4GL http://bartekr.net | b.ratajczyk@gmail.com | MCTS, MCP
  • 5. Kilka skrótów WMI: Windows Management Instrumentation WBEM: Web-Based Enterprise Management CIM: Common Information Model DMTF: Distributed Management Task Force
  • 6. Elementy WMI Przestrzeń nazw Klasa Instancja (obiekt) Metoda Właściwość
  • 7. WQL (WMI Query Language) Implementacja CQL (CIM Query Language) WMI Object Query WMI Event Query WMI Schema Query
  • 8. Podstawowa składnia WQL SELECT { * | property [, …n ] } FROM class WHERE where_condition SELECT * FROM DDL_LOGIN_EVENTS
  • 9. WQL -> EVENT NOTIFICATION SELECT * FROM DDL_DATABASE_LEVEL_EVENTS WHERE DatabaseName = 'AdventureWorks' USE AdventureWorks ; GO; CREATE EVENT NOTIFICATION SQLWEP_76CF38C1_18BB_42DD_A7DC_C8820155B0E9 ON DATABASE WITH FAN_IN FOR DDL_DATABASE_LEVEL_EVENTS TO SERVICE 'SQL/Notifications/ProcessWMIEventProviderNotification/v1.0', 'A7E5521A-1CA6-4741-865D-826F804E5135'
  • 10. SQL Agent - rejestr • EventWMILimit • EventWMIPeekInterval • alertAllowWMIRemoteEvents (DWORD, 1)
  • 11. WMI Event Query SELECT * FROM <__InstanceOperationEvent> WITHIN <interval> WHERE TargetInstance ISA <class> AND <conditions> __InstanceOperationEvent  __InstanceCreationEvent  __InstanceModificationEvent  __InstanceDeletionEvent
  • 12. WMI Event Query SELECT * FROM __InstanceModificationEvent WITHIN 600 WHERE TargetInstance ISA „WIN32_LogicalDisk” AND TargetInstance.Freespace < 10000000000
  • 13. Co zapamiętać • Możemy monitorować cały serwer z jednego miejsca • Alerty WMI wykorzystują Event Notifications oraz Service Brokera • Kolejna opcja do śledzenia co się dzieje na serwerze