Как написать выражение REGEXP_EXTRACT в конфигурации Google Cloud Logging json?Python

Программы на Python
Anonymous
Как написать выражение REGEXP_EXTRACT в конфигурации Google Cloud Logging json?

Сообщение Anonymous »

Я пытаюсь извлечь значение из конца этого журнала:

Код: Выделить всё

Chat request completed in 3.818780105999849
Это журнал, сохраненный в Google Cloud Logging, и сообщение записывается в поле textPayload. Я пытаюсь создать метрику на основе журнала, используя команду создания метрик журнала gcloud (документы можно найти здесь). Поскольку я пытаюсь создать метрику распределения, мне необходимо создать файл конфигурации для этой метрики.
Вот что у меня есть для конфигурации json:

Код: Выделить всё

{
"name": "end-to-end-response-time-shell",
"description": "Time duration of a chat request (in seconds).",
"filter": "resource.type=\"cloud_run_revision\" AND logName=\"log_name\" AND severity=\"INFO\" AND textPayload=~\"Chat request completed in\"",
"metricDescriptor": {
"name": "cloud_run_revision",
"type": "logging.googleapis.com/user/end-to-end-response-time-shell",
"metricKind": "CUMULATIVE",
"valueType": "DISTRIBUTION",
"unit": "s",
"description": "Time duration of a chat request (in seconds).",
"displayName": "end-to-end-response-time-shell (sec)"
},
"valueExtractor": "REGEXP_EXTRACT(textPayload, \"\\s(\\d+\\.*\\d*)\\s\")"
}
Команда выдает ошибку в поле valueExtractor со следующим сообщением об ошибке:

Код: Выделить всё

ERROR: (gcloud.logging.metrics.create) INVALID_ARGUMENT: Failed to parse extractor expression: syntax error at line 1, column 29, token '"\s(\d+\.*\d*)\s"'
Как написать регулярное выражение для этой задачи?

Подробнее здесь: https://stackoverflow.com/questions/786 ... onfig-json

Вернуться в «Python»