#azure-virtual-machine #azure-data-explorer #kql
#azure-virtual-machine #azure-data-explorer #kql
Вопрос:
Я новичок в языке запросов kusto. Мне нужна помощь, как проверить, как долго виртуальная машина завершает работу, и если она запущена, как долго она работала. не могли бы вы помочь мне в этом, потому что я только начинаю изучать язык запросов kusto.
Комментарии:
1. не могли бы вы решить мою проблему как можно скорее
2. Если я хочу использовать Azure Data Explorer для написания языка запросов kusto, то как я могу написать
Ответ №1:
Обновление 1:
Оригинальный ответ:
Когда виртуальная машина остановлена, в Deallocate Virtual Machine
таблицу AzureActivity отправляются события с именами. Когда виртуальная машина запускается, в Start Virtual Machine
таблицу AzureActivity отправляются события с именами.
Таким образом, легко найти, что виртуальная машина запущена или остановлена с помощью приведенного ниже запроса (в Azure monitor -> Журналы):
AzureActivity
| where OperationName in ("Deallocate Virtual Machine","Start Virtual Machine")
| project TimeGenerated,OperationName
| top 1 by TimeGenerated desc
Если результат запроса содержит Deallocate Virtual Machine
, это означает, что виртуальная машина находится в состоянии остановки. В противном случае она находится в состоянии выполнения. Снимок экрана, как показано ниже:
Далее, поскольку мы знаем состояние виртуальной машины, например, виртуальная машина находится в состоянии остановки, мы можем написать запрос, чтобы вычислить, сколько времени прошло с момента ее остановки. Для этого мы можем использовать текущее время для уменьшения времени остановки виртуальной машины. Запрос, подобный приведенному ниже:
let stop_time = AzureActivity
| where OperationName == "Deallocate Virtual Machine"
| project TimeGenerated
| top 1 by TimeGenerated desc;
AzureActivity
| extend the_time = now() - toscalar(stop_time)
| project the_time
| top 1 by the_time
Вот результат теста:
Вы также можете изменить приведенный выше запрос, чтобы рассчитать время выполнения, если виртуальная машина сейчас находится в состоянии выполнения.
Комментарии:
1. я получаю эту ошибку при использовании ur solution: оператор ‘where’: не удалось разрешить выражение таблицы или столбца с именем ‘AzureActivity’
2. Не могли бы вы помочь мне в этом
3. Не могли бы вы помочь, как решить эту проблему
4. @AFFISHMOHAMMAD, где вы запускали этот запрос? вы запускаете ее с azure portal -> monitor -> logs?
5. Я не понял, почему я получаю эту ошибку. не могли бы вы решить мои проблемы как можно скорее