Grafana: Grafana 2.0 : Source de données SQL

CrĂ©Ă© le 28 fĂ©vr. 2015  Â·  168Commentaires  Â·  Source: grafana/grafana

Avec le backend vient la possibilité d'avoir une source de données SQL.

Je pense que lorsque vous ajoutez la source de données, vous

  • type de base de donnĂ©es (initialement uniquement mysql et postgres et sqlite3)
  • dĂ©tails de connexion Ă  la base de donnĂ©es
  • spĂ©cifier un modĂšle de requĂȘte mĂ©trique (essentiellement une requĂȘte SQL avec des paramĂštres)
  • spĂ©cifier un modĂšle de requĂȘte d'annotation

Peut-ĂȘtre aussi une option pour autoriser les requĂȘtes SQL RAW Ă  partir de l'interface de requĂȘte de mĂ©trique du panneau.

D'autres idées ?

typfeature-request

Commentaire le plus utile

+1 pour SQLite

Tous les 168 commentaires

Je suggérerais personnellement quelque chose de plus dans la lignée de Cassandra (CQL) ou SparkSQL

Wow, cela nous est trĂšs utile.

  • ajouter un tableau de serveurs db pour l'Ă©quilibrage de charge
  • un champ qui concatĂšne un LIMIT X Ă  la requĂȘte
  • un switch pour ORDER BY ASC DESC
  • choisi les colonnes db pour TIME et pour VALUE de la table mysql ?

@phagedorn certains comme ça, pas sûr du commutateur pour l'ordre asc/desc, grafana les veut toujours dans l'ordre croissant (par temps). pas sûr de la limite x non plus.

plus comme un modĂšle de requĂȘte mĂ©trique (Ă©crit par l'utilisateur lorsqu'il ajoute la source de donnĂ©es), ce n'est qu'un exemple, je n'y ai pas encore beaucoup rĂ©flĂ©chi.

SELECT MyValue as Value, Timestamp as Time 
  FROM MyMetrics
  WHERE SeriesName IN (?SeriesList) AND Time > (?TimeFrom) AND Time < (?TimeTo)
  ORDER BY Timestamp ASC 

@syepes Je pense comme premiĂšre Ă©tape pour mettre en Ɠuvre quelque chose de simple. Pourriez-vous dĂ©crire davantage ce qu'il faudrait pour implĂ©menter CQL ou SparkSQL au-dessus d'une base de donnĂ©es SQL gĂ©nĂ©rique et quels avantages ? SparkSQL semble intĂ©ressant du point de vue analytique, une implĂ©mentation de golang ?

+1 pour autoriser le SQL brut

@torkelo : Les modĂšles de requĂȘte sonnent bien :+1:
Fonctionnerait pour moi pour les tables existantes

Cette source de donnĂ©es aura-t-elle un Ă©diteur de suggestions ? Quels backends de base de donnĂ©es pour cette source de donnĂ©es peuvent ĂȘtre utilisĂ©s ?

également intéressé à autoriser le SQL brut

Initialement mysql et postgres, aucune saisie semi-automatique ne sera incluse initialement

intéressé +1

:+1: pour postgres

:+1: pour postgres

:+1: pour postgres avec type JSON

:+1: pour postgres avec type JSON

Une idée de la feuille de route lorsque la source de données SQL sera disponible ? En 2.0 ou 2.1 ?

@juliusloman pas sĂ»r, peut-ĂȘtre dans 2.2 ou 2.3, tellement d'autres choses qui ont Ă©tĂ© mises Ă  2.1 qui doivent d'abord se produire

Mais un PR est toujours le bienvenu

Avoir une source de donnĂ©es SQL fera certainement de grafana un outil d'analyse de premier plan. J'aimerais beaucoup le voir. Torkel, dĂ©solĂ© de ne pas ĂȘtre familier avec github, qu'est-ce que les relations publiques impliquent ?
+

@ hceylan97 cela implique que quelqu'un essaie de l'implémenter et le soumet en tant que demande d'extraction (c'est-à-dire un correctif de fonctionnalité), devrai le faire car j'aurai probablement plus de problÚmes de priorité élevée pour le prochain quelques mois

à part vous, curieux de savoir si quelqu'un d'autre travaille là-dessus ?

:+1:

+1 mysql

@torkelo Je pourrais commencer un PR pour cela en attendant la quantitĂ© de travail attendue. J'adorerais dĂ©couvrir comment crĂ©er de nouvelles sources de donnĂ©es afin que nous puissions en intĂ©grer davantage dans Grafana. Pourriez-vous donner un aperçu de ce qui doit ĂȘtre fait pour ajouter une nouvelle source de donnĂ©es et du travail restant pour la prise en charge SQL gĂ©nĂ©rique ?

+1 Oracle

+1 MS SQL

:+1: pour postgres avec type JSON

+1 postgres / postgres avec type JSON

@torkelo ping à nouveau car cela a été repoussé de deux mois. J'aimerais ajouter un peu de support pour les nouvelles sources de données dans Grafana et j'aimerais un aperçu de la façon de le faire et de ce qui reste pour le support SQL générique (vous apprécierez certainement si je pouvais aussi sortir un PR :) )

@agilgur5 aucun travail n'a encore été fait à ce sujet

@torkelo et d0d995d ? En tout cas un récapitulatif serait trÚs apprécié

@agilgur5 qui fonctionnait principalement sur le systÚme de plug-in de source de données, rien de spécifique à une source de données SQL

+1 MS SQL !!!

avec MySQL en face vous pouvez insérer dans n'importe quel SGBD avec le moteur XA & Connect !

spĂ©cifier un modĂšle de requĂȘte mĂ©trique (essentiellement une requĂȘte SQL avec des paramĂštres)
spĂ©cifier un modĂšle de requĂȘte d'annotation

