Невозможно создать запланированный запрос через az cli - как выполняется синтаксический анализ условия?

Я пытаюсь настроить оповещение о запросе журнала через az cli, но я не могу получить параметр --condition для принятия запроса с цитатой в нем.

E.g.:

az monitor scheduled-query create -n "Log Alert" -g rg --scopes /subscriptions/xxxx/resourceGroups/xxxx/providers/microsoft.insights/components/ai --condition "count 'customEvents | where name == "Event" ' > 360" --description "Check something"

Но я просто получаю эту ошибку:

cli.azure.cli.core.azclierror : BadRequestError: BadRequest: {
  "error": {
    "message": "The request had some invalid properties",
    "code": "BadArgumentError",
    "correlationId": "xxxx",
    "innererror": {
      "code": "SemanticError",
      "message": "A semantic error occurred.",
      "innererror": {
        "code": "SEM0100",
        "message": "'where' operator: Failed to resolve scalar expression named 'Event'"
      }
    }
  }
}
BadRequestError: BadRequest: {
  "error": {
    "message": "The request had some invalid properties",
    "code": "BadArgumentError",
    "correlationId": "xxxx",
    "innererror": {
      "code": "SemanticError",
      "message": "A semantic error occurred.",
      "innererror": {
        "code": "SEM0100",
        "message": "'where' operator: Failed to resolve scalar expression named 'Event'"
      }
    }
  }
}

Я копирую пример в docs https://docs.microsoft.com/en-us/cli/azure/ext/scheduled-query/monitor/scheduled-query?view=azure-cli-последний#ext_scheduled_query_az_monitor_scheduled_query_create, но я не могу найти правильную комбинацию кавычек или escape-символов, чтобы разобрать это, я пробовал из Windows PowerShell и облачной оболочки bash, но это не имеет значения.


person mattb    schedule 22.01.2021    source источник
comment
Если ответ полезен, не могли бы вы принять его в качестве ответа?   -  person Ivan Yang    schedule 27.01.2021


Ответы (2)


Я подозреваю, что новая функция создания запланированного запроса через cli недоступна. Я обнаружил проблему, в которой упоминается, что этот код не объединен с главная ветка.

Чтобы избежать двойных кавычек для "Event", вы можете изменить его как \"Event\". А затем запустите команду, вы получите сообщение об ошибке, в котором указано использование --condition. Но я пробовал много способов в соответствии с этими советами, безуспешно. Что касается проблемы, упомянутой выше, я, хотя в настоящее время невозможно создать ее с помощью лазурного cli.

введите описание изображения здесь

Если использование azure cli не обязательно, вы можете попробовать использовать azure powershell Командлет New-AzScheduledQueryRule.

person Ivan Yang    schedule 25.01.2021

Это связано с тем, что у вас, вероятно, нет таблицы событий в Schema, которую можно проверить на плитке "Журналы" в рабочей области Log Analytics:

введите описание изображения здесь

Далее проверьте, следовали ли вы Соберите источники данных журнала событий Windows с помощью агента Log Analytics для настройки журналов.

Ознакомьтесь с проблемой GitHub № 38928, связанной с той же проблемой.

Редактировать:


Я обратился к PG и узнал, что это известная проблема, и она будет исправлена ​​в этот PR. Пожалуйста, обратите внимание, что он находится на стадии рассмотрения и скоро будет выпущен.

person singhh-msft    schedule 22.01.2021
comment
Я не уверен, что здесь есть большая разница, таблица, в которой я ищу, - это customEvents, а столбец - это имя, я могу запустить свой запрос на портале, я также могу сделать предупреждение, используя пользовательский интерфейс портала, просто не команда az cli. imgur.com/a/fgDIddp - person mattb; 23.01.2021
comment
Вы выполняете команду по правильной подписке? - person singhh-msft; 23.01.2021
comment
У вас также должна быть таблица событий. В вашем сообщении об ошибке говорится: Оператор «где»: не удалось разрешить скалярное выражение с именем «Событие». - person singhh-msft; 23.01.2021
comment
Событие - это поисковый запрос. Я смотрю в таблице customEvents для анализа приложений. Если я изменю условие, чтобы оно выглядело так, я все равно получаю ту же ошибку --condition "count 'customEvents | search "Event" ' > 360" - person mattb; 23.01.2021
comment
Вы запускаете команду --condition "count 'customEvents | search "Event" ' > 360" в пользовательском интерфейсе портала? Потому что на скриншоте, которым вы поделились, есть другой запрос, в котором нет Event. - person singhh-msft; 25.01.2021
comment
Я использую customEvents | search "Event" в пользовательском интерфейсе портала - оборачивая его ошибками подсчета, - но событие - это поисковый запрос, а не таблица - это аналитические сведения о приложении, которые я ищу, если это помогает. - person mattb; 25.01.2021
comment
Хорошо, позвольте мне вернуться к группе продуктов и сообщить вам решение. - person singhh-msft; 25.01.2021
comment
Хорошие новости: я обратился к PG и узнал, что это известная проблема, и она будет исправлена ​​в этом PR: github.com/Azure/azure-cli-extensions/pull/2904/files. Пожалуйста, обратите внимание, что он находится на стадии рассмотрения и скоро будет выпущен. - person singhh-msft; 28.01.2021
comment
Если этот ответ поможет, не могли бы вы принять его как ответ, призванный помочь сообществу? - person singhh-msft; 29.01.2021