Azure Kusto - как разобрать строку, ища последний узел? - PullRequest
0 голосов
/ 25 июня 2019

Я пишу запросы kusto для анализа состояния базы данных, когда простые запросы выполняются в течение длительного времени.

Например: data и type = SQL в зависимостях - это sql-серверзапрос.Если его продолжительность в метке времени 2019-06-24T16: 41: 24.856>> = 15000 (> = 15 секунд), я хотел бы запросить и проанализировать dtu_consump_percent из AzureMetrics с 2019-06-24T16: 40: 24.856 до 2019-06-24T16: 42: 24,856.(За 1 мин до и 1 мин после завершения запроса), чтобы определить состояние базы данных в данный момент времени.

Вопрос: Интересно, кто-нибудь может дать мне указатели на получение имени базы данных из целевого столбца из зависимостей?

target выглядит следующим образом:

tcp:sqlserver-xxx-xxxxxx.database.windows.net | DDDDD

и мне нужно извлечь DDDDD, чтобы присоединиться к столбцу ресурсов AzureMetrics.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Как говорит Йони, вы можете использовать синтаксический анализ или подстроку:

let T = datatable(Value:string) [
'tcp:sqlserver-xxx-xxxxxx.database.windows.net | DDDDD',
'udp:appserver-yyy-yyyyyy.database.contoso.com | EEEEE'
];
T
// Look for the pipe and take everything after it as the value
| extend ToSubstring = substring(Value, indexof(Value, "|")+1)

https://docs.microsoft.com/en-us/azure/kusto/query/substringfunction

Однако, если вы обнаружите, что делаете это много, вы можете захотеть взятьпосмотрите на пользовательские поля:

https://docs.microsoft.com/en-us/azure/azure-monitor/platform/custom-fields

0 голосов
/ 25 июня 2019

Вы можете использовать оператор parse:

https://docs.microsoft.com/en-us/azure/kusto/query/parseoperator

print value = 'tcp:sqlserver-xxx-xxxxxx.database.windows.net | DDDDD'
| parse value with * "| " database

это возвращает:

| value                                                 | database |
|-------------------------------------------------------|----------|
| tcp:sqlserver-xxx-xxxxxx.database.windows.net | DDDDD | DDDDD    |
...