Как получить событие в Log Analytics с различными значениями параметра xml? - PullRequest
0 голосов
/ 10 января 2019

Во-первых, я надеюсь, что вы правильно поняли мой вопрос. В Log Analytics у меня есть запрос так:

Event
| where EventID == 7036 and Computer == "testSQLServer"
and ParameterXml == "<Param>SQL Server (MSSQLSERVER)</Param><Param>stopped</Param><Param>-</Param>"

Этот запрос работает, и теперь я хочу получить результаты, которые соответствуют "EventID" и "Computer" И одному из пула записей "ParameterXml".

Если быть точным, этот пул содержит 5 строк "ParameterXml":

ParameterXml == "<Param>SQL Server (MSSQLSERVER)</Param><Param>stopped</Param><Param>-</Param>" 
ParameterXml == "<Param>SQL Server Agent (MSSQLSERVER)</Param><Param>stopped</Param><Param>-</Param>"
ParameterXml == "<Param>SQL Server Integration Services 13.0</Param><Param>stopped</Param><Param>-</Param>"
ParameterXml == "<Param>SQL Server Analysis Services (MULTIDIM)</Param><Param>stopped</Param><Param>-</Param>"

Так как мне получить результаты с «EventID» и «Computer» И одним из этих «ParameterXml»? Я не хочу получать результаты, если все "ParameterXml" подходят или другие "ParameterXml" (из других служб) подходят для поиска.

Я пробовал разными способами «И» и «ИЛИ», но я не понимаю.

У вас есть идея? Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Более элегантный способ - использовать оператор "in" вместо "or", как показано ниже:

Event
| where EventID == 7036 and Computer == "testSQLServer"
| where ParameterXml in ("<Param>SQL Server (MSSQLSERVER)</Param><Param>stopped</Param><Param>-</Param>", 
                         "<Param>SQL Server Agent (MSSQLSERVER)</Param><Param>stopped</Param><Param>-</Param>", 
                         "<Param>SQL Server Integration Services 13.0</Param><Param>stopped</Param><Param>-</Param>",
                         "<Param>SQL Server Analysis Services (MSSQLSERVER)</Param><Param>stopped</Param><Param>-</Param>")
0 голосов
/ 10 января 2019

Хорошо, я попросил друга о помощи. Мне пришлось добавить еще оператор "где", поэтому правильный запрос:

Event
| where EventID == 7036 and Computer == "testSQLServer"
| where ParameterXml == "<Param>SQL Server (MSSQLSERVER)</Param><Param>stopped</Param><Param>-</Param>" 
or ParameterXml == "<Param>SQL Server Agent (MSSQLSERVER)</Param><Param>stopped</Param><Param>-</Param>" 
or ParameterXml == "<Param>SQL Server Integration Services 13.0</Param><Param>stopped</Param><Param>-</Param>" 
or ParameterXml == "<Param>SQL Server Analysis Services (MSSQLSERVER)</Param><Param>stopped</Param><Param>-</Param>"

Счастливого мониторинга!

...