Prometheus: Añadir autenticación a Prometheus Node Exporter

Esta documentación forma parte de la guía Recuperación de métricas desde Linux. Consulte la guía completa aquí: Cómo recuperar métricas de un servidor Linux en Prometheus usando Node Exporter.

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero ofrece una plataforma totalmente gestionada de Prometheus en la nube diseñada para ofrecer fiabilidad y simplicidad:

  • Alert Manager está integrado, lo que le permite enviar alertas directamente a Slack, Mattermost, PagerDuty y otros destinos populares.
  • Un servidor de correo electrónico dedicado le permite enviar alertas ilimitadas por email sin necesidad de configuración adicional.
  • Blackbox está incluido, permitiéndole monitorizar HTTP, ICMP, TCP y otros protocolos para una supervisión completa.
  • Configure su instancia rápidamente utilizando el editor online de archivos de configuración. No es necesario gestionar archivos YAML manualmente.
  • Aplique actualizaciones con un solo clic. Stackhero se encarga del proceso de actualización por usted, minimizando el tiempo de inactividad y la intervención manual.
  • Alto rendimiento y máxima seguridad integrados, gracias a su propia infraestructura privada y dedicada.

Ponga todo en marcha en unos 5 minutos. Stackhero se encarga de la configuración para que pueda centrarse en la monitorización, no en el mantenimiento. Pruebe el hosting de Prometheus en la nube de Stackhero para optimizar sus flujos de trabajo de monitorización y alertas.

Por defecto, Node Exporter no realiza autenticación, lo que significa que cualquiera puede recuperar las métricas expuestas. Para asegurar el acceso, puede añadir autenticación básica para un usuario.

Genere una contraseña usando los siguientes comandos:

password=`openssl rand -base64 32`
passwordHashed=`echo ${password} | htpasswd -inBC 10 "" | tr -d ':'`
echo "Contraseña clara para guardar para el servidor Prometheus: ${password}"

Si no tiene el binario htpasswd, puede instalarlo en Debian/Ubuntu usando apt-get install --no-install-recommends apache2-utils.

Mantenga la contraseña clara segura ya que la necesitará al configurar Prometheus.

Añada las siguientes líneas al archivo de configuración para añadir un usuario llamado "prometheus" con el hash de la contraseña generada:

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 que la autenticación esté funcionando correctamente:

  • Ejecutar curl http://localhost:9100/metrics debería devolver "Unauthorized".
  • Ejecutar curl -u prometheus:${password} http://localhost:9100/metrics debería devolver la lista de métricas.