je me demande si cela est nĂ©cessaire? c'est peut-ĂȘtre des tracas supplĂ©mentaires que nous pouvons Ă©viter.
ne suffit-il pas de spĂ©cifier la table et les colonnes lors de l'utilisation de la DS ? ou peut-ĂȘtre spĂ©cifiez la table dans le DS afin que vous n'ayez qu'Ă  spĂ©cifier des colonnes lorsque vous l'utilisez. Je soupçonne qu'il y aura de nombreuses tables avec chacune seulement quelques colonnes.

C'est quoi l'ETA pour ça ?

@EliSnow https://github.com/grafana/grafana/milestones dit vers le 29 septembre. Cette fonctionnalitĂ© seule peut ĂȘtre effectuĂ©e avant cela, et il est Ă©galement possible qu'elle soit repoussĂ©e (comme cela a dĂ©jĂ  Ă©tĂ© le cas plusieurs fois). Quoi qu'il en soit, je ne pense pas qu'un travail soit fait Ă  ce sujet avant la version 2.1.

+1 MS SQL ; +1 requĂȘte avec paramĂštres
En fait pourquoi je demande. Le moyen le plus simple de mettre des compteurs de performances sur la scĂšne Ă  partir de nombreuses fenĂȘtres Windows est de configurer des collecteurs de donnĂ©es sur eux pour mettre les donnĂ©es directement dans MS SQL sans aucun "collecteur intermĂ©diaire". Ce serait donc vraiment gĂ©nial d'avoir une option juste pour lire ces donnĂ©es Ă  partir de MS SQL. Ce serait donc une trĂšs bonne option !

+1 - Postgres.

Postgres est juste une base de données phénoménale. Si j'ai le temps, je pourrais me pencher sur ce @torkelo

@torkelo , j'aimerais contribuer à ce que cela soit fait. Je regarde le commit référencé précédemment pour le systÚme de plugin de source de données (d0d995d). Existe-t-il de la documentation pour le systÚme de plugins ? Quelles piÚces sont nécessaires ? En regardant d'autres sources de données dans le répertoire /public/app/plugins/datasource , il semble qu'il s'agisse simplement de Javascript (Angular + AMD) et de quelques modÚles HTML. Un code Go est-il requis pour que cela fonctionne ou s'agit-il strictement de Javascript ?

Étant donnĂ© que les bases de donnĂ©es SQL n'ont gĂ©nĂ©ralement pas d'API http, il devra y avoir du code backend go

+1 MySQL et Cassandre

C'est un peu hors sujet, mais je pense que c'est une bonne étape (ou une étape alternative) vers l'obtention d'une source de données SQL. Ce serait formidable de permettre à un utilisateur administrateur, à partir de l'interface utilisateur, d'ajouter une source de données HTTP personnalisée.

L'utilisateur admin peut spĂ©cifier l'url de base et une fonction javascript qui transforme une requĂȘte en une vĂ©ritable requĂȘte http. Ils pourraient Ă©galement fournir des fonctions de mappage javascript qui transformeraient les donnĂ©es renvoyĂ©es par la requĂȘte http en un format commun compris par grafana. Finalement, il pourrait y avoir une interface permettant aux utilisateurs de crĂ©er leur propre gĂ©nĂ©rateur de requĂȘtes d'interface utilisateur, ce qui pourrait permettre des conseils, etc. L'un des Ă©lĂ©ments les plus importants de ceci est qu'il doit ĂȘtre bien documentĂ©.

Pourquoi est-ce pertinent pour ce problĂšme? Certaines personnes peuvent choisir d'avoir leur base de donnĂ©es SQL accessible via un point de terminaison HTTP plutĂŽt que d'autoriser un accĂšs direct. Peut-ĂȘtre que grafana n'est pas sur le mĂȘme rĂ©seau que la base de donnĂ©es et qu'il n'a pas d'accĂšs direct pour des raisons de sĂ©curitĂ©. MĂȘme si la base de donnĂ©es est directement accessible et que l'utilisateur peut fournir du SQL brut, il reste le problĂšme selon lequel, compte tenu d'une requĂȘte SQL arbitraire, grafana ne saura pas dans quel format les donnĂ©es sont renvoyĂ©es et les fonctions de mappage javascript seront toujours nĂ©cessaires. (peut-ĂȘtre au niveau graphique/tableau de bord).

Pour Ă©viter XSS, nous ne voulons peut-ĂȘtre pas qu'un utilisateur non administrateur modifie un tableau de bord et fournisse des fonctions javascript qui seront exĂ©cutĂ©es sur la page. Cela pourrait ĂȘtre Ă©vitĂ© en exigeant que les requĂȘtes SQL renvoient des donnĂ©es dans un format spĂ©cifiĂ©. Alternativement, XSS pourrait peut-ĂȘtre ĂȘtre attĂ©nuĂ© par CSP.

Je reconnais qu'une personne dĂ©terminĂ©e peut actuellement ajouter une source de donnĂ©es HTTP personnalisĂ©e en modifiant le code source, mais c'est plus difficile car : 1) ce n'est pas documentĂ© (Ă  ma connaissance) et 2) cela nĂ©cessite que diffĂ©rentes personnes soient impliquĂ©, en assumant une position oĂč les rĂŽles "devops" et "grafana admin" sont remplis par des personnes diffĂ©rentes.

Personnellement, j'ai pu ajouter une source de donnĂ©es SQL personnalisĂ©e via un point de terminaison HTTP qui imitait l'interface influxdb. Le gĂ©nĂ©rateur de requĂȘtes permet Ă  l'utilisateur de spĂ©cifier des requĂȘtes arbitraires, j'avais juste besoin de m'assurer que mon point de terminaison renvoyait des donnĂ©es dans un format comme influxdb. C'est gĂ©nial, mais c'est bidon et laisse beaucoup Ă  dĂ©sirer.

