задачу с PromQL (Victoria Metrics)
query={name=~"spinenas.cpu.*.idle"}
все ок
{"status":"success","data":{"resultType":"matrix","result":[{"metric":{"name":"spinenas.cpu.0.cpu.idle"},"values":[[1590443492,"98.999632"],[1590443792,"98.999632"]]},{"metric":{"name":"spinenas.cpu.1.cpu.idle"},"values":[[1590443492,"98.699634"],[1590443792,"98.699634"]]},{"metric":{"name":"spinenas.cpu.2.cpu.idle"},"values":[[1590443492,"98.999631"],[1590443792,"98.999631"]]},{"metric":{"name":"spinenas.cpu.3.cpu.idle"},"values":[[1590443492,"94.499653"],[1590443792,"94.499653"]]}]}}
хочу вычислить 100-значение, вопрос КАК? (в influx с его SQL подобным языком это делалось интуитивно для меня, а тут не догоняю)
на казалось бы понятный query=100-{name=~"spinenas.cpu.*.idle"} - спотыкается
{"status":"error","errorType":"422","error":"error when executing query=\"100-{name=~\\\"spinenas.cpu.*.idle\\\"}\" on the time range (start=1590443494000, end=1590443794000, step=300000): cannot execute query: duplicate output timeseries: {}"}
наверное надо вставить где-то by(name ) ? (у меня больше ничего нет, т.к. импорт из графита)
Вм, как и прометеус, удаляет имена метрик (то, что записано в __name__) при выполнении вычислений вроде 100-something. Остаются только лейблы. Можно перенести имя метрики в другой лейбл с помощью label_copy(query, "__name__", "foobar"), чтобы он не удалился при последующих вычислениях. См. https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/MetricsQL
Обсуждают сегодня