Conector do Amazon Athena para o CloudWatch Metrics
O conector das métricas do CloudWatch no Amazon Athena permite que o Amazon Athena consulte dados de métricas do CloudWatch com SQL.
Esse conector não usa o Glue Connections para centralizar as propriedades de configuração no Glue. A configuração da conexão é feita por meio do Lambda.
Para obter informações sobre a publicação de métricas de consulta do próprio Athena no CloudWatch, consulte Usar o CloudWatch e o EventBridge para monitorar as consultas e controlar os custos.
Pré-requisitos
Implante o conector na sua Conta da AWS usando o console do Athena ou o AWS Serverless Application Repository. Para obter mais informações, consulte Criar uma conexão de fonte de dados ou Usar o AWS Serverless Application Repository para implantar um conector de fonte de dados.
Parâmetros
Use os parâmetros nesta seção para configurar o conector do CloudWatch Metrics.
-
spill_bucket: especifica o bucket do Amazon S3 para dados que excedem os limites da função do Lambda.
-
spill_prefix: (opcional) assume como padrão uma subpasta no
spill_bucket
especificado chamadoathena-federation-spill
. Recomendamos que você configure um ciclo de vida de armazenamento do Amazon S3 neste local para excluir derramamentos anteriores a um número predeterminado de dias ou horas. -
spill_put_request_headers: (opcional) um mapa codificado em JSON de cabeçalhos e valores de solicitações para a solicitação
putObject
do Amazon S3 usada para o derramamento (por exemplo,{"x-amz-server-side-encryption" : "AES256"}
). Para outros cabeçalhos possíveis, consulte PutObject na Referência da API do Amazon Simple Storage Service. -
kms_key_id: (opcional) por padrão, todos os dados transmitidos para o Amazon S3 são criptografados usando o modo de criptografia autenticado AES-GCM e uma chave gerada aleatoriamente. Para que sua função do Lambda use chaves de criptografia mais fortes geradas pelo KMS, como
a7e63k4b-8loc-40db-a2a1-4d0en2cd8331
, é possível especificar um ID de chave do KMS. -
disable_spill_encryption: (opcional) quando definido como
True
, desativa a criptografia do derramamento. É padronizado comoFalse
, para que os dados transmitidos para o S3 sejam criptografados usando o AES-GCM — usando uma chave gerada aleatoriamente ou o KMS para gerar chaves. Desativar a criptografia do derramamento pode melhorar a performance, especialmente se o local do derramamento usar criptografia no lado do servidor.
O conector também oferece suporte a Controle de congestionamento AIMDThrottlingInvoker
do SDK do Amazon Athena Query Federation
-
throttle_initial_delay_ms: o atraso inicial da chamada aplicado após o primeiro evento de congestionamento. O padrão é de 10 milissegundos.
-
throttle_max_delay_ms: o atraso máximo entre as chamadas. É possível derivar o TPS dividindo-o em 1000 ms. O padrão é de 1000 milissegundos.
-
throttle_decrease_factor: o fator pelo qual o Athena reduz a taxa de chamadas. O padrão é de 0,5
-
throttle_increase_ms: a taxa na qual o Athena diminui o atraso da chamada. O padrão é de 10 milissegundos.
Bancos de dados e tabelas
O conector CloudWatch Metrics do Athena mapeia seus namespaces, dimensões, métricas e valores métricos em duas tabelas em um único esquema chamado default
.
A tabela de métricas
A tabela metrics
contém as métricas disponíveis conforme definido exclusivamente por uma combinação de namespace, conjunto e nome. A tabela metrics
contém as colunas a seguir.
-
namespace: um
VARCHAR
contendo o namespace. -
metric_name: um
VARCHAR
contendo o nome da métrica. -
dimensions: uma
LIST
de objetosSTRUCT
compostos pordim_name (VARCHAR)
edim_value (VARCHAR)
. -
statistic: uma
LIST
de estatísticasVARCH
(por exemplo,p90
,AVERAGE
, ...) disponíveis para a métrica.
A tabela metric_samples
A tabela metric_samples
contém as amostras métricas disponíveis para cada métrica na tabela metrics
. A tabela metric_samples
contém as colunas a seguir.
-
namespace: um
VARCHAR
que contém o namespace. -
metric_name: um
VARCHAR
que contém o nome da métrica. -
dimensions: uma
LIST
de objetosSTRUCT
compostos pordim_name (VARCHAR)
edim_value (VARCHAR)
. -
dim_name: um campo
VARCHAR
de conveniência que você pode usar para filtrar facilmente por um único nome de dimensão. -
dim_value: um campo
VARCHAR
de conveniência que você pode usar para filtrar facilmente por um único valor de dimensão. -
period: um campo
INT
que representa o “período” da métrica em segundos (por exemplo, uma métrica de 60 segundos). -
timestamp: um campo
BIGINT
que representa o tempo de época em segundos para o qual a amostra métrica se destina. -
value: um
FLOAT8
campo que contém o valor da amostra. -
statistic: um
VARCHAR
que contém o tipo estatístico da amostra (por exemplo,AVERAGE
oup90
).
Permissões obrigatórias
Os detalhes completos sobre as políticas do IAM exigidas por esse conector podem ser encontrados na seção Policies
do arquivo athena-cloudwatch-metrics.yaml
-
Acesso de gravação do Amazon S3: o conector requer acesso de gravação a um local no Amazon S3 para mostrar resultados de grandes consultas.
-
Athena GetQueryExecution: o conector usa esta permissão para falhar rapidamente quando a consulta upstream do Athena é encerrada.
-
CloudWatch Metrics ReadOnly (Métricas do CloudWatch somente para leitura): o conector usa esta permissão para consultar seus dados de métricas.
-
CloudWatch Logs Write: o conector usa este acesso para gravar seus registros de diagnóstico.
Performance
O conector CloudWatch Metrics do Athena tenta otimizar as consultas em relação ao CloudWatch Metrics paralelizando as varreduras dos fluxos de log necessários para sua consulta. Para determinados filtros de período de tempo, métricas, namespaces e dimensões, a redução de predicados é realizada tanto na função do Lambda quanto no CloudWatch Logs.
Informações de licença
O projeto do conector CloudWatch Metrics do Amazon Athena é licenciado sob a Licença Apache-2.0
Recursos adicionais
Para obter mais informações sobre esse conector, visite o site correspondente