Function Compute integra-se ao Simple Log Service. Após configurar o logging de uma função, o Function Compute coleta logs automaticamente e os entrega a um Logstore em um project especificado. Você pode visualizar logs por requisição, logs de instância e logs de função no console do Function Compute. Também é possível executar consultas de log personalizadas no console do Simple Log Service.
Informações gerais
O Simple Log Service oferece coleta, armazenamento, consulta, análise, visualização e alertas de log. Para armazenar logs de função, configure um project e um Logstore na sua função e conceda à função permissão para acessar o Simple Log Service. Após a configuração, os logs da função são gravados no Logstore especificado.
Observações sobre faturamento
Método de faturamento
O Function Compute não cobra taxas adicionais pela ativação do recurso de logging. No entanto, o Simple Log Service cobra pelos logs entregues a ele.
Se o Logstore usar o método de pagamento conforme o uso por recurso, o Simple Log Service cobrará com base no espaço de armazenamento, tráfego de leitura, número de requisições, transformação de dados e envio de dados após o Function Compute entregar os logs. Para mais informações, consulte Billing items for the pay-by-feature billing method.
Se o Logstore usar o método de pagamento conforme o uso por dados ingeridos, o Simple Log Service cobrará com base nos dados brutos ingeridos após o Function Compute entregar os logs. Para mais informações, consulte Billing items for the pay-by-ingested-data billing method.
Para alterar o método de faturamento do Logstore, consulte Manage Logstores.
Interromper o faturamento
Para interromper o faturamento, primeiro disable the logging feature no console do Function Compute. Em seguida, acesse o console do Simple Log Service para delete the Logstore ou delete the project.
Excluir um project ou Logstore do Simple Log Service é irreversível. Após a exclusão, os logs não poderão mais ser entregues ao Simple Log Service e os dados existentes serão excluídos permanentemente. Faça backup dos dados de log importantes antes de excluir.
Ativar o logging de uma função
Configure logging using the Function Compute console
Pré-requisitos
-
Function Compute
-
Optional: Simple Log Service (SLS)
Procedimento
Acesse o Function Compute console. No painel de navegação à esquerda, escolha .
Na barra de navegação superior, selecione uma região. Na página Functions, clique na função de destino.
-
Na página de detalhes da função, selecione a aba Configuration, clique em Advanced Settings à direita de Advanced Settings, localize a opção Logs no painel Advanced Settings, conclua a configuração de log executando as etapas a seguir e clique em Deploy.
NotaAo criar uma função, o recurso de logging é ativado por padrão, e o sistema seleciona automaticamente o Log Service Project cujo nome começa com
serverless-<region_id>e o Logstore padrão.O console ativa automaticamente as opções Log Rotation Rules, Request-level Metrics e Instance-level Metrics, além de criar todos os índices necessários para consultas de log.
Item de configuração
Obrigatório
Descrição
Logging
Sim
Indica se o Simple Log Service deve ser ativado. Valores válidos:
-
Enable: Após ativar este recurso, o Function Compute importa os logs para o seu log project. Consulte e recupere logs no console do Function Compute e no console do Simple Log Service para diagnosticar e identificar problemas.
-
Disable: Os logs de função não são persistidos e não é possível rastrear ou localizar problemas.
Configuration Mode
Sim
Selecione Automatic Configuration ou Custom Configuration. Ao escolher Custom Configuration, especifique um Log Service Project e um Logstore.
Log Service Project
Sim
O project usado para armazenar os logs de invocação da função.
Logstore
Sim
O Logstore usado para armazenar os logs de invocação da função.
Log Rotation Rules
Não
Indica se as regras de segmentação de log devem ser ativadas. Valores válidos:
-
Enable: Com esta opção ativa, o Function Compute divide os logs de acordo com as regras de segmentação em múltiplos segmentos e os grava individualmente no Simple Log Service.
A regra padrão é
^.{0,2}\d{4}-\d{2}-\d{2}, que corresponde a datas no formatoxxxx-xx-xx, ondexé um dígito. Os logs são divididos com base em linhas que começam com uma data. Por exemplo, se uma linha de log começa com "2023-10-10", ela é tratada como a primeira linha de um novo bloco de log. Essa linha e as subsequentes sem data no início são gravadas como uma única entrada de log. -
Disable: A segmentação de log é desativada. Os logs são divididos usando o delimitador padrão
\n.
Request-level Metrics
Não
Indica se as métricas de requisição devem ser entregues ao Logstore. Recomendamos fortemente ativar este recurso.
Valores válidos:
-
Enable: As métricas de cada invocação de função — como tempo de execução, uso de memória, status de erro, ocorrência de cold start e durações de cada etapa do cold start — são entregues ao Logstore selecionado durante a configuração de logging. Os logs de invocação do Function Compute exibem uma lista de requisições com base nessas métricas. Também é possível filtrar requisições por métricas, como todas as requisições com erro ou requisições com cold start.
-
Disable: Não é possível visualizar informações detalhadas de execução de requisições.
Instance-level Metrics
Não
Indica se as métricas de nível de instância devem ser ativadas. Valores válidos:
-
Enable: Com esta opção ativa, os dados de métrica das instâncias de função são entregues ao Logstore selecionado durante a configuração de log. Visualize métricas de desempenho no nível de instância de função, como uso de CPU, memória e I/O de rede. O Function Compute usa esses dados para fornecer observabilidade na granularidade da instância, oferecendo um caminho completo de monitoramento e diagnóstico para instâncias de função. Para mais informações, consulte Instance-Level Metrics.
-
Disable: Não é possível visualizar métricas detalhadas de instância.
Configure logging using Serverless Devs
Pré-requisitos
Procedimento
-
Crie um diretório de código com a seguinte estrutura.
. ├── code │ └── index.js └── s.yamlNo exemplo, o campo logConfig configura o logging. Substitua logstore e project por um Logstore e project existentes na sua conta. Como alternativa, defina logConfig: auto para que o Function Compute atribua automaticamente um project e um Logstore.
edition: 3.0.0 name: hello-world-app access: "default" vars: # Global variables region: "cn-hangzhou" resources: hello_world: component: fc3 # Component name props: region: ${vars.region} functionName: "start-nodejs-****" description: 'hello world by serverless devs' runtime: "nodejs16" code: ./code handler: index.handler memorySize: 128 timeout: 30 logConfig: # Replace logstore and project with actual values, or use logConfig: auto to auto-create project and Logstore enableInstanceMetrics: true # Enable instance-level metrics enableRequestMetrics: true # Enable request-level metrics logBeginRule: DefaultRegex # Log segmentation rule logstore: 'your-logstore' # Specify Logstore name (must exist) project: 'your-project' # Specify project name (must exist) -
Execute o comando a seguir para implantar a aplicação.
sudo s deploy -yApós a implantação bem-sucedida, acesse o Function Compute console para verificar se a função foi implantada e o logging está ativo.
Desativar o logging
Após desativar o logging, os logs de execução da função não serão mais coletados nem armazenados. Isso pode afetar o diagnóstico de problemas e a análise de desempenho. Prossiga com cautela.
Acesse o Function Compute console. No painel de navegação à esquerda, escolha .
Na barra de navegação superior, selecione uma região. Na página Functions, clique na função de destino.
Na página de detalhes da função, selecione a aba Configuration, clique em Modify à direita de Advanced Settings, localize a opção Advanced Settings no painel Logs, defina o botão de alternância log feature como Off e clique em Deploy.
Visualizar logs de invocação
Na página de detalhes da função, clique na aba Logs para consultar os registros de invocação da função atual.
Na página de detalhes da função, clique na aba Version Management ou Alias Management. Selecione uma versão ou alias da função e clique na aba Logs na página de detalhes da versão ou alias para visualizar seus logs.
Os logs de invocação da função podem ser visualizados na aba Invocation Requests ou na aba Search by Keyword. Diferenças:
-
Invocation Requests
Esta aba lista os horários de término de invocação, IDs de requisição, resultados de invocação, IDs de instância e versões ou aliases da função.
Clique em um Request ID para visualizar os detalhes da requisição e do log.
Clique em um Instance ID para visualizar as métricas da instância, como uso de CPU, uso de memória e tráfego de rede.
Na coluna Actions, clique em Request Logs para visualizar os detalhes do log ou clique em Advanced Logs para acessar o Simple Log Service console e realizar consultas e análises de log.
-
Search by Keyword
Esta aba lista os horários de invocação da função, o conteúdo dos logs e as versões ou aliases da função. Na coluna Actions, clique em Log Context para visualizar as entradas de log do contexto ou clique em Logstore para acessar o Simple Log Service console e realizar consultas e análises de log.
Insira uma palavra-chave na caixa de pesquisa para localizar logs específicos. Por exemplo, para encontrar logs contendo o texto
hello world, insirahello worldna caixa de pesquisa. Os resultados incluem todas as linhas de log que contêm essa palavra-chave. Para mais informações sobre a sintaxe de consulta, consulte Query syntax and features.
Referências
Também é possível configurar o logging de uma função chamando o SDK ou a API. Para mais informações, consulte Create a function.