在 SeriesSet 操作中避免除以零
對於系列操作,如果右側沒有相應的時間戳/資料點,則從左側刪除事物。你可以將它與 dropbool 函式混合以避免除以零:
$five = q("sum:rate{counter,,1}:haproxy.frontend.hrsp{}{status_code=5xx}", "1h", "")
$two = q("sum:rate{counter,,1}:haproxy.frontend.hrsp{}{status_code=2xx}", "1h", "")
$two / dropbool($five, ($five > 0))
在 dropbool 之後可能會有一個空集也會出錯。因此,建議將系列操作用於視覺化,並且對於警報,建議在表示式中使用縮減功能。或者你可以在還原後將操作包裝在 nv 函式中:nv(avg($two / dropbool($five, ($five > 0))), 0)