habe ich eine Reihe, die einen disk,
path
(/mnt/disk1
, /mnt/disk2
, usw.) enthält, und total
Raum einer Festplatte. Es enthält auch free
und used
Werte. Diese Werte werden in einem bestimmten Intervall aktualisiert. Was ich tun möchte, ist Abfrage, um die Summe der total
der last()
jedes Pfades zu erhalten. Ich möchte auch dasselbe für free
und für used
tun, um eine Zusammenfassung der Gesamtgröße, des freien Speicherplatzes und des belegten Speicherplatzes aller meiner Festplatten auf meinem Server zu erhalten.SUM (LAST()) auf GROUP BY
Ich habe eine Abfrage hier, dass mir die last(total)
aller Platten erhalten werden, indem Sie den Pfad gruppiert (zur Unterscheidung):
select last(total) as total from disk where path =~ /(mnt\/disk).*/ group by path
Derzeit diese liefert 5-Serie, die jeweils 1 Reihe (das Neueste) und der Wert seiner total
. Ich möchte dann die Summe dieser Serien nehmen, aber ich kann nicht einfach die last(total)
in einen sum()
Funktionsaufruf wickeln. Gibt es eine Möglichkeit, dies zu tun, die ich vermisse?
Hier sprechen sie über verschachtelte Funktionen, die in InfluxDB noch nicht generell unterstützt werden. https://github.com/influxdata/influxdb/issues/6823. Die vorgeschlagene Umgehungslösung besteht darin, einen CQ für einen Wert (z. B. total) zu erstellen und den CQ unter Verwendung der anderen Funktion (z. B. last()) abzufragen. – Jason