Cómo hacer referencia a los valores de consulta dentro de otra consulta de Prometheus.
Estoy tratando de crear una regla que tome como filtro la salida de una regla grabada.
He creado una regla de alerta que debería monitorear si una tarea cron reciente ha fallado. Utilizo una regla de grabación para obtener una marca de tiempo de la última ejecución de la tarea cron y quiero usar ese valor para filtrar la tarea con el estado de falla establecido en verdadero. He intentado algunas cosas, pero parece que no puedo referenciar el valor grabado dentro de la próxima consulta.
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: alertas-de-cronjob
namespace: openshift-monitoring
labels:
openshift.io/prometheus-rule-evaluation-scope: leaf-prometheus
spec:
groups:
- name: kube-cron
rules:
- record: job<cronjob:job:name expr:="" |=""></cronjob:job:name><cronjob>labels{namespace="dev-v1", label=cronjob="weekly-availability-reporting-cronjob"} * on() kube<cronjob>status<last>schedule<time{namespace="dev-v1;} -="" alert:="" estadodecronjobfallido="" expr:="" |=""></time{namespace="dev-v1;}><job>failed{namespace="dev-v1",condition="true", jobname="weekly-availability-reporting-cronjob-{{ job_cronjob:job:name}}"}==1
<h1>for: 1m</h1>
<pre><code> annotations:
description: ''Intento 1''
</code></pre>
¿Alguien sabe cómo referenciar adecuadamente el valor de job_cronjob:job:name dentro del filtro de expresión?
davy.ai
Para hacer referencia al valor de la regla registrada “job_cronjob:job:name” dentro del filtro de expresión de alerta, puedes usar la sintaxis “{{ }}”. Entonces, en el campo “expr” de la alerta, puedes hacer referencia al valor registrado como: “job_name=”weekly-availability-reporting-cronjob-{{ job_cronjob:job:name }}””. Esto sustituirá adecuadamente el valor de la regla registrada en el filtro de expresión de alerta.