Использование значений меток в документации по оповещениям Google Stackdriver

У меня есть настройки предупреждений об определенном содержимом журналов. например Я получаю предупреждение, когда сообщение журнала содержит что-то вроде этого

"message":"DB already exists.","code":"USER_ALREADY_EXISTS"}  

Я добавил ярлыки https://cloud.google.com/logging/docs/logs-based-metrics/labels, чтобы я мог извлечь соответствующее тело сообщения («БД уже существует») и код («USER_ALREADY_EXISTS»). Я назвал их как message и code соответственно.

В политике изменения в разделе Documentation (optional) я хочу указать значение этих ярлыков. Следуя https://cloud.google.com/monitoring/alerts/doc-variables, я пробовал написать что-то вроде

${metric.label.code}
${resource.label.message}

Однако, когда я получаю свои предупреждения о резерве времени, они отображаются как значения null. Есть ли способ получить эту информацию из логов?


person kosta    schedule 07.06.2019    source источник
comment
У меня тоже возникла эта проблема, хотя я следовал инструкциям по группировке на метке метрики. В документации сказано, что если ваша политика предупреждений использует группировку по меткам, любые метки, не используемые в группировке, не будут присутствовать в результате. Итак, я сгруппирован по метке метрики. Тем не менее, значение метки в разделе документации по-прежнему равно нулю. Я пробовал вообще не группировать, а группировать с разными функциями агрегирования. Ни один из них не работает. Пожалуйста помоги.   -  person bdiloreto    schedule 21.11.2019


Ответы (1)


Синтаксис ${metric.label.code} и ${metric.label.message} правильный, но требует, чтобы эти метрики были сохранены. Если у вас есть агрегирование, которое включает crossSeriesReducer, но который не включает metric.label.code и metric.label.message в groupByFields, тогда эта подстановка больше не будет работать (поскольку агрегирование может дать более одного значения для каждой переменной).

person Michael Aaron Safyan    schedule 13.06.2019