Cuestionario de Prometheus
Un cuestionario para poner a prueba tu comprensión de Prometheus.
- ¿Cuál es el método de recopilación de datos de Prometheus?
- A) Basado en Push: las aplicaciones envían métricas
- B) Basado en Pull: Prometheus recopila métricas de los objetivos
- C) Basado en streaming: flujos de datos en tiempo real
- D) Basado en lotes: transferencias periódicas de archivos
Mostrar respuesta
Respuesta: B) Basado en Pull: Prometheus recopila métricas de los objetivos
Explicación: Prometheus es un sistema de recopilación de métricas basado en Pull que recopila periódicamente métricas de los endpoints /metrics de los objetivos mediante HTTP. Las ventajas de este enfoque son el control centralizado de los objetivos y los intervalos de recopilación, y la detección automática de la disponibilidad de los objetivos.
- ¿Cuál es la consulta PromQL correcta para calcular la tasa de solicitudes HTTP durante los últimos 5 minutos?
- A)
rate(http_requests_total, 5m) - B)
rate(http_requests_total[5m]) - C)
increase(http_requests_total[5m]) - D)
avg(http_requests_total[5m])
- A)
Mostrar respuesta
Respuesta: B) rate(http_requests_total[5m])
Explicación: La función rate() calcula la tasa de incremento promedio por segundo de las métricas Counter. Los vectores de rango especifican el tiempo entre corchetes []. increase() devuelve el incremento total y avg() es una función de agregación que calcula promedios. rate(http_requests_total[5m]) calcula las solicitudes por segundo durante 5 minutos.
- ¿Cuál es la función de ServiceMonitor en Prometheus Operator?
- A) Despliega el servidor Prometheus
- B) Define reglas de alertas
- C) Define los servicios que se monitorizarán y las configuraciones de recopilación
- D) Crea dashboards de Grafana
Mostrar respuesta
Respuesta: C) Define los servicios que se monitorizarán y las configuraciones de recopilación
Explicación: ServiceMonitor es un CRD de Prometheus Operator que define de forma declarativa las configuraciones de recopilación para monitorizar servicios de Kubernetes. Puedes configurar selectores de servicios objetivo, endpoints, intervalos de recopilación, relabeling de etiquetas, etc. PrometheusRule gestiona las reglas de alertas y el CRD Prometheus gestiona el despliegue del servidor.
- ¿Qué afirmación sobre la función histogram_quantile es correcta?
- A) Solo puede utilizarse con métricas Summary
- B) Calcula cuantiles a partir de buckets Histogram
- C) Devuelve valores de cuantiles exactos
- D) Calcula la tasa de cambio de las métricas Counter
Mostrar respuesta
Respuesta: B) Calcula cuantiles a partir de buckets Histogram
Explicación:histogram_quantile() calcula cuantiles a partir de datos de buckets Histogram. Por ejemplo, histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m])) calcula la latencia p95. Devuelve aproximaciones basadas en los límites de los buckets; utiliza Summary para cuantiles exactos.
- ¿Qué componente NO está incluido en el chart Helm kube-prometheus-stack?
- A) Prometheus Operator
- B) Grafana
- C) VictoriaMetrics
- D) Alertmanager
Mostrar respuesta
Respuesta: C) VictoriaMetrics
Explicación: kube-prometheus-stack es un chart Helm que incluye Prometheus Operator, Prometheus, Alertmanager, Grafana, kube-state-metrics, node-exporter y más. VictoriaMetrics es un proyecto independiente, instalado mediante el chart victoria-metrics-k8s-stack.
- ¿Cuál es el propósito principal de Remote Write en Prometheus?
- A) Mejorar el rendimiento del almacenamiento local
- B) Enviar datos al almacenamiento de métricas a largo plazo
- C) Enviar alertas en tiempo real
- D) Sincronizar dashboards de Grafana
Mostrar respuesta
Respuesta: B) Enviar datos al almacenamiento de métricas a largo plazo
Explicación: Remote Write es una funcionalidad que envía las métricas recopiladas por Prometheus a sistemas externos (VictoriaMetrics, Mimir, AMP, Cortex, etc.). Dado que el almacenamiento local de Prometheus tiene limitaciones de retención y escalabilidad, Remote Write se utiliza para enviar datos a almacenamiento especializado para la retención a largo plazo.
- ¿Cuál es la función del campo
foren el CRD PrometheusRule?- A) Establecer el intervalo de evaluación de reglas
- B) Establecer la duración de la condición antes de que se active la alerta
- C) Establecer el intervalo de reenvío de alertas
- D) Establecer el período de retención de métricas
Mostrar respuesta
Respuesta: B) Establecer la duración de la condición antes de que se active la alerta
Explicación: El campo for en PrometheusRule establece el tiempo de espera después de que se cumpla una condición de alerta antes de que la alerta se active realmente. Por ejemplo, for: 5m significa que la condición debe persistir durante 5 minutos antes de que se active la alerta. Esto evita alertas innecesarias causadas por picos temporales.
- ¿Cuál es el propósito de la función
predict_linearen PromQL?- A) Calcular el valor absoluto del valor actual
- B) Predecir valores futuros basándose en regresión lineal
- C) Ordenar datos de series temporales
- D) Transformar valores de etiquetas
Mostrar respuesta
Respuesta: B) Predecir valores futuros basándose en regresión lineal
Explicación:predict_linear(v range-vector, t scalar) utiliza regresión lineal para predecir valores futuros. Por ejemplo, predict_linear(node_filesystem_avail_bytes[6h], 24*60*60) < 0 predice si el espacio en disco se agotará en 24 horas con la tendencia actual. Es útil para la planificación de capacidad y las alertas proactivas.
- ¿Cuál es la función de la configuración
groupByde Alertmanager?- A) Enviar alertas solo a grupos específicos
- B) Agrupar alertas por etiquetas especificadas
- C) Establecer la prioridad de las alertas
- D) Eliminar alertas duplicadas
Mostrar respuesta
Respuesta: B) Agrupar alertas por etiquetas especificadas
Explicación:groupBy agrupa las alertas por etiquetas especificadas y las envía como una única notificación. Por ejemplo, groupBy: ['alertname', 'namespace'] agrupa las alertas con el mismo alertname y namespace. Esto evita tormentas de alertas y permite ver juntas las alertas relacionadas.
- ¿Cuál es la función de WAL (Write-Ahead Log) en Prometheus TSDB?
- A) Caché de consultas
- B) Registro anticipado de escritura para evitar la pérdida de datos
- C) Almacenar el historial de alertas
- D) Almacenar la configuración de dashboards
Mostrar respuesta
Respuesta: B) Registro anticipado de escritura para evitar la pérdida de datos
Explicación: WAL (Write-Ahead Log) es un registro que guarda datos secuencialmente antes de que se escriban por completo desde la memoria en bloques de disco. Incluso si Prometheus termina de forma anómala, los datos pueden recuperarse mediante el WAL para evitar la pérdida de datos. Es un mecanismo de durabilidad utilizado habitualmente en bases de datos.