Допустим, у меня есть 2 значения поля, такие как cpu_load
и ram_load
, и тег, такой как proc_id
Я хочу создать запрос таким образом, чтобы в Grafana я мог видеть последние x минут Использование процессора для N процессов, потребляющих больше памяти, где top основано на самом текущем значении.
Примерные данные будут:
| time | proc_id | cpu_load | ram_load |
+======+=========+==========+==========+
| t1 | 1 | 1 | 3 |
| t1 | 2 | 1 | 3 |
| t1 | 3 | 1 | 3 |
| t1 | 4 | 1 | 3 |
| t2 | 1 | 2 | 5 |
| t2 | 2 | 2 | 5 |
| t2 | 3 | 2 | 5 |
| t2 | 4 | 2 | 5 |
| t3 | 1 | 3 | 7 |
| t3 | 2 | 3 | 8 |
| t3 | 3 | 3 | 9 |
| t3 | 4 | 3 | 10 |
В таблицы, сгруппированные по proc_id, но только верх 2 процесс, основанный на ram_load в момент времени t3. В этом примере эти процессы будут 4 и 3
| time | proc_id | cpu_load |
+======+=========+==========+
| t1 | 3 | 1 |
| t2 | 3 | 2 |
| t3 | 3 | 3 |
и
| time | proc_id | cpu_load |
+======+=========+==========+
| t1 | 4 | 1 |
| t2 | 4 | 2 |
| t3 | 4 | 3 |
Как мне этого добиться? Я посмотрел на подзапросы с помощью вложенных выборок, top (), last (), но я не мог заставить его работать.