Prometheus: Adicionar autenticação ao Prometheus Node Exporter

Esta documentação faz parte do guia Recuperar métricas de Linux. Consulte o guia completo aqui: Como recuperar métricas de servidores Linux no Prometheus usando Node Exporter.

👋 Bem-vindo à documentação da Stackhero!

A Stackhero disponibiliza uma plataforma Prometheus cloud totalmente gerida, concebida para garantir fiabilidade e simplicidade:

  • O Alert Manager está integrado, permitindo-lhe encaminhar alertas diretamente para o Slack, Mattermost, PagerDuty e outros destinos populares.
  • Um servidor de email dedicado permite-lhe enviar alertas por email ilimitados sem necessidade de configuração adicional.
  • O Blackbox está incluído, possibilitando a monitorização de protocolos como HTTP, ICMP, TCP e outros, para uma supervisão abrangente.
  • Configure rapidamente a sua instância através do editor online de ficheiros de configuração. Não é necessário editar YAML manualmente.
  • Aplique atualizações com um único clique. A Stackhero gere todo o processo de atualização por si, minimizando o tempo de indisponibilidade e a intervenção manual.
  • Elevado desempenho e segurança reforçada estão garantidos, graças à sua infraestrutura privada e dedicada.

Fique operacional em cerca de 5 minutos. A Stackhero trata da configuração para que se possa concentrar na monitorização, não na manutenção. Experimente o Prometheus cloud hosting da Stackhero para simplificar os seus fluxos de trabalho de monitorização e alertas.

Por padrão, o Node Exporter não realiza autenticação, o que significa que qualquer pessoa pode recuperar as métricas expostas. Para proteger o acesso, pode adicionar autenticação básica para um utilizador.

Gere uma palavra-passe usando os seguintes comandos:

password=`openssl rand -base64 32`
passwordHashed=`echo ${password} | htpasswd -inBC 10 "" | tr -d ':'`
echo "Palavra-passe clara a manter para o servidor Prometheus: ${password}"

Se não tiver o binário htpasswd, pode instalá-lo no Debian/Ubuntu usando apt-get install --no-install-recommends apache2-utils.

Mantenha a palavra-passe clara segura, pois irá precisar dela ao configurar o Prometheus.

Adicione as seguintes linhas ao ficheiro de configuração para adicionar um utilizador chamado "prometheus" com o hash da palavra-passe gerada:

sudo cat << EOF >> /etc/prometheus_node_exporter/configuration.yml
basic_auth_users:
  prometheus: ${passwordHashed}

EOF

# Reiniciar Node Exporter
sudo systemctl restart node_exporter

Finalmente, verifique se a autenticação está a funcionar corretamente:

  • Executar curl http://localhost:9100/metrics deve retornar "Unauthorized".
  • Executar curl -u prometheus:${password} http://localhost:9100/metrics deve retornar a lista de métricas.