Nesta página, mostramos como configurar e usar o Cloud Logging e o Cloud Monitoring com plug-ins do Service Extensions para o Media CDN.
Logging
Esta seção descreve os logs do Service Extensions para plug-ins do Media CDN e como visualizar e correlacionar as informações nas mensagens de registro.
Mensagens de registro
Service Extensions oferece suporte à geração de mensagens de registro durante a execução do plug-in. A gravação de registros está desativada por padrão. Para gravar registros de um plug-in, ative-o ao criar o plug-in ou atualizar.
Os registros de plug-ins são anotados com as seguintes informações contextuais:
- Anotações de registro padrão, como carimbo de data/hora e nível de registro.
- A identidade do plug-in que gerou a mensagem.
- O callback do plug-in em que a mensagem de registro foi gerada.
- Um identificador de trace
requestIdque ajuda a determinar o registro de solicitação ao qual uma mensagem de registro está associada.
Os registros relevantes para Service Extensions estão em uma das seguintes categorias:
Mensagens de registro de plug-ins
Geradas por uma chamada de registro, como
info!(...)para Rust,proxywasm.LogInfo(...)para Go ouLOG_INFOpara C++. As extensões de serviço exportam essas mensagens de registro para o Cloud Logging. É possível registrar cabeçalhos de solicitação e resposta e todas as ações que o plug-in realizou.Essas mensagens podem ser visualizadas usando o
networkservices.googleapis.comserviço.Mensagens de registro do Media CDN
Mensagens de registro do Media CDN para solicitações HTTP a
EdgeCacheServicerecursos com uma ação Wasm associada. Essas são entradas de registro normais do Media CDN que podem ser visualizadas noedgecache.googleapis.comserviço.
Ativar o registro de um plug-in
Service Extensions oferece suporte à geração de mensagens de registro durante a execução do plug-in. A gravação de registros está desativada por padrão.
Para gravar registros de um plug-in, ative-o ao criar o plug-in ou atualizar.
Para ativar o registro de um plug-in atual, use o
gcloud beta service-extensions wasm-plugins update comando:
gcloud beta service-extensions wasm-plugins update WASM_PLUGIN \
--log-config=[LOG_CONFIG,...]
Substitua:
WASM_PLUGIN: o ID ou o nome totalmente qualificado do plug-inLOG_CONFIG: opções de registro do plug-in. Para ativar o registro, defina a opçãoenablecomotrue. Em seguida, especifique os seguintes detalhes:sample-rate: a taxa de amostragem dos registros de atividades como um valor entre0e1. O valor0indica que as mensagens de registro não são armazenadas. O valor padrão1indica que todas as mensagens de registro são armazenadas. Um pontuação flutuante entre0.0e1.0indica que uma porcentagem das mensagens de registro é armazenada.min-log-level: o nível mínimo de gravidade das mensagens de registro de plug-ins a serem exportadas para o Cloud Logging. O valor padrão éINFO.
Para ver os registros, no Google Cloud console do, acesse a página Análise de registros.
Visualizar mensagens de registro
Os registros podem ser visualizados criando consultas na Análise de registros.
É possível visualizar os registros de plug-ins como registros de Service Extensions independentes. Nessa visualização, cada mensagem de registro de plug-in é gravada no próprio registro e não é associada automaticamente às informações de registro de solicitação.
Essas mensagens de registro estão no registro networkactions.googleapis.com/wasm_plugin_activity com o tipo de recurso networkactions.googleapis.com/WasmPluginVersion.
O sistema também pode adicionar mensagens de registro informativas a esse registro.
Por exemplo, se houver uma falha de plug-in quando uma invocação exceder os limites de CPU ou memória, uma mensagem de gravidade ERROR será registrada. Essas
mensagens também podem ser encontradas em Visualizar e filtrar erros.
Também é possível visualizar mensagens de registro correlacionadas com os registros de solicitação do Media CDN correspondentes na Análise de registros. Ao visualizar os registros de solicitação, quando você expande uma entrada de registro de solicitação, os registros de plug-ins relacionados à solicitação aparecem aninhados no registro de solicitação. Essa visualização ajuda a entender os registros de plug-ins no contexto da solicitação associada.
Exemplos de registro
Considere um exemplo de entrada de registro de Service Extensions. O valor de message é transmitido para a chamada LOG_INFO do plug-in. O valor severity depende do nível de registro usado na chamada de registro do plug-in. Na seção labels, o valor da API é HTTP_REQUEST_HEADER, o que indica que a operação registrada é o callback do plug-in on_http_request_headers.
{
"insertId": "65224aac-0000-24bd-a0e1-582429bd544c@a1",
"jsonPayload": {
"@type": "type.googleapis.com/google.cloud.networkactions.logging.v1.WasmPluginLogEntry",
"metroIataCode": "ber",
"proxyRegionCode": "DE",
"message": "[add_header_plugin.cc:26]::onRequestHeaders() AddHeaderStreamContext::onRequestHeaders called",
"requestId": "effc0311-6716-431b-9e2a-7586835fdff1"
},
"resource": {
"type": "networkactions.googleapis.com/WasmPluginVersion",
"labels": {
"plugin_version": "prod-1",
"resource_container": "projects/123456789",
"location": "global",
"plugin_name": "add-headers-plugin-prod-resource"
}
},
"timestamp": "2023-05-10T03:05:43.317015458Z",
"severity": "INFO",
"labels": {
"networkactions.googleapis.com/operation": "HTTP_REQUEST_HEADERS"
},
"logName": "projects/123456789/logs/networkactions.googleapis.com%2Fwasm_plugin_activity",
"trace": "projects/123456789/traces/effc0311-6716-431b-9e2a-7586835fdff1",
"receiveTimestamp": "2023-05-10T03:05:44.207265284Z"
}
requestId e trace nas duas mensagens de registro são os mesmos.
{
"insertId": "6c95cc54-0000-26ba-ba73-f403043c328c@a1",
"jsonPayload": {
"cacheMode": "USE_ORIGIN_HEADERS",
"@type": "type.googleapis.com/google.cloud.edgecache.v1.EdgeCacheLogEntry",
"wasmAction": "add-headers-action-prod-resource",
"cacheKeyFingerprint": "f04d02bb12f2e79e",
"proxyStatus": "Google-Edge-Cache",
"clientCity": "Erlangen",
"clientAsn": "8881",
"origin": "example-origin",
"cacheId": "ber",
"tlsVersion": "NONE",
"latency": "0.002840304s",
"originIp": "142.250.145.128",
"requestId": "effc0311-6716-431b-9e2a-7586835fdff1",
"clientRegionCode": "DE",
"originalRequestId": "7656c418-df7c-4ae5-9db5-4f247ec5a82c",
"httpTtfb": "0.002814903s",
"metroIataCode": "BER",
"proxyRegionCode": "DE",
"cacheStatus": "hit"
},
"httpRequest": {
"requestMethod": "GET",
"requestUrl": "https://example.com/image.jpg",
"requestSize": "1631",
"status": "200",
"responseSize": "402907",
"userAgent": "Wtrace",
"remoteIp": "2001:1438:1:19::5",
"protocol": "HTTP/1.1"
},
"resource": {
"type": "edgecache.googleapis.com/EdgeCacheRouteRule",
"labels": {
"location": "global",
"route_destination": "projects/123456789/locations/global/edgeCacheOrigins/example-origin",
"matched_path": "/turing/",
"route_type": "ORIGIN",
"path_matcher_name": "routes",
"resource_container": "projects/123456789",
"service_name": "example-service"
}
},
"timestamp": "2023-05-10T03:05:43.321347304Z",
"logName": "projects/bdn-prober/logs/edgecache.googleapis.com%2Fedge_cache_request",
"trace": "projects/1069774196212/traces/effc0311-6716-431b-9e2a-7586835fdff1",
"receiveTimestamp": "2023-05-10T03:05:49.919781008Z"
}
Limitações
Os plug-ins são limitados a registrar até 16 KiB de dados de payload por solicitação HTTP do cliente. Esse valor é dividido em várias chamadas de registro associadas a uma determinada solicitação HTTP. O limite se aplica apenas ao texto da mensagem de registro, não a metadados adicionais adicionados ao registro por Service Extensions.
Por exemplo, se um callback on_http_request_headers fizer duas chamadas de registro com mensagens de 4 KiB cada e, em seguida, um callback on_http_response_headers tentar fazer três chamadas de registro com mensagens de 4 KiB cada para a mesma solicitação HTTP, a terceira mensagem de registro será descartada. Uma mensagem de registro é adicionada para registrar o número de mensagens de registro geradas pelo plug-in que foram descartadas.
Monitoramento
Esta seção descreve como usar os painéis do Cloud Monitoring para visualizar as métricas de Service Extensions para plug-ins do Media CDN.
Para informações detalhadas sobre os tipos de métricas de Service Extensions, consulte a Google Cloud página de métricas.
Visualizar o painel do Monitoring para Service Extensions
Para visualizar o painel do Monitoring para Service Extensions, faça o seguinte:
- No Google Cloud console do, acesse a página Extensões de serviço.
- Clique na guia Plug-ins.
- Clique no nome de um plug-in.
- Na página Detalhes do plug-in, clique na guia Monitoramento.
- Para visualizar as métricas das operações do ciclo de vida do plug-in, selecione valores na
lista Filtro de operação. Por padrão, os valores
HTTP request headereHTTP response headersão selecionados. - Para visualizar as métricas de uma versão específica do plug-in, selecione um valor na lista Filtro de versão do plug-in. Por padrão, as métricas são exibidas para todas as versões.
- Para mudar o período em que você quer visualizar os dados, selecione um
período predefinido no seletor de horário ou clique em Personalizado e defina um
horário de início e de término. Por padrão, o seletor é definido como
1 day.
Na página Monitoramento, os gráficos de métricas mostram informações que podem ajudar a monitorar a performance do plug-in.
Métricas de plug-ins para Service Extensions
É possível monitorar as seguintes métricas de plug-ins na perspectiva de Service Extensions. Essas métricas têm o prefixo
networkactions.googleapis.com/wasm_plugin/. O prefixo é omitido das entradas na tabela.
| Tipo de métrica | Nome de exibição
Tipo, unidade Descrição |
|---|---|
invocation_count
|
Contagem de invocações do plug-in Wasm
DELTA, INT64, 1
O número de invocações do plug-in no período selecionado. Cada invocação de callback do plug-in conta como uma invocação separada. |
invocation_latencies
|
Latência de invocação do plug-in Wasm
DELTA, DISTRIBUTION, us
O tempo de execução local, em milissegundos, do plug-in. A métrica inclui entradas delimitadas por rótulos para cada callback. |
cpu/usage_times
|
Uso normalizado de CPU do plug-in Wasm
DELTA, DISTRIBUTION, us{CPU}
O tempo de uso da CPU das invocações de plug-ins, em microssegundos. |
memory/bytes_used
|
Uso da memória do plug-in Wasm
GAUGE, DISTRIBUTION, By
Memória total alocada pelas VMs de plug-ins Wasm, em bytes. |
Métricas de plug-ins para o Media CDN
É possível monitorar as seguintes métricas de plug-ins na perspectiva do Media CDN. As strings de tipo de métrica seguem este prefixo: edgecache.googleapis.com/edge_cache_route_rule/network_actions/.
O prefixo é omitido das entradas na tabela.
| Tipo de métrica | Nome de exibição
Tipo, unidade Descrição |
|---|---|
wasm_action_invocation_count
|
Contagem de invocações de Service Extensions
DELTA, INT64, 1
O número de invocações de Service Extensions processadas pelo Media CDN no período selecionado. |
wasm_action_invocation_latencies
|
Latência de invocação de Service Extensions
DELTA, DISTRIBUTION, us
O tempo total, em milissegundos, que o Media CDN leva para enviar e executar o plug-in. A métrica inclui entradas delimitadas por rótulos para Service Extensions callbacks. |