Des pensées, @torkelo?

@EliSnow - Voulez-vous partager le code ?

@roybass , je suppose que vous posez des questions sur mon code qui imite l'interface InfluxDB.

Je ne peux pas partager mon code spĂ©cifique, et cela ne serait probablement pas trĂšs utile si je le faisais car il est spĂ©cifique au langage que j'ai utilisĂ© (Node.js), Ă  ma base de donnĂ©es (Postgres) et Ă  la structure de mes donnĂ©es (jsonb). L'essentiel de ce que vous devez faire est de crĂ©er un point de terminaison HTTP /query qui renvoie les donnĂ©es dans le mĂȘme format qu'InfluxDB.

Grafana appellera votre point de terminaison Ă  l'aide de la mĂ©thode GET avec le paramĂštre q de la chaĂźne de requĂȘte Ă©tant la ou les requĂȘtes de recherche spĂ©cifiĂ©es dans votre panneau de tableau de bord. Chaque requĂȘte est dĂ©limitĂ©e par un caractĂšre de nouvelle ligne. (Remarque : le bouton « Tester la connexion » pour tester votre source de donnĂ©es dans l'interface d'administration enverra la requĂȘte SHOW MEASUREMENTS LIMIT 1 . Si vous renvoyez un 204 pour cette requĂȘte, cela suffira). Vous pouvez concevoir la requĂȘte de recherche pour qu'elle soit votre propre DSL. J'ai fait de ma requĂȘte de recherche un simple objet JSON. Bien que vous puissiez certainement utiliser du vrai SQL pour votre requĂȘte de recherche, vous devez vous assurer que l'utilisateur de la base de donnĂ©es qui exĂ©cute la requĂȘte n'a l'autorisation que de SELECT sur des tables spĂ©cifiques. Pour moi, mes requĂȘtes SQL sont assez longues et noueuses, et je prĂ©fĂšre avoir un niveau d'abstraction de la base de donnĂ©es.

InfluxDB renvoie les données au format json [annoté] suivant :

{
//each entry in "results" represents the result of a single query
  "results": [{
    // each entry in "series" represents a different group if the
    // query had a GROUP BY clause.
    "series" : [
      {
        "name" : "measurement name",
        // not sure which tags influx chooses to return
        // perhaps only the ones in the WHERE clause
        // grafana allows you to use tags in the alias pattern
        "tags" : {
          "foo" : "bar"
        },
        // I have not checked grafana's source but it's possible
        // it does not read the "columns" array
        "columns" : ["time", "mean"],
        "values" : [
          // time (in epoch ms), value
          [1442953067791, 41.2]
        ]
      }
    ]
  }]
}

Si vous n'avez pas votre propre instance InfluxDB et que vous devez jouer avec la façon dont Grafana lui envoie des requĂȘtes, vous pouvez utiliser le tableau de bord de test et vos outils de dĂ©veloppement pour jeter un coup d'Ɠil.

En guise d'avertissement, j'ai probablement manqué quelque chose dans la façon dont Grafana communique avec InfluxDB, mais ce qui précÚde était suffisant pour me lancer.

J'espĂšre que cela pourra aider.

Merci! C'est exactement ce que je voulais dire

Le mardi 22 septembre 2015 Ă  23h57, EliSnow [email protected] a Ă©crit :

@roybass https://github.com/roybass , je suppose que vous posez des questions sur
mon code qui imite l'interface InfluxDB.

Je ne peux pas partager mon code spécifique, et cela ne serait probablement pas trÚs utile
si je l'ai fait parce que c'est spécifique au langage que j'ai utilisé (Node.js), mon
base de données (Postgres) et la structure de mes données (jsonb). L'essentiel de quoi
vous devez créer un point de terminaison HTTP /query qui renvoie des données dans le
mĂȘme format qu'InfluxDB.

Grafana appellera votre point de terminaison en utilisant la méthode GET avec le paramÚtre q
de la chaĂźne de requĂȘte Ă©tant la ou les requĂȘtes de recherche spĂ©cifiĂ©es dans votre
panneau de tableau de bord. Chaque requĂȘte est dĂ©limitĂ©e par un caractĂšre de nouvelle ligne. (Noter:
que le bouton "Tester la connexion" pour tester votre source de données dans l'administrateur
l'interface enverra la requĂȘte SHOW MEASUREMENTS LIMIT 1. Si vous retournez un
204 pour cette requĂȘte, cela suffira). Vous pouvez concevoir la requĂȘte de recherche pour
ĂȘtre votre propre DSL. J'ai fait de ma requĂȘte de recherche un simple objet JSON. Pendant que tu
pourrait certainement utiliser du vrai SQL pour votre requĂȘte de recherche, vous devez vous assurer
l'utilisateur de la base de donnĂ©es exĂ©cutant la requĂȘte n'a l'autorisation de SELECTIONNER que sur
table(s) spĂ©cifique(s). Pour moi, mes requĂȘtes SQL sont assez longues et noueuses, et je
préfÚrent avoir un niveau d'abstraction de la base de données.

InfluxDB renvoie les données au format json [annoté] suivant :

