Prometheus: Añadir cifrado TLS 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 solución nube de Prometheus lista para usar que proporciona una serie de beneficios, incluyendo:
Alert Managerincluido para enviar alertas aSlack,Mattermost,PagerDuty, etc.- Servidor de correo electrónico dedicado para enviar alertas de correo electrónico ilimitadas.
Blackboxpara sondearHTTP,ICMP,TCP, y más.- Configuración fácil con un editor de archivos de configuración en línea.
- Actualizaciones sin esfuerzo con solo un clic.
- Rendimiento óptimo y seguridad robusta gracias a una VM privada y dedicada.
Ahorre tiempo y simplifique su vida: solo toma 5 minutos probar la solución de alojamiento en la nube de Prometheus de Stackhero!
Por defecto, Node Exporter no cifra las comunicaciones. Esto significa que las credenciales, incluida la contraseña definida anteriormente, se transmiten en texto plano. Para asegurar las comunicaciones, puede habilitar el cifrado TLS de la siguiente manera.
Crear certificados TLS
Ejecute los siguientes comandos para crear un certificado y una clave TLS:
# Crear certificado TLS
cd /tmp
sudo openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 \
-keyout /etc/prometheus_node_exporter/tlsCertificate.key \
-out /etc/prometheus_node_exporter/tlsCertificate.crt \
-subj "/CN=`hostname`" \
-addext "subjectAltName = DNS:`hostname`"
sudo chmod 600 /etc/prometheus_node_exporter/*
sudo chown -R node_exporter:node_exporter /etc/prometheus_node_exporter
Actualizar la configuración
Añada las siguientes líneas al archivo de configuración para añadir los ajustes TLS y luego reinicie Node Exporter:
sudo cat << 'EOF' >> /etc/prometheus_node_exporter/configuration.yml
tls_server_config:
cert_file: /etc/prometheus_node_exporter/tlsCertificate.crt
key_file: /etc/prometheus_node_exporter/tlsCertificate.key
EOF
# Reiniciar Prometheus Node Exporter
sudo systemctl restart node_exporter
Puede verificar que TLS está activo conectándose vía HTTPS con el siguiente comando:
curl -k -u prometheus:${password} https://localhost:9100/metrics
Tenga en cuenta que este método no utiliza un certificado CA, por lo que necesita pasar la opción "-k" a cURL para omitir la verificación del certificado.