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 oferece uma solução Prometheus cloud pronta a usar que proporciona uma série de benefícios, incluindo:
Alert Managerincluído para enviar alertas paraSlack,Mattermost,PagerDuty, etc.- Servidor de email dedicado para enviar alertas de email ilimitados.
Blackboxpara sondarHTTP,ICMP,TCP, e mais.- Configuração fácil com editor de ficheiros de configuração online.
- Atualizações sem esforço com apenas um clique.
- Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.
Poupe tempo e simplifique a sua vida: leva apenas 5 minutos para experimentar a solução de hospedagem cloud Prometheus da Stackhero!
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.
Gerar uma palavra-passe aleatória
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 usandoapt-get install --no-install-recommends apache2-utils.
Mantenha a palavra-passe clara segura, pois irá precisar dela ao configurar o Prometheus.
Adicionar o utilizador e reiniciar o Node Exporter
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/metricsdeve retornar "Unauthorized". - Executar
curl -u prometheus:${password} http://localhost:9100/metricsdeve retornar a lista de métricas.