{//chaque entrĂ©e dans "rĂ©sultats" reprĂ©sente le rĂ©sultat d'une seule requĂȘte
"résultats": [{
// chaque entrée dans "série" représente un groupe différent si le
// la requĂȘte avait une clause GROUP BY.
"séries" : [
{
"nom" : "nom de la mesure",
// pas sûr des balises que l'afflux choisit de renvoyer
// peut-ĂȘtre seulement ceux de la clause WHERE
// grafana permet d'utiliser des balises dans le modĂšle d'alias
"Mots clés" : {
"foo" : "bar"
},
// je n'ai pas vérifié les sources de grafana mais c'est possible
// il ne lit pas le tableau "colonnes"
"colonnes" : ["temps", "moyenne"],
"valeurs" : [
// heure (en Ă©poque ms), valeur
[1442953067791, 41.2]
]
}
]
}]
}

Si vous n'avez pas votre propre instance InfluxDB et que vous devez jouer
avec la façon dont Grafana lui envoie des requĂȘtes, vous pouvez utiliser le tableau de bord de test
http://play.grafana.org et vos outils de dĂ©veloppement pour jeter un coup d'Ɠil.

En guise d'avertissement, j'ai probablement raté quelque chose dans la façon dont Grafana
communique avec InfluxDB, mais ce qui précÚde était suffisant pour me lancer.

J'espĂšre que cela pourra aider.

-
RĂ©pondez directement Ă  cet e-mail ou consultez-le sur GitHub
https://github.com/grafana/grafana/issues/1542#issuecomment-142419032 .

Les termes ci-dessus reflĂštent un accord commercial potentiel, sont fournis uniquement
comme base pour une discussion plus approfondie, et ne sont pas destinĂ©s Ă  ĂȘtre et ne
constituent une obligation juridiquement contraignante. Aucune obligation juridiquement contraignante ne sera
ĂȘtre crĂ©Ă©, implicite ou infĂ©rĂ© jusqu'Ă  ce qu'un accord sous sa forme finale soit signĂ©
par écrit par toutes les parties concernées.

Cet e-mail et toutes ses piĂšces jointes peuvent ĂȘtre confidentiels ou privilĂ©giĂ©s.
Si vous avez reçu cette communication par erreur, veuillez ne pas la transmettre à
quelqu'un d'autre, veuillez effacer toutes les copies et piĂšces jointes, et s'il vous plaĂźt laissez-moi
sachez qu'il est allé à la mauvaise personne. Merci.

:+1: pour Postgres !

+1 pour SQLite

@roybass - votre message m'a donnĂ© une idĂ©e et j'ai fait un dĂ©but trĂšs basique sur un proxy postgres - je n'ai pas encore pointĂ© grafana dessus, mais j'espĂšre que via des requĂȘtes personnalisĂ©es d'afflux, il peut prĂ©tendre ĂȘtre un afflux mais est soutenu par postgres

désolé un lien serait utile : https://github.com/sysadminmike/postgres-influx-mimic

salut à tous ceux qui veulent se connecter à postgres - j'ai réussi à faire fonctionner ce qui précÚde et à avoir un exemple de graphique

+1 postgres / postgres de type JSONB
@EliSnow nous utilisons node, postgres, influxdb et grafana... si vous le pouvez, j'aimerais regarder votre code :)
@sysadminmike va vérifier !

:+1: MySQL

@RobMcZag, faites-moi savoir ce que vous en pensez - je l'ai utilisé pour configurer une idée de collecte de métriques distribuée : https://github.com/sysadminmike/yadms/

@torkelo , je ne sais pas comment, une source de données SQL évoluera avec des millions de points de données stockés chaque jour. Je peux convenir d'avoir une source de données comme Cassandra qui est hautement évolutive et impressionnante en termes de performances.

@utkarshcmu , je suppose qu'il est juste de dire que les bases de donnĂ©es relationnelles ne sont pas lentes par nature. Quoi qu'il en soit, mĂȘme s'ils l'Ă©taient, il peut toujours ĂȘtre intĂ©ressant d'extraire des donnĂ©es d'une petite table pour des annotations ou autre, donc les bases de donnĂ©es SQL sont une source de donnĂ©es trĂšs utile, si vous me le demandez.

quelle est la derniÚre sur sql comme source de données?

+1 Informix TimeSeries / Informix TimeSeries avec JSON
@utkarshcmu Informix est un exemple de la façon dont une base de donnĂ©es relationnelle objet peut prendre en charge une implĂ©mentation de donnĂ©es de sĂ©ries chronologiques hautement Ă©volutive via un type de donnĂ©es de sĂ©ries chronologiques optimisĂ© (les Ă©lĂ©ments de sĂ©ries chronologiques peuvent ĂȘtre des types de donnĂ©es SQL et/ou des documents JSON). ;)

Bonjour,

Il est possible d'exporter les données numériques SQL via l'interface HTTP en utilisant une couche supplémentaire entre le serveur SQL et Grafana à l'aide d'ArrestDB : https://github.com/alixaxel/ArrestDB
Si quelqu'un pouvait forker le plugin à partir de celui basé sur HTTP existant, ce serait trÚs bien. Personnellement, je ne suis pas un expert du codage Java ici et j'ai besoin d'aide pour cela.
Cela s'empilerait également parfaitement avec l'API Restful d'autres sources de données - https://restdb.io/docs/rest-api

+1

Salut, voici mon premier projet en go :
Collectez les métriques Microsoft SQL Server, envoyez-les à InfluxDB et visualisez avec Grafana
https://github.com/zensqlmonitor/influxdb-sqlserver

+1 Ă  MySQL :)

+1 pour VoltDB [BD SQL en mémoire]

:+1:

Et jdbc ?

+1 MySQL

+1 MySQL

+1 PostgreSQL

+1 PostgreSQL

Source de données WIP SQL : https://github.com/grafana/grafana/pull/3964

+1 postgresql
Le 8 fĂ©vrier 2016 Ă  22h00, "Tom Dyas" [email protected] a Ă©crit :

Source de données WIP SQL : #3964 https://github.com/grafana/grafana/pull/3964

