Alerty WMI

Bartosz Ratajczyk
Bartosz RatajczykDatabase developer
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
1 of 13

Recommended

Wprowadzenie do knockout.js by
Wprowadzenie do knockout.jsWprowadzenie do knockout.js
Wprowadzenie do knockout.js3camp
659 views13 slides
final - flyer mkt editado by
final - flyer mkt  editadofinal - flyer mkt  editado
final - flyer mkt editadoRegiane Ceballos Gon
131 views1 slide
Balada Capricho by
Balada Capricho Balada Capricho
Balada Capricho Meio & Mensagem
1.1K views26 slides
RADIOACTIVE WASTE DISPOSAL IN SOUTH AFRICA IN 2015 STATUS AND RESEARCH AND DE... by
RADIOACTIVE WASTE DISPOSAL IN SOUTH AFRICA IN 2015 STATUS AND RESEARCH AND DE...RADIOACTIVE WASTE DISPOSAL IN SOUTH AFRICA IN 2015 STATUS AND RESEARCH AND DE...
RADIOACTIVE WASTE DISPOSAL IN SOUTH AFRICA IN 2015 STATUS AND RESEARCH AND DE...Alan Carolissen
815 views15 slides
Teknologi pakan dalam penggemukan sapi secara by
Teknologi pakan dalam penggemukan sapi secaraTeknologi pakan dalam penggemukan sapi secara
Teknologi pakan dalam penggemukan sapi secaraJabatan Veterinar selangor
346 views5 slides
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin... by
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz
1.7K views75 slides

More Related Content

More from Bartosz Ratajczyk

SQL Server + docker - pierwsze kroki by
SQL Server + docker - pierwsze krokiSQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze krokiBartosz Ratajczyk
364 views21 slides
OLE DB - kiedy FastLoad nie jest takie fast by
OLE DB - kiedy FastLoad nie jest takie fastOLE DB - kiedy FastLoad nie jest takie fast
OLE DB - kiedy FastLoad nie jest takie fastBartosz Ratajczyk
125 views10 slides
Jak działa rekurencyjne CTE? by
Jak działa rekurencyjne CTE?Jak działa rekurencyjne CTE?
Jak działa rekurencyjne CTE?Bartosz Ratajczyk
229 views29 slides
SqlSaturday Denmark 2017 - Automate your SSIS deployment process by
SqlSaturday Denmark 2017 - Automate your SSIS deployment processSqlSaturday Denmark 2017 - Automate your SSIS deployment process
SqlSaturday Denmark 2017 - Automate your SSIS deployment processBartosz Ratajczyk
470 views39 slides
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać by
"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
1.2K views61 slides
Zautomatyzuj swój proces wdrażania projektów SSIS by
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
231 views39 slides

More from Bartosz Ratajczyk(16)

OLE DB - kiedy FastLoad nie jest takie fast by Bartosz Ratajczyk
OLE DB - kiedy FastLoad nie jest takie fastOLE DB - kiedy FastLoad nie jest takie fast
OLE DB - kiedy FastLoad nie jest takie fast
Bartosz Ratajczyk125 views
SqlSaturday Denmark 2017 - Automate your SSIS deployment process by Bartosz Ratajczyk
SqlSaturday Denmark 2017 - Automate your SSIS deployment processSqlSaturday Denmark 2017 - Automate your SSIS deployment process
SqlSaturday Denmark 2017 - Automate your SSIS deployment process
Bartosz Ratajczyk470 views
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać by Bartosz 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ć
Bartosz Ratajczyk1.2K views
Zautomatyzuj swój proces wdrażania projektów SSIS by Bartosz Ratajczyk
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
Bartosz Ratajczyk231 views
How minimalloggingcanhelpme bartoszratajczyk_sql_sat534 by Bartosz Ratajczyk
How minimalloggingcanhelpme bartoszratajczyk_sql_sat534How minimalloggingcanhelpme bartoszratajczyk_sql_sat534
How minimalloggingcanhelpme bartoszratajczyk_sql_sat534
Bartosz Ratajczyk172 views
Szkolenia i certyfikacjesqlserver2016_plssug99 by Bartosz Ratajczyk
Szkolenia i certyfikacjesqlserver2016_plssug99Szkolenia i certyfikacjesqlserver2016_plssug99
Szkolenia i certyfikacjesqlserver2016_plssug99
Bartosz Ratajczyk282 views
Jak szybko przetwarzasz hurtowe ilości XML? by Bartosz Ratajczyk
Jak szybko przetwarzasz hurtowe ilości XML?Jak szybko przetwarzasz hurtowe ilości XML?
Jak szybko przetwarzasz hurtowe ilości XML?
Bartosz Ratajczyk321 views

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