Consulta usando Grafana em execução em um cluster da Amazon EKS - Amazon Managed Service para Prometheus

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Consulta usando Grafana em execução em um cluster da Amazon EKS

O Amazon Managed Service for Prometheus oferece suporte ao uso do Grafana versão 7.3.5 e posteriores para consultar métricas em seu workspace. As versões 7.3.5 e posteriores incluem suporte para autenticação AWS Signature Version 4 (SigV4).

Para configurar o Grafana para funcionar com o Amazon Managed Service for Prometheus, você deve estar conectado a uma conta que tenha a AmazonPrometheusQueryAccesspolítica ou as permissões,, e. aps:QueryMetrics aps:GetMetricMetadata aps:GetSeries aps:GetLabels Para obter mais informações, consulte Permissões e políticas no IAM.

Configurar o AWS SigV4

A Grafana adicionou um novo recurso para oferecer suporte à autenticação AWS Signature Version 4 (SigV4). Para obter mais informações, consulte Processo de assinatura do Signature Version 4. Este atributo não está habilitado nos servidores Grafana por padrão. As instruções a seguir para habilitar esse atributo pressupõem que você esteja usando o Helm para implantar o Grafana em um cluster Kubernetes.

Para habilitar o SigV4 em seu servidor Grafana 7.3.5 ou posterior
  1. Crie um novo arquivo de atualização para substituir sua configuração do Grafana e chame-o de amp_query_override_values.yaml.

  2. Insira o conteúdo a seguir no arquivo e salve o arquivo. Substituir account-id com o ID da AWS conta em que o servidor Grafana está sendo executado.

    serviceAccount: name: "amp-iamproxy-query-service-account" annotations: eks.amazonaws.com/role-arn: "arn:aws:iam::account-id:role/amp-iamproxy-query-role" grafana.ini: auth: sigv4_auth_enabled: true

    No conteúdo desse YAML arquivo, amp-iamproxy-query-role está o nome da função que você criará na próxima seção,Configurar IAM funções para contas de serviço. Você pode substituir esse perfil pelo seu próprio nome de perfil, caso já tenha criado um perfil para consultar seu workspace.

Você usará esse arquivo posteriormente, em Atualizar o servidor Grafana usando o Helm.

Configurar IAM funções para contas de serviço

Se você estiver usando um servidor Grafana em um EKS cluster da Amazon, recomendamos que você use IAM funções para contas de serviço, também conhecidas como funções de serviço, para seu controle de acesso. Quando você faz isso para associar uma IAM função a uma conta de serviço do Kubernetes, a conta de serviço pode então fornecer AWS permissões aos contêineres em qualquer pod que use essa conta de serviço. Para obter mais informações, consulte IAMfunções para contas de serviço.

Se você ainda não configurou esses perfis de serviço para consulta, siga as instruções em Configure perfis do IAM para contas de serviço para consulta de métricas para configurar os perfis.

Em seguida, você precisa adicionar a conta de serviço do Grafana nas condições da relação de confiança.

Para adicionar a conta de serviço do Grafana nas condições da relação de confiança
  1. Em uma janela do terminal, determine o namespace e o nome da conta de serviço do seu servidor Grafana. Por exemplo, é possível usar o comando a seguir.

    kubectl get serviceaccounts -n grafana_namespace
  2. No EKS console da Amazon, abra a IAM função para contas de serviço associadas ao EKS cluster.

  3. Selecione Edit trust relationship (Editar relação de confiança).

  4. Atualize a Condição para incluir o namespace do Grafana e o nome da conta de serviço do Grafana que você encontrou na saída do comando na etapa 1. Veja um exemplo a seguir.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::account-id:oidc-provider/oidc.eks.aws_region.amazonaws.com/id/openid" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.region.amazonaws.com/id/openid:sub": [ "system:serviceaccount:aws-amp:amp-iamproxy-query-service-account", "system:serviceaccount:grafana-namespace:grafana-service-account-name" ] } } } ] }
  5. Selecione Atualizar política de confiança.

Atualizar o servidor Grafana usando o Helm

Esta etapa atualiza o servidor Grafana para usar as entradas que você adicionou ao arquivo amp_query_override_values.yaml na seção anterior.

Execute os seguintes comandos. Para obter mais informações sobre charts do Helm para o Grafana, consulte Charts do Helm da Comunidade Kubernetes do Grafana.

helm repo add grafana https://grafana.github.io/helm-charts
helm upgrade --install grafana grafana/grafana -n grafana_namespace -f ./amp_query_override_values.yaml

Adicionar a fonte de dados do Prometheus no Grafana

As etapas a seguir explicam como configurar a fonte de dados do Prometheus no Grafana para consultar suas métricas do Amazon Managed Service for Prometheus.

Para adicionar a fonte de dados do Prometheus no servidor Grafana
  1. Abra o console do Grafana.

  2. Em Configurações, escolha Fontes de dados.

  3. Escolha Adicionar fonte de dados.

  4. Escolha Prometheus.

  5. Para o HTTPURL, especifique a consulta Endpoint - URL exibida na página de detalhes do espaço de trabalho no console do Amazon Managed Service for Prometheus.

  6. No HTTP URL que você acabou de especificar, remova a /api/v1/query string anexada aoURL, pois a fonte de dados do Prometheus a anexará automaticamente.

  7. Em Auth, selecione o botão de alternância do SigV4 Auth para ativá-lo.

    Deixe os campos Assumir função ARN e ID externa em branco. Em seguida, em Região padrão, selecione a região onde está seu workspace do Amazon Managed Service for Prometheus.

  8. Escolha Salvar e testar.

    Você deverá ver a seguinte mensagem: A fonte de dados está funcionando

  9. Teste uma consulta PromQL contra a nova fonte de dados:

    1. Escolha Explorar.

    2. Execute um exemplo de consulta PromQL, como:

      prometheus_tsdb_head_series