-
RĂ©pondez directement Ă  cet e-mail ou consultez-le sur GitHub
https://github.com/grafana/grafana/issues/1542#issuecomment-181722398 .

+1 Cassandre

Bonjour, quel est le statut d'une intégration de source de données SQL ? Pour nous, il est trÚs intéressant de connecter grafana à Amazon Redshift ou Presto. Il pourrait y avoir la possibilité de mettre l'un de nos développeurs sur ce sujet. L'intégration SQL n'est-elle qu'un travail de codage ou des changements majeurs sont-ils nécessaires ?

J'avais un prototype de travail en cours dans PR https://github.com/grafana/grafana/pull/3964 en train de parler Ă  Redshift de mon entreprise. Je pense donc que le codage fonctionne (de ma part ou de quelqu'un d'autre) Ă  ce stade. Bien qu'il y ait plusieurs Ă©lĂ©ments rĂ©pertoriĂ©s dans le PR qui devraient ĂȘtre accomplis avant de le rendre prĂȘt pour la production.

+1 VoltDB

+1 Serait utile pour les annotations et les panneaux de texte.

+1

+1

J'exĂ©cute influxdb par proxy via grafana depuis un certain temps maintenant. En tant que passe-temps secondaire, je fouille avec un pare-feu d'application Web, et une chose Ă  laquelle je serais vraiment dĂ©sireux de trouver une solution est quelque chose qui s'apparente Ă  des instructions prĂ©parĂ©es afin de prĂ©empter les injections SQL. À l'heure actuelle, j'ai une collection de diverses expressions rĂ©guliĂšres qui dĂ©tectent les injections SQL, mais les affiner tout en conservant la capacitĂ© de dĂ©ployer de nouveaux tableaux de bord empĂȘche cela, ne me laissant pas d'autre option que de mettre Ă  peu prĂšs la section des arguments sur liste blanche.
Conceptuellement, ce serait simple : publier des liens proxy fixes pour la collecte de donnĂ©es crĂ©Ă©s lors de la crĂ©ation/mise Ă  jour du tableau de bord, plutĂŽt que d'intĂ©grer l'instruction de requĂȘte dans l'argument de l'URL. CĂŽtĂ© proxy, tout ce que vous avez Ă  faire est de le mapper sur la vraie requĂȘte, puis de l'envoyer au backend de la base de donnĂ©es.
Traiter cela via les parties proxy de grafana donne l'élégance supplémentaire de l'indépendance de la base de données pour pouvoir traiter les déclarations préparées.

:+1 : pour le concept/l'idée ainsi que la possibilité d'utiliser plus ou moins du SQL brut si vous souhaitez compléter les méthodes/fonctionnalités/métriques existantes

+1 pour postgresql/mysql

tous mes doigts levés pour postgres

+1

+1

+1. Vraiment besoin de ça !

+1

Des mises Ă  jour Ă  ce sujet ??

J'ai Ă©crit une premiĂšre preuve de concept que j'ai mise en place en tant que RP pour obtenir des commentaires : https://github.com/grafana/grafana/pull/3964. Le code a bien fonctionnĂ© pour les requĂȘtes sur une instance PostgreSQL exĂ©cutĂ©e localement. Je ne sais pas si cela fonctionnerait toujours compte tenu des changements de code source dans Grafana sur le chemin de la v3.

Malheureusement, je n'ai plus le temps de travailler dessus car le projet interne qui aurait eu besoin d'une telle source de données, n'en a plus.

Étant donnĂ© que le code source de la preuve de concept est accessible au public dans le PR, il ne serait pas trivial (mais pas une grande quantitĂ© de travail) que quelqu'un d'autre prenne le relais. Si vous ĂȘtes un dĂ©veloppeur, c'est un excellent moyen d'apprendre la base de code source Grafana. Si vous n'ĂȘtes pas un dĂ©veloppeur, mais que vous avez de l'influence dans votre entreprise, je vous recommande de convaincre un dĂ©veloppeur de votre organisation de travailler dessus.

Ce problÚme démontre vraiment le problÚme du "free rider" en open source. La "monnaie" de l'open source est le code (au sens le plus large) et le temps investi par les contributeurs dans ce code. Il me semble que tout le monde est heureux de donner un +1, mais trÚs peu de gens contribuent ou utilisent leur influence pour convaincre quelqu'un dans leur organisation de contribuer.

Vous voulez influencer l'orientation du projet sur cette question ? Reprenez la preuve de concept, complĂ©tez-la et contribuez-la en retour, que ce soit en la faisant vous-mĂȘme ou en allouant du temps Ă  votre organisation (sous la forme d'un dĂ©veloppeur) pour le faire. Cette attribution de temps est trĂšs certainement une dĂ©pense. Qui est prĂȘt Ă  « passer » le temps ?

Pour ma part, je suis prĂȘt Ă  rĂ©pondre Ă  toutes les questions sur la preuve de concept de la personne qui la reprend.

J'ai envoyé une pull request à ce sujet.

+1

+1 pour Postgres, mon lieu de travail aime déjà Grafana

Nous aimerions voir cela - comme référence https://github.com/sirensolutions/kibi est un "friendly-fork" de kibana et le support sql est l'une des fonctionnalités qu'ils ont ajoutées
https://github.com/sirensolutions/kibi/tree/master/src/plugins/kibi_core/lib/datasources

si cela aide.

+1 pour le support backend mysql/mariadb (nécessaire principalement pour creuser les bases de données de tickets GLPI/OTRS/etc...)

Les gars, s'il vous plaĂźt, arrĂȘtez de poster +1. Dites simplement merci Ă  @anzai et appliquez https://github.com/grafana/grafana/pull/5364 Ă  votre grafana local.

