web-dev-qa-db-fra.com

Obtention d'un total de deux séries de données d'InfluxDB à Grafana

Je suis perplexe à ce stade. J'ai passé un jour ou trois dans les profondeurs d'Influx et de Grafana, pour obtenir des graphiques tracés qui sont essentiels à mes besoins. Cependant, avec le dernier, je dois totaliser deux mesures (deux incréments, dans la valeur de la colonne). Appelons-les notifications.one et notifications.two. Dans le graphique que je souhaiterais qu'ils affichent, cela fonctionnerait bien comme un total des deux, une seule ligne de graphique, affichant (notifications.one + notifications.two) au lieu de deux séparées.

J'ai essayé avec l'habituel SELECT sum(value) from les deux, mais je n'en tire aucune donnée (ce qui existe!). Il y a aussi merge () mentionné dans la documentation d'Influx, mais cela ne fonctionne pas non plus. 

La documentation pour la fusion nécessite quelque chose comme:

SELECT mean(value) FROM /notifications.*/ WHERE ...

Cela aussi revient comme une ligne zéro plat.

J'espère que ma question aura un certain poids, car je dispose de peu de connaissances pour faire en sorte que le problème soit aussi précis que possible.

Je vous remercie.

4

Dans InfluxDB 0.9, il n’existe aucun moyen de fusionner les résultats de la requête entre les mesures. Dans une mesure, toutes les séries sont fusionnées par défaut, mais aucune série ne peut être fusionnée d'une mesure à l'autre. Voir https://influxdb.com/docs/v0.9/concepts/08_vs_09.html#joins pour plus de détails.

Un meilleur schéma pour 0.9 est au lieu de deux mesures: notifications.one et notifications.two, ayez une mesure notifications avec foo=one et foo=two comme balises sur cette mesure unique. Ensuite, la requête pour les valeurs fusionnées est juste SELECT MEAN(value) FROM notifications et la requête par série est alors SELECT MEAN(value) FROM notifications GROUP BY foo.

4
beckettsean

Avec InfluxDB 0.12 vous pouvez écrire:

SELECT MEAN(usage_system) + MEAN(usage_user) + MEAN(usage_irq) AS cpu_total 
  FROM cpu
  WHERE time > now() - 10s 
  GROUP BY Host;

Ces fonctionnalités ne sont pas encore vraiment documentées, mais vous pouvez consulter les opérateurs pris en charge opérateurs mathématiques .

12
Tombart

Je pense que, selon la question, il est possible de regrouper des requêtes de la même manière que des requêtes imbriquées dans le SGBDR. Ceci peut être réalisé en utilisant des requêtes continues dans influxdb. Cette documentation l'explique clairement. Fondamentalement, vous devez créer une requête à partir d’autres requêtes, puis utiliser cette requête nouvellement créée pour extraire la série.

https://docs.influxdata.com/influxdb/v1.1/query_language/continuous_queries/#substituting-for-nested-functions

1
Naveen Kumar