Вы можете использовать что-то вроде этого:
max_over_time(disk_up[1h])
unless
disk_up
Т.е. метрика существовала в любое время в течение последнего 1 часа, но не существует сейчас.
Вы получите ложноположительный результатесли метрика disk_up
всплывает для некоторого diskC
, хотя.Или если метрика получает или теряет одну метку из-за экспортера или вашей конфигурации Prometheus.
Вы можете избежать первой, явно отфильтровывая диски / экземпляры / все, что вас интересует, но это поставит вас в тупикне жестко их кодировать.Хотя, вероятно, разумнее сделать:
max_over_time(disk_up{disk~="disk(A|B)"}[1h])
unless
disk_up{disk~="disk(A|B)"}
Или, по крайней мере,
max_over_time(disk_up{job="my_disk_job"}[1h])
unless
disk_up{job="my_disk_job"}