mysql et postgre est génial, Oracle ou jdbc générique serait génial (comme dans Kibi mentionné ci-dessus)

@Jimilian - le +1 est de l'

+1 pour cette fonctionnalité, surtout si elle prend en charge ODBC/JDBC

:+1: pour postgres!! :-)

J'ai adopté une autre approche pour afficher les données dans le SGBDR à l'aide de RestSQL. RestSQL permet les opérations CRUD sur les bases de données relationnelles et c'est une solution assez élégante pour activer les opérations de base de données à l'aide des méthodes HTTP et REST.

J'ai écrit un plugin Grafana pour RestSQL - plugin Grafana (3.x) pour RestSQL . Cependant, considérez-le comme un PoC pour le moment :-)

Dans ma configuration, aucune modification de la base de code Grafana n'est nécessaire. Cependant, cette configuration nécessite Java (Tomcat) pour que RestSQL fonctionne.

+1. Super POC @juliusloman .

+1. Ce serait vraiment génial pour Postgres !

+1 Postgres !
+1 requĂȘtes SQL brutes

+1 pour Cassandre !

@juliusloman Ce serait génial si vous publiiez ce plugin sur grafana.net !

+1 MYSQL et POSTGRES avec des requĂȘtes brutes

+1 Desserts !
+1 Cassandre !
+1 MySQL !

+1 Cassandre

+1 MySQL

+1 MS SQL !! :RÉ

Au lieu de créer N +1 commentaires, je suggÚre d'ajouter une balise :+1: à la premiÚre ligne mentionnant la base de données que vous voudriez avoir prise en charge ?

:+1:

+1 BigQuery.

Alors ce plugin va-t-il en version officielle ? J'aimerais avoir Postgres comme source de données.

+1 PostgreSQL

@all J'ai ouvert mon convertisseur de protocole InfluxDB-to-MySQL et je l'ai publiĂ© sur https://github.com/philip-wernersbach/influx-mysql , et il est prĂȘt Ă  fonctionner avec Grafana.

Je pense qu'une passerelle d'entrée JSON devrait suffire pour autoriser pratiquement n'importe quelle entrée SQL. J'écris le SQL à exécuter via le pilote approprié et le résultat JSON est consommé par grafana.

Les ensembles de données BigQuery en tant que backends configurables seraient absolument _ puissants _.

+1 MySQL

@envintus Si vous avez le temps de contribuer, j'aimerais avoir le support BigQuery dans https://github.com/philip-wernersbach/influx-mysql

SparkSQL +1

une mise Ă  jour sur le plugin sql?

avoir un support SQL brut dans grafana en fera certainement le meilleur 👍
des mises Ă  jour sur ce sujet?

Mon naïf essaie grafana-simple-sql-datasource !
AVIS DE NON-RESPONSABILITÉ : version bĂȘta non polie et maladroite ... mais fonctionne pour moi đŸ€Ł

https://github.com/gbrian/grafana-simple-sql-datasource

image

@gbrian a l' air bien !

Je suis nouveau sur les proxys sql-js et j'ai une question.
Il existe différents packages pour différentes bases de données, comme MySql, MSSql, Postgress...
Est-il naïf de penser que votre implémentation fonctionnera avec différentes bases de données ?
Si oui, comment cela pourrait-il ĂȘtre rĂ©solu ? On dirait que nous avons besoin d'une sorte d'abstraction entre les deux...

@osigida , merci !

Oui, l'idée principale est d'avoir un fichier "xxxproxy.js" pour chaque source de données de type SQL.

