← Todas as publicações

Publicação Técnica · Amazon Eks

Métricas do control plane com o Prometheus para o EKS

O Prometheus é um kit de ferramentas de monitoramento e alerta de sistemas de código aberto originalmente criado no SoundCloud. Desde o seu…

2 min de leitura483 palavrasSeções: 3Imagens: 2Blocos de código: 820 abr 2022

Palavras-chave

Compartilhar
Comentar
Métricas do control plane com o Prometheus para o EKS

O Prometheus é um kit de ferramentas de monitoramento e alerta de sistemas de código aberto originalmente criado no SoundCloud. Desde o seu início em 2012, muitas empresas e organizações adotaram o Prometheus, e o projeto tem uma comunidade de desenvolvedores e usuários muito ativa. Agora é um projeto autônomo de código aberto e mantido independentemente de qualquer empresa. Para enfatizar isso, e para esclarecer a estrutura de governança do projeto, a Prometheus se juntou à Cloud Native Computing Foundation em 2016 como o segundo projeto hospedado, depois do Kubernetes.

Quando abordado o monitoramento de contextos conteinerizados de Kubernetes, o servidor de API do Kubernetes expões várias métricas úteis para monitoramento e análise. Essas métricas são expostas internamente por meio de um endpoint de métricas que se refere à API HTTP /metrics Assim como outros endpoints, esse endpoint é exposto no control plane do Amazon EKS. Neste post, vamos discutir sobre como implementar as métricas do control plane do EKS com o Prometheus.

Visualizando métricas

Para visualizar a saída de métricas, use kubectl com o — raw. Esse comando permite passar qualquer caminho HTTP e retorna a resposta.

kubectl get — raw /metrics

Essa saída bruta retorna textualmente o que o servidor de API expõe. Essas métricas são representadas em um formato do Prometheus. Este formato permite que o servidor de API exponha diferentes métricas detalhadas por linha. Cada linha inclui um nome da métrica, tags e um valor.

<metric_name>{“<tag>”=”<value>”[<,…>]} <value>

Implantando o Prometheus

Aqui vamos ver como implantar o Prometheus no cluster com o Helm V3. Se você já tiver o Helm instalado, poderá verificar sua versão com o comando helm version. O Helm é um gerenciador de pacotes para clusters do Kubernetes. Para obter mais informações sobre o Helm e como instalá-lo, consulte Usar o Helm com o Amazon EKS.

Implantar o Prometheus usando o Helm

Criar um namespace do Prometheus

kubectl create namespace prometheus

Adicionar o repositório de prometheus-community gráficos

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

Implantar o Prometheus

helm upgrade -i prometheus prometheus-community/prometheus \
 — namespace prometheus \
— set alertmanager.persistentVolume.storageClass=”gp2",server.persistentVolume.storageClass=”gp2"

Verificar se todos os pods no namespace prometheus estão no estado READY

kubectl get pods -n prometheus

Usar kubectl para fazer o redirecionamento de portas do console do Prometheus para sua máquina local

kubectl — namespace=prometheus port-forward deploy/prometheus-server 9090

Apontar um navegador da web para localhost:9090 para visualizar o console do Prometheus

Escolher uma métrica do menu — insert metric at cursor (- inserir métrica no cursor) e selecionar “Execute (Executar)”. Escolha a guia Graph (Gráfico) para mostrar a métrica ao longo do tempo. A imagem a seguir mostra container_memory_usage_bytes ao longo do tempo.

Todos os endpoints do Kubernetes que estão conectados ao Prometheus usando a descoberta de serviço são exibidos.

Comentários

Todo comentário passa por moderação antes de aparecer aqui. Nada é publicado automaticamente.

Carregando…