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…
Palavras-chave

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…