Le suivant sur ma liste est Apache Drill (https://drill.apache.org/)
Si j'ai bien fait, cela devrait ĂȘtre compliquĂ© comme crĂ©er le proxy et configurer le connecteur comme
http://simple-sql-server:port/?con=drill://drilluser:password@drill-server:port
bien sûr, la tùche consiste à convertir le schéma de la source de données en simple-sql.

Je serai heureux si vous le testez et me renvoyez des commentaires. Veuillez ouvrir autant de problÚmes que vous trouvez et j'essaierai de les résoudre dÚs que possible.

Merci d'avance.

@gbrian Si vous envisagez d'implémenter Postgres. Je serai ravi de vous aider et de tester.

bon travail. ce sera aussi pour oracle ?

Envoyé via le Samsung Galaxy SŸ 6, un smartphone AT&T 4G LTE
-------- Message d'origine --------De : Gustavo Brian [email protected] Date : 16/02/17 4:00 AM (GMT-05:00) À : grafana/grafana [email protected] Cc : gsaray101 [email protected] , Commentaire [email protected] Objet : Re : [grafana/grafana] Grafana 2.0 : Source de donnĂ©es SQL (#1542)
@osigida , merci !
Oui, l'idée principale est d'avoir un fichier "xxxproxy.js" pour chaque source de données de type SQL.
Le suivant sur ma liste est Apache Drill (https://drill.apache.org/)

Si j'ai bien fait, cela devrait ĂȘtre compliquĂ© comme crĂ©er le proxy et configurer le connecteur comme

http://simple-sql-server :port/?con= drill://drilluser:password@drill-server :port

bien sûr, la tùche consiste à convertir le schéma de la source de données en simple-sql.
Je serai heureux si vous le testez et me renvoyez des commentaires. Veuillez ouvrir autant de problÚmes que vous trouvez et j'essaierai de les résoudre dÚs que possible.
Merci d'avance.

-
Vous recevez ceci parce que vous avez commenté.
RĂ©pondez directement Ă  cet e-mail, affichez-le sur GitHub ou coupez le fil de discussion.

{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/grafana/grafana","title ":"grafana/grafana","subtitle":"DĂ©pĂŽt GitHub","main_image_url":" https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png " ,"avatar_image_url":" https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png ","action":{"name":"Ouvrir dans GitHub", "url":" https://github.com/grafana/grafana "}},"updates":{"snippets":[{"icon":"PERSON","message":" @gbrian dans #1542 : @osigida , merci!\r\n\r\nOui, l'idĂ©e principale est d'avoir un fichier \"xxxproxy.js\" pour chaque source de donnĂ©es de type SQL.\r\n\r\nLe suivant sur ma liste est Apache Drill (https://drill.apache.org/)\r\nSi j'ai bien fait, cela devrait ĂȘtre simple comme crĂ©er le proxy et configurer le connecteur comme \r\n http://simple-sql-server:port/?con=drill://drilluser:password@drill-server:port \r\nbien sĂ»r la tĂąche convertit le schĂ©ma de la source de donnĂ©es en simple-sql.\r\n\r\nJe serai heureux si vous le testez et me le renvoyez moi des commentaires. Veuillez ouvrir autant de problĂšmes que vous trouvez et j'essaierai de les rĂ©soudre dĂšs que possible.\r\n\r\nMerci d'avance."}],"action":{"name":"Afficher le problĂšme","url": " https://github.com/grafana/grafana/issues/1542#issuecomment -280272622"}}}

@anayrat , @gsaray101

Cela semble faisable et devrait ĂȘtre assez facile :
https://www.npmjs.com/package/pg
https://www.npmjs.com/package/strong-oracle

+1 MySQL

+1 MySQL

+1 Cassandre

+1 MSSQL +1 MYSQL

pour votre information

Il existe maintenant un plugin Oracle premium officiel (non gratuit)
https://grafana.com/plugins/grafana-oracle-datasource

https://github.com/grafana/grafana/pull/5364#issuecomment -290066384

HI @epizut : Ce plugin premium est en cours de développement dans le cadre de l'effort global. Le plugin premium tirera parti des fonctionnalités de base à venir.

Plus Ă  venir ici!

Existe-t-il des limites connues Ă  l'utilisation de cassandra comme source de donnĂ©es grafana ? Ou d'autres prĂ©occupations dont il faut ĂȘtre conscient avant d'implĂ©menter un plugin de source de donnĂ©es ?

Cassandra n'est pas une base de données de séries temporelles, donc je ne pense pas que vous puissiez l'utiliser comme
source de données dans grafana. J'utilise opentsdb pour ma source de données grafana

Le 19 mai 2017 Ă  10h28, "mtnxplorer7" [email protected] a Ă©crit :

Existe-t-il des limitations connues à l'utilisation de cassandra en tant que données grafana
la source? Ou toute autre prĂ©occupation dont il faut ĂȘtre conscient avant de mettre en Ɠuvre un
plug-in de source de données ?

-
Vous recevez ceci parce que vous avez commenté.
RĂ©pondez directement Ă  cet e-mail, consultez-le sur GitHub
https://github.com/grafana/grafana/issues/1542#issuecomment-302763176 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/ARG51ZdZ6qbzst8m7mx-tsSZ9cRoBe5Lks5r7dEggaJpZM4DndgD
.

Cassandra prend en charge la modélisation de données de séries chronologiques. Toute réflexion basée sur cela

+1 pour Apache Drill.

Je vois que la partie backend de ce PR a été fusionnée, mais quel est le statut global ? Existe-t-il un ETA pour un examen et une fusion de tout travail frontal nécessaire ?

Pour MySQL, il existe une partie backend et une partie frontend, avec prise en charge des alertes. Pas encore de support pour Postgres

La prise en charge de Postgres sera vraiment cool Ă  utiliser avec http://www.timescale.com/.

J'aimerais voir la prise en charge de SQL pour athena : http://docs.aws.amazon.com/athena/latest/ug/what-is.html

@torkelo J'ai besoin d'aide avec la source de données MySQL. J'ai la derniÚre version de Grafana installée (v4.4.3)

Mon hĂŽte grafana est supposĂ© grafana.host.org et j'ai une base de donnĂ©es SQL pour une application qui est hĂ©bergĂ©e sur un hĂŽte diffĂ©rent, disons application.host.org. J'ai mysql db sur le mĂȘme application.host.org

Lorsque j'ajoute une nouvelle source de données de type MySQL sur grafana (c'est-à-dire grafana.host.org), il me demande des détails de connexion. J'y ajoute les détails suivants :

HĂŽte : application.host. org:3306
Base de données : nom_base
Utilisateur : dbuser
Mot de passe : dbpassword

Maintenant, lorsque j'enregistre et teste cette connexion, cela me donne une erreur disant :

"Erreur 1045 : AccÚs refusé pour l'utilisateur 'dbuser'@'grafana.host.org' (en utilisant le mot de passe : OUI)"

Des pistes sur une solution à cela? Pourquoi essaie-t-il d'accéder à grafana.host.org alors que j'ai spécifié l'hÎte de base de données comme application.host.org ? Je peux me connecter de grafana.host.org à application.host.org trÚs bien. Cependant cela me donne cette erreur.

Je crois comprendre qu'il devrait essayer de se connecter à la base de données sur application.host.org. Lorsque je me connecte à la base de données sur cet hÎte sur le backend, je passe sans problÚme.

Votre aide avec thil sera trÚs appréciée.

Merci,
Jyoti

Erreur 1045 : AccÚs refusé pour l'utilisateur 'dbuser'@'grafana.host.org' (en utilisant le mot de passe : OUI)

Cette erreur vient de MySQL. Il a reconnu que dbuser connecte _de_ l'adresse réseau qui se résout en grafana.host.org . Vérifiez les autorisations, le mot de passe, etc. sur MySQL.

Avez-vous des idées pour prendre en charge le dialecte Redshift SQL ?

Redshift SQL n'est que la famille Postgres 8.x, qui devrait ĂȘtre compatible avec le support Postgres rĂ©cemment arrivĂ©. Je ne l'ai pas encore essayĂ© mais je suis Ă©galement intĂ©ressĂ© s'il y a des erreurs.

Si cela ne vous dérange pas de transmettre des données via postgres, vous pouvez connecter grafana à (presque) n'importe quelle base de données avec un wrapper de données étrangÚres postgres (https://wiki.postgresql.org/wiki/Foreign_data_wrappers).

+1 base de données Oracle

+1 pour MS SQL

+1 pour SQLite

salut, toute personne intéressée par mssql, veuillez vérifier pr #10093

Quelqu'un a-t-il travaillé sur Oracle comme source de données ? J'aimerais beaucoup le voir.

@gsaray101 et toute personne intĂ©ressĂ©e - contactez [email protected] si vous souhaitez tester la source de donnĂ©es Oracle bĂȘta.

Nous avons fusionné la source de données Microsoft SQL Server avec Grafana et elle sera publiée dans Grafana 5.1 (#10093, #11298).

Cela signifie que Grafana prend dĂ©sormais en charge dans le noyau MySQL, Postgres et MS SQL Server en tant que sources de donnĂ©es. Nous n'ajouterons plus de bases de donnĂ©es SQL en tant que sources de donnĂ©es au cƓur de Grafana, il est donc enfin temps de clore ce problĂšme.

Dans un avenir proche, nous aurons un support pour les plugins backend, il sera donc possible d'avoir d'autres sources de données SQL en tant que plugins externes.

Quelqu'un souhaite-t-il ajouter la prise en charge de DB2 LUW ?

@daniellee Qu'en est-il d'Oracle et de SQLite ? :thinking: Des nouvelles à ce sujet ?

@mnlbox Il existe déjà un plugin Oracle : https://grafana.com/plugins/grafana-oracle-datasource (Il n'est cependant pas open source)

Sqlite en tant que source de données n'est pas du tout dans notre carnet de commandes et je n'ai entendu personne travailler dessus.

+1 pour BientĂŽt

Une mise Ă  jour sur SQLite @daniellee ?

La source de données SQLite serait trÚs utile !

Sqlite !!!!!

Sqlite !!!!!

Sqlite !!!!!

Sqlite !!!!!

Veuillez utiliser la fonction 👍 pour montrer votre approbation et vos commentaires uniquement si vous pouvez fournir des informations supplĂ©mentaires, des notes utiles, des correctifs et des commentaires similaires - enfin - des commentaires aidant Ă  rĂ©soudre le problĂšme. Le spam des dĂ©veloppeurs, des contributeurs ou des participants ne convaincra probablement personne de mettre en Ɠuvre vos demandes.

Daniellee a dĂ©clarĂ© ci-dessus qu'aucun effort supplĂ©mentaire n'est fait pour prendre en charge des sources de donnĂ©es supplĂ©mentaires dans le noyau et que les plugins sont la voie Ă  suivre. De plus, personne ne semble avoir commencĂ© Ă  travailler sur SQLite jusqu'Ă  prĂ©sent. Si vous avez besoin d'une solution rapide et sale et que vous ne voulez pas Ă©crire/commander/ adapter un plugin entier pour/Ă  SQLite, il devrait ĂȘtre assez facile de crĂ©er un script proxy smapp pour servir vos donnĂ©es SQLite en tant que JSON similaire Ă  doublemarkets RRD -Procuration . Ce n'est pas une excellente solution en termes de rapiditĂ©, mais vous n'utiliseriez probablement pas SQLite si c'Ă©tait un problĂšme.

Comme le dit @adlerweb , il n'y a actuellement aucun plan pour l'équipe principale de Grafana pour une source de données principale Sqlite. Je ne pense pas que nous accepterions un PR pour cela non plus. Cependant, nous publierions bien sûr un plugin de source de données externe sur grafana.com si quelqu'un l'écrivait.

Une mise Ă  jour sur SQLite @daniellee ?

Pour ceux qui s'intéressent au support SQLite (ou en fait ceux qui attendent une source de données), vous n'avez pas besoin d'attendre longtemps. Il est assez facile d'écrire votre propre source de données en utilisant Python. La documentation est un peu clairsemée (voir https://github.com/grafana/simple-json-datasource), mais c'est possible. J'ai créé un exemple assez complet dans ce référentiel et un article de blog sur la façon de visualiser SQLite avec Grafana . Le référentiel comprend également un exemple fonctionnel de SQLite et une petite base de données pour cet exemple.

  • Votez SQLite !

voter pour sqlite

Avec le backend vient la possibilité d'avoir une source de données SQL.

Je pense que lorsque vous ajoutez la source de données, vous

  • type de base de donnĂ©es (initialement uniquement mysql et postgres et sqlite3)
  • dĂ©tails de connexion Ă  la base de donnĂ©es
  • spĂ©cifier un modĂšle de requĂȘte mĂ©trique (essentiellement une requĂȘte SQL avec des paramĂštres)
  • spĂ©cifier un modĂšle de requĂȘte d'annotation

Peut-ĂȘtre aussi une option pour autoriser les requĂȘtes SQL RAW Ă  partir de l'interface de requĂȘte de mĂ©trique du panneau.

D'autres idées ?

Pour Sqlite

Votez pour sqlite.

Sqlite plsss

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

deepujain picture deepujain  Â·  3Commentaires

sslupsky picture sslupsky  Â·  3Commentaires

ericuldall picture ericuldall  Â·  3Commentaires

yuvaraj951 picture yuvaraj951  Â·  3Commentaires

Minims picture Minims  Â·  3Commentaires