Práctica 2 - Node Exporter¶
Node Exporter es un agente que expone métricas del sistema operativo para que Prometheus pueda recopilarlas.
En esta práctica, el alumno instalará o validará Node Exporter en un entorno de laboratorio, comprobará que el servicio funciona, revisará las métricas expuestas y verificará que Prometheus puede recopilarlas correctamente.
La práctica también introduce conceptos importantes como:
- Targets de Prometheus.
- Jobs e instancias.
- Endpoint
/metrics. - Estado
UPyDOWN. - Etiquetas de las series temporales.
- Diagnóstico de errores de recopilación.
- Validación mediante comandos y consultas PromQL.
Todas las actividades deben realizarse únicamente sobre máquinas autorizadas. No se debe instalar, detener ni modificar Node Exporter en sistemas de producción sin autorización expresa.
Objetivos¶
Al finalizar esta práctica, el alumno podrá:
- Explicar la función de Node Exporter.
- Diferenciar Node Exporter de Prometheus.
- Comprobar si Node Exporter está instalado.
- Comprobar si Node Exporter está activo.
- Identificar el puerto de escucha.
- Consultar el endpoint
/metrics. - Reconocer métricas de CPU, memoria, disco y red.
- Revisar las etiquetas de una métrica.
- Instalar Node Exporter en un entorno Linux de laboratorio.
- Crear o revisar una unidad de
systemd. - Configurar el arranque automático del servicio.
- Validar la conectividad desde Prometheus.
- Identificar un target
UP. - Identificar un target
DOWN. - Diagnosticar errores habituales.
- Consultar métricas desde Prometheus.
- Documentar el resultado de la práctica.
- Preparar evidencias técnicas sin exponer secretos.
Introducción¶
Prometheus no obtiene automáticamente todas las métricas de un servidor. Necesita que un componente las exponga en un formato que pueda consultar.
Node Exporter cumple esa función:
Node Exporter no almacena las métricas a largo plazo ni crea dashboards. Su función principal es:
El endpoint habitual es:
Prometheus consulta periódicamente ese endpoint y guarda los valores como series temporales.
Arquitectura de la práctica¶
Componentes¶
La práctica utiliza los siguientes componentes:
| Componente | Función |
|---|---|
| Sistema operativo | Genera información sobre recursos y actividad |
| Node Exporter | Expone métricas del sistema |
| Prometheus | Recopila y almacena las métricas |
| Grafana | Visualiza y consulta las métricas |
Flujo de recopilación¶
Node Exporter expone métricas
|
v
Prometheus realiza un scrape
|
v
Prometheus almacena las series
|
v
Grafana consulta Prometheus
Puertos habituales¶
| Servicio | Puerto habitual | Uso |
|---|---|---|
| Node Exporter | 9100 | Endpoint de métricas |
| Prometheus | 9090 | Interfaz y API |
| Grafana | 3000 | Interfaz web |
Los puertos pueden cambiar según la configuración del laboratorio.
Conceptos fundamentales¶
Endpoint /metrics¶
Es la dirección HTTP desde la que Node Exporter expone las métricas.
Ejemplo:
Una respuesta correcta contiene líneas similares a:
# HELP node_memory_MemTotal_bytes Memory information field MemTotal_bytes.
# TYPE node_memory_MemTotal_bytes gauge
node_memory_MemTotal_bytes 4.294967296e+09
Scrape¶
Un scrape es una consulta que Prometheus realiza contra un endpoint de métricas.
Ejemplo:
Si el endpoint responde correctamente, el target suele aparecer como:
Target¶
Un target es un endpoint que Prometheus supervisa.
Ejemplo:
Job¶
Un job agrupa targets con una función común.
Ejemplo:
Puede contener varios servidores:
Instance¶
La etiqueta instance identifica normalmente una dirección y un puerto concretos.
Ejemplo:
Estado UP¶
El estado UP indica que Prometheus ha podido consultar el endpoint correctamente.
En PromQL se representa habitualmente mediante:
Interpretación:
Estado DOWN¶
El estado DOWN indica que Prometheus no ha podido consultar correctamente el endpoint.
Las causas pueden ser:
- Servicio detenido.
- Puerto incorrecto.
- Dirección incorrecta.
- Firewall.
- Error de red.
- Error DNS.
- Configuración incorrecta.
- Endpoint inaccesible.
Requisitos previos¶
Antes de comenzar, el alumno debe disponer de:
- Una máquina Linux de laboratorio.
- Acceso a una terminal.
- Permisos administrativos controlados.
- Prometheus instalado o accesible.
- Grafana instalado o accesible.
- Conectividad entre Prometheus y el servidor supervisado.
- Un directorio para guardar evidencias.
- Autorización para instalar o modificar Node Exporter.
Registrar los datos del entorno:
Alumno:
Grupo:
Fecha:
Nombre del servidor:
Dirección IP:
Sistema operativo:
Versión del sistema:
Entorno:
Prometheus:
Grafana:
Responsable del laboratorio:
Preparación del entorno¶
Crear el directorio de trabajo¶
mkdir -p ~/proyecto-final-grafana
mkdir -p ~/proyecto-final-grafana/evidencias/node-exporter
mkdir -p ~/proyecto-final-grafana/informe
Crear un registro de la práctica¶
cat > ~/proyecto-final-grafana/evidencias/node-exporter/registro-practica-2.txt <<'EOF'
# Registro - Práctica 2
Alumno:
Grupo:
Fecha:
Servidor:
Dirección IP:
Sistema operativo:
Versión de Node Exporter:
Puerto:
Estado inicial:
Estado final:
Target en Prometheus:
Problemas encontrados:
Correcciones:
Resultado:
EOF
Sesión 1: comprobar el sistema operativo¶
Objetivo¶
Identificar la máquina donde se ejecutará o validará Node Exporter.
Comandos¶
Consultar el nombre del host:
Consultar información del sistema:
Consultar la versión del kernel:
Consultar la distribución:
Consultar la arquitectura:
Registro¶
Resultado esperado¶
El alumno debe conocer exactamente en qué máquina está trabajando y confirmar que pertenece al entorno de laboratorio.
Sesión 2: comprobar si Node Exporter está instalado¶
Objetivo¶
Determinar si Node Exporter ya está disponible.
Comprobar el servicio¶
En algunos entornos, el servicio puede utilizar otro nombre:
Buscar el binario¶
También se puede buscar en ubicaciones habituales:
Comprobar la versión¶
Comprobar procesos¶
Registro¶
Interpretación¶
| Resultado | Interpretación |
|---|---|
| Servicio activo | Node Exporter está ejecutándose |
| Servicio inactivo | Está instalado, pero detenido |
| Servicio inexistente | No hay una unidad con ese nombre |
| Binario encontrado | Puede instalarse manualmente |
| Binario no encontrado | Es necesario instalarlo |
Sesión 3: comprobar el puerto 9100¶
Objetivo¶
Comprobar si Node Exporter está escuchando en el puerto habitual.
Comando¶
También se puede utilizar:
Resultado esperado¶
Una salida posible sería:
Interpretación¶
LISTENindica que existe un proceso escuchando.9100es el puerto utilizado.node_exporteridentifica el proceso.0.0.0.0indica que escucha en todas las interfaces IPv4.
Registro¶
Sesión 4: consultar el endpoint local¶
Objetivo¶
Comprobar que Node Exporter responde mediante HTTP.
Comando¶
La salida puede ser extensa. Para revisar solo algunas métricas:
Comprobar el código HTTP¶
Resultado esperado:
Guardar una muestra¶
curl -s http://localhost:9100/metrics \
| grep -E '^node_(cpu_seconds_total|memory_MemTotal_bytes|filesystem_size_bytes)' \
> ~/proyecto-final-grafana/evidencias/node-exporter/metrics-muestra.txt
Registro¶
URL:
Código HTTP:
Métrica de CPU disponible:
Métrica de memoria disponible:
Métrica de almacenamiento disponible:
Resultado:
Sesión 5: identificar métricas básicas¶
Objetivo¶
Reconocer las métricas que se utilizarán en el resto del curso.
CPU¶
Esta métrica es un contador acumulativo del tiempo de CPU.
Etiquetas habituales:
Ejemplo:
Memoria total¶
Memoria disponible¶
Tamaño del sistema de ficheros¶
Espacio disponible¶
Tiempo de actividad¶
Información del sistema¶
Red¶
Actividad¶
Completar la tabla:
| Necesidad | Métrica | Tipo aproximado | Etiquetas |
|---|---|---|---|
| CPU | |||
| Memoria total | |||
| Memoria disponible | |||
| Disco total | |||
| Disco disponible | |||
| Sistema operativo | |||
| Red recibida |
Sesión 6: instalar Node Exporter desde un paquete¶
Objetivo¶
Instalar Node Exporter utilizando el gestor de paquetes del sistema, si está disponible.
El procedimiento exacto depende de la distribución y de la versión del paquete.
Debian o Ubuntu¶
Buscar el paquete:
Actualizar el índice de paquetes, si está autorizado:
Instalar:
Comprobar el servicio:
En algunas distribuciones, el nombre del servicio puede ser:
RHEL, Rocky, AlmaLinux o Fedora¶
Buscar paquetes disponibles:
Instalar si el repositorio autorizado lo proporciona:
Comprobar el servicio:
Registro¶
Nota¶
Si el laboratorio ya incluye Node Exporter, no es necesario reinstalarlo. En ese caso, se debe documentar la instalación existente y continuar con la validación.
Sesión 7: instalar Node Exporter mediante un binario¶
Objetivo¶
Conocer el procedimiento general para instalar Node Exporter cuando no existe un paquete disponible.
Esta sesión debe realizarse únicamente con un binario proporcionado por el instructor o descargado desde una fuente autorizada.
Variables de ejemplo¶
Sustituir la versión por la proporcionada en el laboratorio:
export NODE_EXPORTER_VERSION="X.Y.Z"
export NODE_EXPORTER_ARCHIVE="node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz"
Crear un usuario de servicio¶
Si el usuario ya existe, el comando puede devolver un aviso. No se debe crear un segundo usuario con un nombre diferente sin documentarlo.
Crear el directorio de instalación¶
Copiar el binario¶
Después de obtener el binario autorizado:
Asignar permisos:
sudo chown root:root /opt/node_exporter/node_exporter
sudo chmod 0755 /opt/node_exporter/node_exporter
Comprobar la versión¶
Registro¶
Sesión 8: crear una unidad de systemd¶
Objetivo¶
Configurar Node Exporter como un servicio gestionado por systemd.
Crear el fichero:
Contenido de ejemplo:
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/opt/node_exporter/node_exporter
[Install]
WantedBy=multi-user.target
Recargar las unidades:
Activar el servicio para el arranque:
Iniciar el servicio:
Comprobar el estado:
Resultado esperado¶
El servicio debe aparecer como:
Registro¶
Fichero creado:
Usuario:
Grupo:
Comando ExecStart:
Servicio habilitado:
Servicio iniciado:
Resultado:
Sesión 9: revisar los logs de Node Exporter¶
Objetivo¶
Consultar los mensajes del servicio y detectar errores.
Consultar los logs recientes¶
Seguir los logs en tiempo real¶
Salir con:
Consultar desde el último arranque¶
Buscar errores¶
Posibles mensajes¶
Registro¶
Sesión 10: verificar el arranque automático¶
Objetivo¶
Comprobar que Node Exporter se iniciará automáticamente después de reiniciar la máquina.
Comprobar si está habilitado¶
Resultado esperado:
Comprobar el estado actual¶
Resultado esperado:
Verificar la configuración sin reiniciar¶
Registro¶
No reiniciar la máquina si el instructor no lo ha autorizado.
Sesión 11: revisar las opciones de Node Exporter¶
Objetivo¶
Consultar las opciones disponibles sin modificar todavía la configuración.
Ejecutar:
Si el binario está en otra ruta:
Revisar el puerto¶
Buscar la opción relacionada con la dirección de escucha:
Ejemplo:
Revisar el endpoint de métricas¶
Buscar:
El valor habitual es:
Actividad¶
Registrar:
Dirección de escucha por defecto:
Puerto por defecto:
Ruta de métricas:
Collectors disponibles:
Resultado:
Sesión 12: comprobar los collectors¶
Objetivo¶
Identificar qué grupos de métricas están habilitados.
Node Exporter utiliza collectors para obtener información de diferentes áreas del sistema.
Algunos collectors habituales son:
Consultar las métricas relacionadas¶
Registro¶
Consideración¶
No se deben activar collectors adicionales sin comprender su función y sin comprobar el impacto que pueden tener en el entorno.
Sesión 13: validar el acceso remoto¶
Objetivo¶
Comprobar que el endpoint puede ser consultado desde el servidor de Prometheus.
Esta sesión debe realizarse solo si Node Exporter y Prometheus están en máquinas distintas.
Desde el servidor de Prometheus¶
Comprobar solo las cabeceras:
Comprobar resolución de nombre¶
Comprobar conectividad TCP¶
Si está disponible:
Registro¶
Diagnóstico¶
Si falla la conexión, revisar:
- Dirección IP.
- Nombre DNS.
- Puerto configurado.
- Firewall local.
- Firewall de red.
- Dirección de escucha.
- Ruta de red.
- Estado del servicio.
Sesión 14: configurar el target en Prometheus¶
Objetivo¶
Añadir Node Exporter a la configuración de Prometheus.
La configuración puede encontrarse en una ruta similar a:
Antes de editar, realizar una copia de seguridad:
Añadir un job de ejemplo:
scrape_configs:
- job_name: "node_exporter"
static_configs:
- targets:
- "server-01:9100"
labels:
environment: "laboratory"
team: "systems"
Si se utiliza una dirección IP:
scrape_configs:
- job_name: "node_exporter"
static_configs:
- targets:
- "192.0.2.10:9100"
labels:
environment: "laboratory"
team: "systems"
Validar la configuración¶
La herramienta concreta depende de la instalación. Si está disponible:
Resultado esperado:
Recargar Prometheus¶
Si el servicio utiliza systemd:
Si no admite recarga:
El reinicio debe realizarse únicamente en el entorno de laboratorio y siguiendo las instrucciones del instructor.
Comprobar el servicio¶
Registro¶
Fichero modificado:
Copia de seguridad:
Job:
Target:
Etiquetas:
Validación:
Recarga o reinicio:
Resultado:
Sesión 15: comprobar el target en Prometheus¶
Objetivo¶
Confirmar que Prometheus puede recopilar las métricas.
Procedimiento¶
- Abrir la interfaz de Prometheus.
- Acceder a la página de targets.
- Buscar el job
node_exporter. - Revisar el target.
- Revisar el estado de salud.
- Revisar el último scrape.
- Revisar el último error.
URL habitual:
Estados esperados¶
Registro¶
Sesión 16: consultar Node Exporter desde Prometheus¶
Objetivo¶
Comprobar que las métricas ya están almacenadas en Prometheus.
Consultas¶
Disponibilidad:
Información de compilación:
CPU:
Memoria:
Sistema de ficheros:
Información del sistema:
Registro¶
Sesión 17: practicar filtros por etiquetas¶
Objetivo¶
Aprender a seleccionar métricas concretas mediante etiquetas.
Filtrar por job¶
Filtrar por instancia¶
Filtrar por modo de CPU¶
Filtrar por sistema de ficheros¶
Excluir sistemas de ficheros¶
Registro¶
Sesión 18: calcular CPU a partir de Node Exporter¶
Objetivo¶
Utilizar las métricas de Node Exporter para obtener una métrica más útil.
Consulta¶
Consulta por instancia¶
100 - (
avg by (instance) (
rate(node_cpu_seconds_total{
mode="idle",
instance="server-01:9100"
}[5m])
) * 100
)
Consulta por modo¶
Actividad¶
Comparar:
El valor de idle.
El valor de CPU utilizada.
El número de instancias.
El número de CPUs.
La evolución durante cinco minutos.
Sesión 19: calcular memoria a partir de Node Exporter¶
Objetivo¶
Utilizar las métricas de memoria para obtener valores absolutos y porcentuales.
Memoria total¶
Memoria disponible¶
Memoria utilizada en bytes¶
Memoria utilizada en porcentaje¶
Actividad¶
Registrar:
Sesión 20: calcular almacenamiento a partir de Node Exporter¶
Objetivo¶
Obtener el porcentaje utilizado de un sistema de ficheros.
Tamaño total¶
Espacio disponible¶
Porcentaje utilizado¶
100 * (
1 -
node_filesystem_avail_bytes{
mountpoint="/",
fstype!~"tmpfs|overlay"
}
/
node_filesystem_size_bytes{
mountpoint="/",
fstype!~"tmpfs|overlay"
}
)
Actividad¶
Registrar:
Punto de montaje:
Sistema de ficheros:
Tamaño total:
Espacio disponible:
Porcentaje utilizado:
Resultado:
Sesión 21: detener y recuperar Node Exporter¶
Objetivo¶
Observar cómo cambia el estado del target cuando el servicio se detiene.
Esta tarea debe realizarse únicamente en una máquina de laboratorio autorizada.
Comprobar el estado inicial¶
Comprobar desde Prometheus:
El valor esperado es:
Crear una anotación¶
Título:
Inicio de prueba de Node Exporter
Descripción:
Se detendrá temporalmente Node Exporter
para observar el estado del target en Prometheus.
Detener el servicio¶
Comprobar el endpoint¶
El endpoint debería dejar de responder correctamente.
Comprobar Prometheus¶
Revisar:
Consultar:
El valor esperado será:
Registrar¶
Hora de detención:
Estado del servicio:
Respuesta HTTP:
Estado del target:
Valor de up:
Mensaje de error:
Resultado:
Recuperar el servicio¶
Comprobar:
Consultar nuevamente:
El valor esperado será:
Registrar la recuperación¶
Hora de recuperación:
Estado del servicio:
Estado del target:
Valor de up:
Tiempo hasta la recuperación:
Resultado:
Sesión 22: simular un error de puerto¶
Objetivo¶
Comprender cómo afecta un puerto incorrecto al estado del target.
Esta tarea debe realizarse con cuidado y solo en el entorno de laboratorio.
Escenario¶
Node Exporter escucha en:
Prometheus está configurado temporalmente con:
Actividad¶
- Registrar la configuración original.
- Cambiar el puerto únicamente en el laboratorio.
- Validar la configuración.
- Recargar Prometheus.
- Revisar el estado del target.
- Registrar el error.
- Restaurar el puerto correcto.
- Recargar Prometheus.
- Confirmar la recuperación.
Registro¶
Target original:
Puerto incorrecto:
Estado observado:
Último error:
Corrección aplicada:
Estado final:
Resultado:
Limpieza obligatoria¶
Restaurar el target correcto:
Comprobar que el target vuelva a:
Sesión 23: diagnosticar un target DOWN¶
Situación¶
Procedimiento¶
Comprobar el servicio¶
Comprobar el proceso¶
Comprobar el puerto¶
Probar localmente¶
Probar remotamente¶
Revisar la configuración de Prometheus¶
Revisar los logs de Prometheus¶
Posibles errores¶
| Error | Posible causa |
|---|---|
connection refused |
Servicio detenido o puerto incorrecto |
connection timed out |
Firewall o problema de red |
no such host |
Error de DNS o nombre |
404 Not Found |
Ruta del endpoint incorrecta |
context deadline exceeded |
Endpoint lento o inaccesible |
server returned HTTP status 500 |
Error en el endpoint |
Registro¶
Target:
Estado:
Último error:
Servicio:
Puerto:
Prueba local:
Prueba remota:
Causa:
Corrección:
Resultado:
Sesión 24: diagnosticar un puerto ocupado¶
Situación¶
El servicio no inicia y los logs muestran:
Comprobar el proceso que utiliza el puerto¶
También:
Actividad¶
- Identificar el proceso.
- Determinar si pertenece a Node Exporter.
- Comprobar si existe una segunda instancia.
- No detener procesos desconocidos.
- Consultar al instructor si es necesario.
- Registrar la solución.
Registro¶
Sesión 25: diagnosticar un problema de permisos¶
Situación¶
El servicio no puede iniciar o no puede acceder a un recurso.
Revisar el estado¶
Revisar logs¶
Revisar el fichero de unidad¶
Revisar permisos del binario¶
Revisar el usuario¶
Registro¶
No se deben conceder permisos excesivos para resolver un error sin analizar antes la causa.
Sesión 26: revisar el rendimiento básico¶
Objetivo¶
Observar el impacto básico de Node Exporter.
Consultar el proceso:
Consultar con top:
Consultar el tamaño de la respuesta:
Registro¶
La finalidad es observar el servicio, no realizar una prueba de carga.
Sesión 27: guardar evidencias¶
Objetivo¶
Preparar evidencias de la instalación y validación.
Capturas recomendadas¶
01-servicio-node-exporter.png
02-version-node-exporter.png
03-puerto-9100.png
04-endpoint-metrics.png
05-target-up.png
06-consulta-up.png
07-consulta-cpu.png
08-consulta-memoria.png
09-consulta-filesystem.png
10-target-down.png
11-target-recuperado.png
12-logs-node-exporter.png
Ficheros recomendados¶
Revisión de seguridad¶
No incluir:
- Contraseñas.
- Tokens.
- Claves privadas.
- Credenciales.
- Direcciones sensibles innecesarias.
- Configuraciones de producción.
- Información personal no necesaria.
Sesión 28: completar el informe¶
Objetivo¶
Documentar las tareas realizadas y los resultados obtenidos.
Plantilla¶
# Informe - Práctica 2
## Identificación
Alumno:
Grupo:
Fecha:
Servidor:
Entorno:
## Objetivo
Validar o instalar Node Exporter y comprobar
la recopilación de métricas mediante Prometheus.
## Sistema
Sistema operativo:
Versión:
Arquitectura:
Nombre del host:
Dirección IP:
## Node Exporter
Versión:
Ruta del binario:
Nombre del servicio:
Puerto:
Endpoint:
Estado inicial:
Estado final:
## Métricas verificadas
- node_cpu_seconds_total
- node_memory_MemTotal_bytes
- node_memory_MemAvailable_bytes
- node_filesystem_size_bytes
- node_filesystem_avail_bytes
## Prometheus
Job:
Instance:
Estado del target:
Último scrape:
Último error:
## Pruebas
### Consulta local del endpoint
Comando:
Resultado:
### Consulta desde Prometheus
Consulta:
Resultado:
### Prueba de parada
Acción:
Estado observado:
Recuperación:
Resultado:
## Problemas encontrados
Problema:
Causa:
Corrección:
Resultado:
## Evidencias
Listado de capturas y ficheros.
## Conclusiones
Descripción de lo aprendido y mejoras propuestas.
Ejemplo completo de validación¶
Estado del servicio¶
Puerto¶
$ ss -lntp | grep ':9100'
LISTEN 0 4096 0.0.0.0:9100 0.0.0.0:* users:(("node_exporter",pid=1234,fd=3))
Endpoint¶
Consulta de Prometheus¶
Resultado:
Interpretación¶
Node Exporter está activo.
El puerto 9100 está escuchando.
El endpoint /metrics responde.
Prometheus puede consultar el target.
La métrica up tiene el valor 1.
El servidor está preparado para las siguientes prácticas.
Ejemplo de diagnóstico¶
Situación¶
Prometheus muestra:
Investigación¶
Comprobar el servicio:
Resultado:
Revisar el servicio:
Iniciar el servicio:
Comprobar:
Resultado:
Volver a Prometheus y comprobar:
Conclusión documentada¶
El target aparecía como DOWN porque Node Exporter estaba detenido.
El servicio se inició en el entorno de laboratorio y Prometheus
volvió a recopilar métricas correctamente.
Criterios de aceptación¶
La práctica se considera completada cuando:
- La máquina de laboratorio está identificada.
- Node Exporter está instalado o validado.
- El servicio está activo.
- El puerto está documentado.
- El endpoint
/metricsresponde. - Las métricas principales están disponibles.
- Prometheus tiene configurado el target.
- El target aparece como
UP. - La consulta
updevuelve el valor esperado. - Se han consultado métricas de CPU.
- Se han consultado métricas de memoria.
- Se han consultado métricas de almacenamiento.
- Se ha realizado al menos una prueba de diagnóstico.
- Se ha comprobado la recuperación del servicio.
- Las evidencias están organizadas.
- No se han expuesto credenciales.
- El informe está completo.
- El entorno se ha dejado en un estado estable.
Puntos clave¶
- Node Exporter expone métricas del sistema mediante HTTP.
- El endpoint habitual es
/metrics. - El puerto habitual es
9100. - Prometheus realiza scrapes periódicos contra Node Exporter.
- El estado
UPindica que el target responde correctamente. - El estado
DOWNindica un problema de recopilación. - La métrica
uppermite consultar la disponibilidad desde PromQL. - Las etiquetas
jobeinstanceidentifican el origen de una métrica. - Node Exporter no sustituye a Prometheus.
- Prometheus no sustituye a Grafana.
- El servicio debe comprobarse antes de investigar Prometheus.
- La conectividad debe probarse desde el servidor de Prometheus.
- Un puerto incorrecto puede provocar un target
DOWN. - Un firewall puede impedir el acceso al endpoint.
- Los logs ayudan a identificar errores de inicio y ejecución.
- El servicio debe ejecutarse con un usuario adecuado.
- No se deben conceder permisos excesivos.
- Las pruebas de parada deben realizarse solo en laboratorio.
- La recuperación debe comprobarse después de cada prueba.
- La documentación debe incluir versión, puerto, target y resultado.
Preguntas de comprobación¶
- ¿Qué función cumple Node Exporter?
- ¿Qué diferencia existe entre Node Exporter y Prometheus?
- ¿Qué diferencia existe entre Prometheus y Grafana?
- ¿Cuál es el endpoint habitual de Node Exporter?
- ¿Cuál es el puerto habitual de Node Exporter?
- ¿Qué significa que un target esté en estado
UP? - ¿Qué significa que un target esté en estado
DOWN? - ¿Qué representa la métrica
up? - ¿Qué información proporciona la etiqueta
job? - ¿Qué información proporciona la etiqueta
instance? - ¿Cómo comprobarías si el servicio está activo?
- ¿Cómo comprobarías si el puerto 9100 está escuchando?
- ¿Cómo comprobarías que
/metricsresponde? - ¿Qué revisarías si aparece
connection refused? - ¿Qué revisarías si aparece
connection timed out? - ¿Qué puede provocar un error
no such host? - ¿Cómo comprobarías que Prometheus recopila métricas?
- ¿Por qué es importante validar la configuración antes de recargar Prometheus?
- ¿Qué riesgos tiene detener Node Exporter en un sistema no autorizado?
- ¿Qué evidencias deben incluirse en la entrega?
- ¿Por qué debe utilizarse un usuario de servicio?
- ¿Qué información debe contener el informe de esta práctica?
- ¿Cómo comprobarías que Node Exporter se inicia automáticamente?
- ¿Qué pasos seguirías para diagnosticar un target
DOWN? - ¿Qué resultado demostraría que la práctica se ha completado correctamente?
Resultado esperado¶
Al finalizar la práctica, el alumno deberá disponer de un Node Exporter operativo y validado.
El flujo completado será:
Identificar el servidor
|
v
Comprobar el sistema operativo
|
v
Comprobar Node Exporter
|
v
Comprobar el puerto 9100
|
v
Consultar /metrics
|
v
Identificar métricas
|
v
Configurar el servicio
|
v
Configurar Prometheus
|
v
Comprobar el target
|
v
Ejecutar consultas PromQL
|
v
Probar un fallo controlado
|
v
Comprobar la recuperación
|
v
Guardar evidencias
|
v
Documentar el resultado
El alumno debe poder explicar:
Qué es Node Exporter.
Qué métricas expone.
En qué puerto escucha.
Cómo lo consulta Prometheus.
Qué significa el estado UP.
Qué significa el estado DOWN.
Cómo se diagnostica un error.
Cómo se comprueba la recuperación.
Node Exporter será la base de las siguientes prácticas. Una vez que el agente expone métricas y Prometheus puede recopilarlas, será posible construir consultas más completas, crear dashboards operativos y definir alertas sobre CPU, memoria, almacenamiento y disponibilidad.