Политика предупреждений GCP Monitoring с использованием MQL-запроса

Я пытаюсь создать политику предупреждений MQL в мониторинге GCP через консоль, но когда я пытаюсь сохранить ее, она продолжает выдавать мне ошибку. «Ошибка: невозможно сохранить политику предупреждений. Запрос содержит недопустимый аргумент».

Насколько я вижу, мой запрос действителен. В редакторе запросов не сообщается о проблемах, и он отображает диаграмму, которую я ожидал.

Это представление json, созданное создателем политики:

{
  "displayName": "kube_deployment_replicas_mismatch",
  "documentation": {
    "content": "The expected number of replicas have not been available for 15 minutes or longer",
    "mimeType": "text/markdown"
  },
  "userLabels": {
    "type": "application"
  },
  "conditions": [
    {
      "displayName": "kube_deployment_replicas_mismatch",
      "conditionMonitoringQueryLanguage": {
        "duration": "900s",
        "trigger": {
          "count": 1
        },
        "evaluationMissingData": "EVALUATION_MISSING_DATA_INACTIVE",
        "query": "{ kubernetes.io/anthos/kube_deployment_spec_replicas\n; kubernetes.io/anthos/kube_deployment_status_replicas_available }\n| [metric.deployment]\n| ratio\n| condition val() != 1"
      }
    }
  ],
  "alertStrategy": {
    "autoClose": "604800s"
  },
  "combiner": "OR",
  "enabled": true,
  "notificationChannels": [
    "projects/xxxxxxxxx/notificationChannels/xxxxxxxxxxx"
  ]
}
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
0
0
167
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Некоторые операции с таблицами MQL требуют выравнивания входных данных.

Если вы передаете невыровненные входные данные для этих операций с таблицами, MQL автоматически выравнивает данные за вас.

Но это может вызвать проблемы в запросе оповещения. В этих случаях будет запрещено создавать политику предупреждений, использующую этот тип запроса.

Одним из решений является добавление | window 30s после операции, которая неявно выравнивает данные для вас. Попытка сделать то же самое для предоставленного вами запроса работает с созданием оповещения.

Вот пример запроса:

fetch istio_canonical_service
| metric 'istio.io/service/server/request_count'
| { filter (metric.response_code < 499); ident }
| group_by [metric.destination_service_namespace]
| ratio
| fraction_less_than(0.50)
| condition val() > 0.20
| window 30s # correctly sets the window to 30s

Перед добавлением | window 30s я также получил то же самое после его добавления, политика предупреждений была успешно создана.

Для получения дополнительной информации следуйте этому официальному документу.

Хороший, спасибо! Это действительно работает :)

user2399020 31.03.2023 14:33

Обратите внимание, здесь сказано не использовать window в политиках предупреждений. sliding может быть более подходящим. В итоге я добавил временную group_by, которая по умолчанию скользящая: { kubernetes.io/anthos/kube_deployment_spec_replicas; kubernetes.io/anthos/kube_deployment_status_replicas_availab‌​le } | [metric.deployment] | group_by 60s, max(val()) | ratio | condition val() != 1

user2399020 31.03.2023 15:12

Вы можете использовать align rate(10m), также я поделился только одним возможным решением.

Sai Chandra Gadde 31.03.2023 15:30

Другие вопросы по теме

Похожие вопросы

Как предоставить сертификат SSL-сервера/сертификат клиента/ключи SSL в соединении Pyspark JDBC. Попытка подключить PostgreSQL в GCP из Prem
Секрет репозитория GitHub Actions неправильно передается повторно используемому рабочему процессу
Получение ошибки 403 Forbidden при попытке публикации в GCP из приложения Spring Boot
Невозможно передать ответ API в приложении Flask в приложении Google Cloud
Как просто получить информацию о том, почему функции тратят процессорное время и вызывают затраты?
Учетной записи облачной службы Google на виртуальной машине отказано в разрешении на отправку в реестр артефактов
GKE: балансировщик нагрузки стандартного уровня
Проблема при организации рабочего процесса формы данных с помощью рабочих процессов GCP
Поддерживает ли AlloyDB аутентификацию в базах данных Postgres с учетными записями службы IAM, как это делает Cloud SQL?
Я столкнулся с проблемой в Dataprep Google Cloud (выполнение базовых данных, машинного обучения и задач ИИ в Google Cloud: Challenge Lab)