2017-06-06 2 views
0

J'utilise telegraf-influxdb-grafana ensemble. Mais je ne pouvais pas obtenir de rang pour le dernier horodatage. Voici ce que je fais.grafana-influxdb obtenir plusieurs lignes pour le dernier horodatage

  • Collecte de statistiques DB (exécution de requêtes à ce moment-là) avec Telegraf (plugin exec).

  • Stockage sortie influxdb

  • Essayer de surveiller les requêtes en cours d'exécution sur grafana

Mais je dois obtenir toutes les lignes au dernier horodatage.

Voici ce que j'ai essayé;

> select * from postgresql_running_queries where time=(select max(time) from postgresql_running_queries) 
ERR: error parsing query: found SELECT, expected identifier, string, number, bool at line 1, char 54 

Voici ce que je veux voir;

Time     DB  USER  STATE    QUERY 
2017-06-06 14:25.00 mydb myuser active    my_query 
2017-06-06 14:25.00 mydb myuser idle in transaction my_query2 
2017-06-06 14:25.00 mydb2 myuser2 active    my_query3 

Quelqu'un peut-il m'aider à réaliser cela? Je suis ouvert à toute solution.

Répondre

0
select last(fieldname) from measurment_name; 

La requête dans ce format renvoie les données de l'horodatage de la base de données InfluxDB.

Mais je suis surpris par le fait que vous attendez 3 valeurs pour un seul horodatage (sauf si vous avez des valeurs TAG différentes, référez-vous à cette documentation how to store duplicate points). Vous aurez un seul enregistrement pour un horodatage donné. InfluxDB remplace le contenu précédent s'il existe une autre entrée pour le même horodatage, here is why.

Vos résultats seront quelque chose comme (si vous n'avez pas autre valeur TAG):

Time     DB  USER  STATE    QUERY 
2017-06-06 14:25.00 mydb2 myuser2 active    my_query3 

EDIT:

Sur la base de commentaires, je suppose que vous utilisez des balises pour différencier encore Au-dessus de la requête devrait fonctionner, sinon, vous pouvez essayer en ajoutant la clause WHERE.

+0

En fait, il n'écrase pas. J'ai des métriques de Telegraf stockées dans InfluxDB. Par exemple cpu. Les métriques 16cpu ont le même horodatage. [image_for_query] (https://ibin.co/3P9LdTprLj5j.png) –

+1

16 mesures ont le même horodatage, ont du sens. Mais vous ne pouvez pas avoir deux fois l'horodatage de SAME (sauf si vous avez deux tags différents). – kosa

+0

Oh merci, maintenant j'ai eu ça. Mais y a-t-il des db que nous pouvons utiliser avec Telegraf et Grafana, similaires à InfluxDB? J'ai besoin de stocker des métriques qui ont le même horodatage (sans étiquette différente) et je pourrais obtenir plusieurs lignes au dernier horodatage. –