Grafana: Grafana 2.0: fonte de dados SQL

Criado em 28 fev. 2015  ·  168Comentários  ·  Fonte: grafana/grafana

Com o back-end vem a possibilidade de ter fonte de dados SQL.

Meu pensamento é que quando você adiciona a fonte de dados,

  • tipo db (inicialmente apenas mysql e postgres e sqlite3)
  • detalhes de conexão db
  • especificar um modelo de consulta métrica (basicamente uma consulta SQL com parâmetros)
  • especificar um modelo de consulta de anotação

Talvez também uma opção para permitir consultas RAW SQL da interface de consulta de métrica do painel.

Alguma outra ideia?

typfeature-request

Comentários muito úteis

+1 para SQLite

Todos 168 comentários

Eu pessoalmente sugeriria algo mais na linha de Cassandra (CQL) ou SparkSQL

Uau, isso nos é muito útil.

  • adicione uma variedade de servidores db para balanceamento de carga
  • um campo que concatena um LIMIT X à consulta
  • uma opção para ORDER BY ASC DESC
  • escolheu colunas db para TIME e VALUE da tabela mysql?

@phagedorn alguns assim, não tenho certeza sobre a mudança para ordem asc / desc, grafana sempre os quer em ordem crescente (por tempo). não tenho certeza sobre o limite x também.

mais parecido com um modelo de consulta de métrica (escrito pelo usuário quando ele adiciona a fonte de dados), este é apenas um exemplo, não pensei muito sobre isso ainda.

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

@syepes Estou pensando como primeiro passo para implementar algo simples. Você poderia descrever mais o que seria necessário para implementar CQL ou SparkSQL em cima de um banco de dados SQL genérico e quais os benefícios? SparkSQL parece interessante do ponto de vista analítico, alguma implementação golang?

+1 para permitir SQL bruto

@torkelo : Modelos de consulta parecem bons: +1:
Funcionaria para mim para tabelas existentes

Esta fonte de dados terá um editor de sugestões? Quais back-ends de banco de dados para esta fonte de dados podem ser usados?

também interessado em permitir SQL bruto

Inicialmente mysql e postgres, nenhum autocompletar não será incluído inicialmente

interessado +1

: +1: para postgres

: +1: para postgres

: +1: para postgres com tipo JSON

: +1: para postgres com tipo JSON

Alguma ideia sobre o roteiro quando a fonte de dados SQL estará disponível? Em 2.0 ou 2.1?

@juliusloman não tenho certeza, talvez no 2.2 ou 2.3, tantas outras coisas que foram aumentadas para 2.1 que precisam acontecer primeiro

Mas um PR é sempre bem-vindo

Ter uma fonte de dados SQL definitivamente fará da grafana uma ferramenta analítica de ponta. Eu adoraria ver isso. Torkel, desculpe, não estou familiarizado com o github, o que significa RP?
+

@ hceylan97 significa que alguém tenta implementá-lo e

além de você, curioso para saber se mais alguém está trabalhando nisso?

: +1:

+1 mysql

@torkelo Posso começar um PR para isso dependendo da quantidade de trabalho esperada. Adoraria descobrir como fazer novas fontes de dados para que possamos integrar mais no Grafana. Você poderia dar um resumo do que precisa ser feito para adicionar uma nova fonte de dados e o trabalho restante para suporte SQL genérico?

+1 Oracle

+1 MS SQL

: +1: para postgres com tipo JSON

+1 postgres / postgres com tipo JSON

@torkelo pingando novamente, pois isso foi adiado por dois meses. Eu gostaria de adicionar algum suporte para novas fontes de dados no Grafana e adoraria um resumo de como fazer isso e o que resta para o suporte SQL genérico (com certeza você apreciaria se eu também pudesse obter um PR :) )

@ agilgur5 nenhum trabalho foi feito nisso ainda

@torkelo e d0d995d? Em qualquer caso, um resumo seria muito apreciado

@ agilgur5 que funcionava principalmente no sistema de plug-ins de fonte de dados, nada específico para uma fonte de dados SQL

+1 MS SQL !!!

com MySQL na frente você pode inserir em qualquer SGBD com engine XA & Connect!

especificar um modelo de consulta métrica (basicamente uma consulta SQL com parâmetros)
especificar um modelo de consulta de anotação

eu me pergunto se isso é necessário? talvez seja um incômodo extra que possamos evitar.
não é suficiente especificar a tabela e as colunas ao usar o DS? ou talvez especifique a tabela no DS para que você só precise especificar as colunas ao usá-la. Suspeito que haverá muitas tabelas, cada uma com apenas algumas colunas.

Qual é o ETA para isso?

@EliSnow https://github.com/grafana/grafana/milestones diz por volta de 29 de setembro. Esse recurso sozinho pode ser feito antes disso, e também há a possibilidade de ser adiado (como já aconteceu algumas vezes). Independentemente disso, não acredito que nenhum trabalho será feito sobre isso até depois do lançamento 2.1.

+1 MS SQL; +1 consulta com parâmetros
Na verdade, por que estou perguntando. A maneira mais simples de colocar contadores de desempenho em cena a partir de várias caixas do Windows é configurar os coletores de dados neles para colocar os dados diretamente no ms sql sem nenhum "coletor de middleware". Portanto, seria realmente ótimo ter uma opção apenas para ler esses dados do MS SQL. Então essa seria uma ótima opção!

+1 - Postgres.

Postgres é apenas um banco de dados fenomenal. Se eu tiver tempo, posso dar uma olhada neste @torkelo

@torkelo , gostaria de contribuir para fazer isso. Estou olhando para o commit referenciado anteriormente para o sistema de plug-in da fonte de dados (d0d995d). Existe alguma documentação para o sistema de plugins? Quais peças são necessárias? Olhando para outras fontes de dados no diretório / public / app / plugins / datasource , parece ser apenas Javascript (Angular + AMD) e alguns modelos HTML. Existe algum código Go necessário para fazer isso funcionar ou é estritamente Javascript?

Uma vez que os bancos de dados SQL geralmente não têm uma api http, deve haver algum código de back-end go

+1 MySQL e Cassandra

Este é um pouco fora do assunto, mas acho que um bom passo (ou passo alternativo) para obter uma fonte de dados SQL. Seria ótimo permitir que um usuário administrador, a partir da IU, adicionasse uma fonte de dados HTTP personalizada.

O usuário administrador pode especificar o url base e uma função javascript que transforma uma consulta em uma solicitação http real. Eles também poderiam fornecer funções de mapeamento javascript que transformariam os dados retornados da solicitação http em um formato comum compreendido pela grafana. Eventualmente, pode haver uma interface para as pessoas construírem seu próprio construtor de consultas de IU que poderia permitir dicas e tal. Uma das peças mais importantes disso é que deve ser bem documentado.

Por que isso é relevante para este problema? Algumas pessoas podem optar por ter seu banco de dados SQL acessível por meio de um ponto de extremidade HTTP em vez de permitir o acesso direto. Talvez a grafana não esteja na mesma rede que o banco de dados e não tenha acesso direto por motivos de segurança. Mesmo se o banco de dados estiver diretamente acessível e o usuário puder fornecer SQL bruto, ainda há o problema de que, dada uma consulta SQL arbitrária, a grafana não saberá em qual formato os dados são retornados e as funções de mapeamento javascript ainda serão necessárias (talvez no nível do gráfico / painel).

Para evitar o XSS, talvez não desejemos que nenhum usuário não administrador edite um painel e forneça funções javascript que serão executadas na página. Isso pode ser evitado exigindo que as consultas SQL retornem dados em um formato especificado. Alternativamente, o XSS talvez pudesse ser mitigado por meio do CSP.

Reconheço que uma determinada pessoa pode atualmente adicionar uma fonte de dados HTTP personalizada editando o código-fonte, mas isso é mais desafiador porque: 1) não está documentado (que eu saiba) e 2) requer que pessoas diferentes sejam envolvidos, assumindo uma pessoa em uma posição onde as funções "devops" e "grafana admin" são desempenhadas por pessoas diferentes.

Pessoalmente, consegui adicionar uma fonte de dados SQL personalizada por meio de um endpoint HTTP que imitava a interface influxdb. O construtor de consultas permite que o usuário especifique consultas arbitrárias, eu só precisava ter certeza de que meu endpoint retornou dados em um formato como influxdb. É ótimo, mas é hacky e deixa muito a desejar.

Pensamentos, @torkelo?

@EliSnow - Você se importaria de compartilhar o código?

@roybass ,

Não posso compartilhar meu código específico e provavelmente não seria muito útil se o fizesse, porque ele é específico para a linguagem que usei (Node.js), meu banco de dados (Postgres) e a estrutura de meus dados (jsonb). A essência do que você precisa fazer é criar um endpoint /query HTTP que retorna dados no mesmo formato que o InfluxDB.

Grafana irá chamar seu endpoint usando o método GET com o parâmetro q da string de consulta sendo a consulta / consultas de pesquisa especificadas em seu painel de controle. Cada consulta é delimitada por um caractere de nova linha. (Observação: o botão "Testar conexão" para testar sua fonte de dados na interface de administração enviará a consulta SHOW MEASUREMENTS LIMIT 1 . Se você retornar um 204 para essa consulta, isso será suficiente). Você pode criar a consulta de pesquisa para ser seu próprio DSL. Transformei minha consulta de pesquisa em um objeto JSON simples. Embora você certamente possa usar SQL real para sua consulta de pesquisa, deve certificar-se de que o usuário do banco de dados que está executando a consulta só tenha permissão para SELECT em tabelas específicas. Para mim, minhas consultas SQL são muito longas e complicadas e prefiro ter um nível de abstração do banco de dados.

O InfluxDB retorna dados no seguinte formato json [anotado]:

{
//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]
        ]
      }
    ]
  }]
}

Se você não tiver sua própria instância do InfluxDB ativada e precisar brincar com a forma como o Grafana envia as consultas, pode usar o painel de teste e as ferramentas de desenvolvedor para dar uma olhada.

Como isenção de responsabilidade, provavelmente deixei passar algo na forma como o Grafana se comunica com o InfluxDB, mas o que foi dito acima foi o suficiente para começar.

Espero que ajude.

Obrigado! Isso é exatamente o que eu quis dizer

Na terça - feira, 22 de setembro de 2015 às 23h57, EliSnow

@roybass https://github.com/roybass , acho que você está perguntando sobre
meu código que imita a interface do InfluxDB.

Não posso compartilhar meu código específico e provavelmente não seria muito útil
se fiz porque é específico para a linguagem que usei (Node.js), meu
banco de dados (Postgres) e a estrutura dos meus dados (jsonb). A essência do que
que você precisa fazer é criar um endpoint HTTP / query que retorne dados no
mesmo formato que o InfluxDB faz.

Grafana irá chamar seu endpoint usando o método GET com o parâmetro q
da string de consulta sendo a consulta / consultas de pesquisa especificadas em seu
painel de instrumentos. Cada consulta é delimitada por um caractere de nova linha. (Observação:
que o botão "Testar conexão" para testar sua fonte de dados no administrador
interface irá enviar a consulta MOSTRAR LIMITE DE MEDIDAS 1. Se você retornar um
204 para essa consulta que será suficiente). Você pode projetar a consulta de pesquisa para
seja seu próprio DSL. Transformei minha consulta de pesquisa em um objeto JSON simples. Enquanto você
certamente poderia usar SQL real para sua consulta de pesquisa, você deve ter certeza
o usuário do banco de dados que executa a consulta só tem permissão para SELECIONAR em
tabela (s) específica (s). Para mim, minhas consultas SQL são muito longas e complicadas, e eu
prefere ter um nível de abstração do banco de dados.

O InfluxDB retorna dados no seguinte formato json [anotado]:

{// cada entrada em "resultados" representa o resultado de uma única consulta
"resultados": [{
// cada entrada na "série" representa um grupo diferente se o
// consulta tinha uma cláusula GROUP BY.
"Series" : [
{
"nome": "nome da medição",
// não tenho certeza de quais tags o influxo escolhe retornar
// talvez apenas aqueles na cláusula WHERE
// grafana permite que você use tags no padrão de alias
"Tag" : {
"foo": "bar"
},
// Não verifiquei a fonte da grafana mas é possível
// não lê o array "colunas"
"colunas": ["tempo", "significa"],
"valores": [
// tempo (em ms de época), valor
[1442953067791, 41,2]
]
}
]
}]
}

Se você não tem sua própria instância do InfluxDB e precisa jogar
em torno de como o Grafana envia consultas, você pode usar o painel de teste
http://play.grafana.org e suas ferramentas de desenvolvedor para dar uma olhada.

Como isenção de responsabilidade, provavelmente esqueci algo em como o Grafana
se comunica com o InfluxDB, mas o acima foi o suficiente para começar.

Espero que ajude.

-
Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/grafana/grafana/issues/1542#issuecomment -142419032.

Os termos acima refletem um possível acordo comercial, são fornecidos apenas
como base para uma discussão mais aprofundada, e não se destinam a ser e não
constituem uma obrigação juridicamente vinculativa. Nenhuma obrigação legalmente vinculativa irá
ser criado, implícito ou inferido até que um acordo na forma final seja executado
por escrito por todas as partes envolvidas.

Este e-mail e seus anexos podem ser confidenciais ou privilegiados.
Se você recebeu esta comunicação por engano, não a encaminhe para
qualquer outra pessoa, por favor, apague todas as cópias e anexos, e por favor, deixe-me
saiba que foi para a pessoa errada. Obrigado.

: +1: para Postgres!

+1 para SQLite

@roybass - sua postagem me deu uma ideia e fiz um início muito básico em um proxy postgres - ainda não apontei a grafana para ele ainda, mas espero que por meio de consultas personalizadas de influxo possa fingir ser influxo, mas é apoiado pelo postgres

desculpe, um link seria útil: https://github.com/sysadminmike/postgres-influx-mimic

Olá a todos que desejam se conectar ao postgres - consegui fazer com que tudo funcionasse e tenho um gráfico de exemplo

+1 postgres / postgres com tipo JSONB
@EliSnow usamos node, postgres, influxdb e grafana ... se você puder, gostaria de dar uma olhada em seu código :)
@sysadminmike vai dar uma olhada!

: +1: MySQL

@RobMcZag deixe-me saber o que você acha - eu usei para configurar uma ideia de coleção de métricas distribuídas: https://github.com/sysadminmike/yadms/

@torkelo , não sei como, uma fonte de dados SQL escalará com milhões de pontos de dados armazenados todos os dias. Posso concordar em ter uma fonte de dados como o Cassandra, que é altamente escalonável e incrível em desempenho.

@utkarshcmu , acho que é justo dizer que os bancos de dados relacionais não são lentos por natureza. De qualquer forma, mesmo se fossem, ainda pode ser atraente extrair dados de uma pequena tabela para anotações ou o que quer que seja, então os bancos de dados SQL são uma fonte de dados muito útil, se você me perguntar.

quais são as últimas novidades do sql como fonte de dados?

+1 Informix TimeSeries / Informix TimeSeries c / JSON
@utkarshcmu Informix é um exemplo de como um banco de dados relacional de objeto pode suportar uma implementação de dados de série de tempo altamente escalonável por meio de um tipo de dados de série de tempo otimizado (os elementos de série de tempo podem ser tipos de dados SQL e / ou documentos JSON). ;)

Olá,

Existe a possibilidade de ter dados numéricos SQL exportados pela interface HTTP usando camada adicional entre o servidor SQL e Grafana com a ajuda de ArrestDB: https://github.com/alixaxel/ArrestDB
Se alguém pudesse fazer um fork do plugin do existente baseado em HTTP, isso seria muito bom. Pessoalmente, não sou um especialista em codificação Java aqui e preciso de ajuda com isso.
Isso também seria compatível com a API Restful de outras fontes de dados - https://restdb.io/docs/rest-api

+1

Olá, aqui está o meu primeiro projeto em go:
Colete métricas do Microsoft SQL Server, envie para o InfluxDB e visualize com o Grafana
https://github.com/zensqlmonitor/influxdb-sqlserver

+1 para MySQL :)

+1 para VoltDB [In-Memory SQL DB]

: +1:

Que tal jdbc?

+1 MySQL

+1 MySQL

+1 PostgreSQL

+1 PostgreSQL

+1 postgresql
Em 8 de fevereiro de 2016 às 22h, "Tom Dyas" [email protected] escreveu:

Fonte de dados WIP SQL: # 3964 https://github.com/grafana/grafana/pull/3964

-
Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/grafana/grafana/issues/1542#issuecomment -181722398.

+1 Cassandra

Oi, qual é o status de uma integração de fonte de dados SQL? Para nós, é de grande interesse conectar grafana ao Amazon Redshift ou Presto. Pode haver a opção de colocar um de nossos desenvolvedores neste tópico. A integração com SQL é apenas um trabalho de codificação ou são necessárias grandes mudanças?

Eu tinha um protótipo em andamento em PR https://github.com/grafana/grafana/pull/3964 conversando com o Redshift da minha empresa. Acredito que apenas a codificação funcione (da minha parte ou de outra pessoa) neste momento. Embora existam vários itens listados no PR que precisam ser realizados antes de torná-lo pronto para a produção.

+1 VoltDB

+1 seria útil para anotações e painéis de texto.

+1

+1

Estou executando o influxdb com proxy por meio do grafana há algum tempo. Como passatempo secundário, estou mexendo em um firewall de aplicativo da web, e uma coisa para a qual eu gostaria muito de encontrar uma solução é algo semelhante a instruções preparadas para evitar injeções de SQL. No momento, tenho uma coleção de vários regexes que detectam injeções de sql, mas ajustá-los ao mesmo tempo em que retenho a capacidade de implantar novos painéis evita isso, não me deixando outra opção a não ser colocar a seção de argumentos na lista de permissões.
Conceitualmente, seria simples: publicar links de proxy fixos para coleta de dados criada quando o painel é criado / atualizado, em vez de ter a instrução de consulta embutida no argumento do url. Tudo o que você precisa fazer no lado do proxy é mapeá-lo para a consulta real e, em seguida, enviá-lo para o back-end do banco de dados.
Lidar com isso por meio das partes proxy de grafana dá a elegância adicional de independência de banco de dados ao ser capaz de lidar com declarações preparadas.

: +1: para o conceito / ideia, bem como a capacidade de usar SQL bruto mais ou menos se você quiser complementar métodos / recursos / métricas existentes

+1 para postgresql / mysql

todos os meus dedos levantados para o postgres

+1

+1

+1. Realmente preciso disso!

+1

Alguma atualização sobre isso ??

Eu escrevi uma prova de conceito inicial que coloquei como um PR para obter feedback: https://github.com/grafana/grafana/pull/3964. O código funcionou bem para consultas em uma instância do PostgreSQL em execução local. Não sei se ainda funcionaria, dadas as alterações do código-fonte no Grafana a caminho da v3.

Infelizmente, não tenho mais tempo para trabalhar nisso porque o projeto interno que precisaria dessa fonte de dados, não tem mais.

Dado que o código-fonte da prova de conceito está disponível publicamente no PR, não seria trivial (mas não uma grande quantidade de trabalho) para outra pessoa assumir. Se você é um desenvolvedor, esta é uma ótima maneira de aprender a base do código-fonte Grafana. Se você não é um desenvolvedor, mas tem influência em sua empresa, recomendo convencer um desenvolvedor em sua organização a trabalhar nisso.

Esse problema realmente demonstra o problema do "carona" no código aberto. A "moeda" do código aberto é o código (em seu sentido mais amplo) e o tempo investido pelos contribuidores nesse código. Parece-me que todos ficam felizes em dar um +1, mas muito poucas pessoas contribuem ou usam sua influência para convencer alguém em sua organização a contribuir.

Quer influenciar a direção do projeto nesta questão? Assuma a prova de conceito, preencha-a e contribua com ela, seja fazendo você mesmo ou alocando o tempo de sua organização (na forma de um desenvolvedor) para fazê-la. Essa alocação de tempo é definitivamente uma despesa. Quem está disposto a "gastar" o tempo?

Quanto a mim, estou disposto a responder a quaisquer perguntas sobre a prova de conceito de quem quer que o assuma.

Enviei um pedido de pull deste.

+1

+1 para Postgres, meu local de trabalho já adora Grafana

Adoraríamos ver isso - como referência https://github.com/sirensolutions/kibi é um "fork amigável" de kibana e o suporte a sql é um dos recursos que eles adicionaram
https://github.com/sirensolutions/kibi/tree/master/src/plugins/kibi_core/lib/datasources

se isso ajudar.

+1 para suporte de back-end mysql / mariadb (necessário principalmente para cavar bancos de dados de tickets GLPI / OTRS / etc ...)

Pessoal, por favor, parem de postar +1. Basta agradecer a @anzai e aplicar https://github.com/grafana/grafana/pull/5364 à sua grafana local.

mysql e postgre são fantásticos, Oracle ou jdbc genérico seriam fantásticos (como no Kibi mencionado acima)

@Jimilian - o +1 é colocá-lo na distribuição principal. Aplicar o patch significa que quando um novo grafana for lançado, terei que reaplicar, o que a maioria dos usuários não quer fazer.

+1 para este recurso, especialmente se for compatível com ODBC / JDBC

: +1: para postgres !! :-)

Adotei outra abordagem para exibir dados em RDBMS usando RestSQL. RestSQL habilita operações CRUD em bancos de dados relacionais e é uma solução bastante elegante para habilitar operações de banco de dados usando métodos HTTP e REST.

Eu escrevi um plugin Grafana para RestSQL - plugin Grafana (3.x) para RestSQL . No entanto, considere-o como um PoC neste momento :-)

Na minha configuração, nenhuma mudança no código base do Grafana é necessária. No entanto, essa configuração precisa de Java (Tomcat) para que RestSQL funcione.

+1. POC incrível @juliusloman .

+1. Seria ótimo para o Postgres!

+1 Postgres!
+1 consultas SQL brutas

1 para cassandra!

@juliusloman Seria incrível se você publicasse esse plugin no grafana.net!

+1 MYSQL e POSTGRES com consultas brutas

+1 Sobremesas!
+1 Cassandra!
+1 MySQL!

+1 Cassandra

+1 MySQL

+1 MS SQL !! : D

Em vez de criar comentários N +1, sugiro adicionar uma tag: +1: à primeira linha mencionando o banco de dados que você gostaria de ter suportado.

: +1:

+1 BigQuery.

Então, este plugin vai para a versão oficial? Eu gostaria de ter o Postgres como fonte de dados.

+1 PostgreSQL

@all Abri o código do meu conversor de protocolo InfluxDB-to-MySQL e publiquei em https://github.com/philip-wernersbach/influx-mysql , e ele está pronto para funcionar com o Grafana.

Eu acho que um gateway de entrada JSON deve ser suficiente para permitir praticamente qualquer entrada SQL. Eu escrevo o SQL para ser executado através do driver adequado, e o resultado JSON é consumido pela grafana.

Os conjuntos de dados do BigQuery como back-ends configuráveis ​​seriam absolutamente _ poderosos _.

+1 MySQL

@envintus Se você tiver tempo para contribuir, adoraria ter suporte do BigQuery em https://github.com/philip-wernersbach/influx-mysql

sparkSQL +1

alguma atualização no plugin sql?

ter suporte a SQL bruto na grafana definitivamente o tornará o melhor 👍
alguma atualização neste tópico?

Minha tentativa ingênua de grafana-simple-sql-datasource!
AVISO LEGAL: versão beta não polida e desajeitada ... mas funciona para mim 🤣

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

image

@gbrian parece bom!

Sou novo em proxies sql-js e tenho uma pergunta.
Existem diferentes pacotes para diferentes bancos de dados, como MySql, MSSql, Postgress ...
É ingênuo pensar que sua implementação funcionará com diferentes bancos de dados?
Em caso afirmativo, como isso pode ser resolvido? parece que precisamos de algum tipo de abstração entre ...

@osigida , obrigado!

Sim, a ideia principal é ter um arquivo "xxxproxy.js" para cada fonte de dados semelhante a SQL.

O próximo da minha lista é o Apache Drill (https://drill.apache.org/)
Se eu fizesse certo, seria fácil criar o proxy e configurar o conector, como
http://simple-sql-server:port/?con=drill://drilluser:password@drill-server:port
claro que a tarefa é converter o esquema da fonte de dados em sql simples.

Ficarei feliz se você testá-lo e me enviar algum feedback. Abra todos os problemas que encontrar e tentarei corrigi-los o mais rápido possível.

Desde já, obrigado.

@gbrian Se você planeja implementar o Postgres. Ficarei feliz em ajudá-lo e testar.

Ótimo trabalho. será para o oráculo também?

Enviado através do Samsung Galaxy S® 6, um smartphone AT&T 4G LTE
-------- Mensagem original -------- De: Gustavo Brian [email protected] Data: 16/02/17 4:00 (GMT-05: 00) Para: grafana / grafana [email protected] Cc: gsaray101 [email protected] , Comentário [email protected] Assunto: Re: [grafana / grafana] Grafana 2.0: Fonte de dados SQL (# 1542)
@osigida , obrigado!
Sim, a ideia principal é ter um arquivo "xxxproxy.js" para cada fonte de dados semelhante a SQL.
O próximo da minha lista é o Apache Drill (https://drill.apache.org/)

Se eu fizesse certo, seria fácil criar o proxy e configurar o conector, como

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

claro que a tarefa é converter o esquema da fonte de dados em sql simples.
Ficarei feliz se você testá-lo e me enviar algum feedback. Abra todos os problemas que encontrar e tentarei corrigi-los o mais rápido possível.
Desde já, obrigado.

-
Você está recebendo isso porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub ou ignore a conversa.

{"api_version": "1.0", "publisher": {"api_key": "05dde50f1d1a384dd78767c55493e4bb", "name": "GitHub"}, "entity": {"external_key": "github / grafana / grafana", "title ":" grafana / grafana "," subtitle ":" Repositório 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": "Abrir no GitHub", "url": " https://github.com/grafana/grafana "}}, "updates": {"snippets": [{"icon": "PERSON", "message": " @gbrian in # 1542: @osigida , obrigado! \ r \ n \ r \ nSim, a ideia principal é ter um arquivo \ "xxxproxy.js \" para cada fonte de dados semelhante a SQL. \ r \ n \ r \ nO próximo da minha lista é o Apache Drill (https://drill.apache.org/)\r\nSe eu fiz certo, deve ser fácil como criar o proxy e configurar o conector como \ r \ n http://simple-sql-server:port/?con=drill://drilluser:password@drill-server:port \ r \ nconcluir a tarefa está convertendo o esquema da fonte de dados em sql simples. \ r \ n \ r \ n Ficarei feliz se você testá-lo e me enviar de volta para me feedback. Abra todos os problemas que encontrar e tentarei corrigi-los o mais rápido possível. \ R \ n \ r \ nAgradecemos antecipadamente. "}]," Action ": {" name ":" View Issue "," url ": " https://github.com/grafana/grafana/issues/1542#issuecomment -280272622"}}}

@anayrat , @ gsaray101

Parece viável e deve ser bastante fácil:
https://www.npmjs.com/package/pg
https://www.npmjs.com/package/strong-oracle

+1 MySQL

+1 MySQL

+1 Cassandra

+1 MSSQL +1 MYSQL

Para sua informação

Agora existe um plugin oficial premium da Oracle (não gratuito)
https://grafana.com/plugins/grafana-oracle-datasource

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

HI @epizut : Este plugin premium está em desenvolvimento como parte do esforço geral. O plugin premium irá tirar proveito da funcionalidade central que está por vir.

Mais para vir aqui!

Existem limitações conhecidas de usar cassandra como uma fonte de dados grafana? Ou qualquer outra preocupação que você deva estar ciente antes de implementar um plugin de fonte de dados?

Cassandra não é um banco de dados de série temporal, então não acho que você pode usá-lo como um
fonte de dados em grafana. Estou usando opentsdb para minha fonte de dados grafana

Em 19 de maio de 2017 10:28, "mtnxplorer7" [email protected] escreveu:

Há alguma limitação conhecida do uso de cassandra como dados de grafana
fonte? Ou qualquer outra preocupação que você deva estar ciente antes de implementar um
plugin de fonte de dados?

-
Você está recebendo isso porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/grafana/grafana/issues/1542#issuecomment-302763176 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/ARG51ZdZ6qbzst8m7mx-tsSZ9cRoBe5Lks5r7dEggaJpZM4DndgD
.

O Cassandra oferece suporte à modelagem de dados de séries temporais. Quaisquer pensamentos baseados nisso

+1 para Apache Drill.

Vejo que a parte de back-end deste PR foi mesclada, mas qual é o status geral? Existe um ETA para uma revisão e fusão de qualquer trabalho de front-end necessário?

Para MySQL, há uma parte de backend e frontend, com suporte a alertas. Ainda sem suporte para Postgres

O suporte Postgres será muito bom para usar com http://www.timescale.com/.

Eu adoraria ver o suporte SQL para athena: http://docs.aws.amazon.com/athena/latest/ug/what-is.html

@torkelo , preciso de ajuda com a fonte de dados MySQL. Tenho a última versão do Grafana instalada (v4.4.3)

Meu host grafana é suponha que grafana.host.org e eu tenho um banco de dados SQL para um aplicativo que está hospedado em um host diferente, digamos application.host.org. Tenho mysql db no mesmo application.host.org

Quando adiciono uma nova fonte de dados do tipo MySQL na grafana (ou seja, grafana.host.org), ele me pergunta os detalhes da conexão. Eu adiciono os seguintes detalhes a ele:

Host: application.host. org: 3306
Banco de dados: dbname
Usuário: dbuser
Senha: dbpassword

Agora, quando eu salvo e testo esta conexão, aparece um erro dizendo:

"Erro 1045: Acesso negado para o usuário 'dbuser'@'grafana.host.org' (usando a senha: SIM)"

Alguma pista de uma solução para isso? Por que ele está tentando acessar grafana.host.org quando eu especifiquei o host db como application.host.org? Posso me conectar de grafana.host.org a application.host.org sem problemas. No entanto, isso me dá esse erro.

Meu entendimento é que ele deve tentar se conectar ao banco de dados no application.host.org. Quando me conecto ao banco de dados desse host no back-end, consigo acessar o arquivo sem problemas.

Sua ajuda será muito apreciada.

Obrigado,
Jyoti

Erro 1045: Acesso negado para o usuário 'dbuser'@'grafana.host.org' (usando senha: SIM)

Este erro é do MySQL. Ele reconheceu que dbuser está se conectando _do_ endereço de rede que resolve para grafana.host.org . Verifique as permissões, senha, etc. em MySQL.

Alguma idéia de apoiar o dialeto Redshift SQL?

Redshift SQL é apenas a família Postgres 8.x, que deve ser compatível com o suporte Postgres recém-adquirido. Ainda não tentei, mas também estou interessado se houver algum erro.

Se você não se importa em fazer proxy de dados através do postgres, você pode conectar o grafana a (quase) qualquer banco de dados com o wrapper de dados externos do postgres (https://wiki.postgresql.org/wiki/Foreign_data_wrappers).

+1 Oracle DB

+1 para MS SQL

+1 para SQLite

oi, qualquer pessoa interessada em mssql, verifique pr # 10093

Alguém já trabalhou no Oracle como fonte de dados? Eu adoraria ver isso.

@ gsaray101 e qualquer pessoa interessada - entre em contato com [email protected] se desejar testar a fonte de dados beta da Oracle.

Incorporamos a fonte de dados do Microsoft SQL Server ao Grafana e ela será lançada no Grafana 5.1 (# 10093, # 11298).

Isso significa que o Grafana agora tem suporte no core para MySQL, Postgres e MS SQL Server como fontes de dados. Não adicionaremos mais bancos de dados sql como fontes de dados ao núcleo do Grafana, então finalmente é hora de encerrar este problema.

Em um futuro próximo, teremos suporte para plug-ins de back-end, portanto, será possível ter outras fontes de dados sql como plug-ins externos.

Alguém está pensando em adicionar suporte para DB2 LUW?

@daniellee E quanto a Oracle e SQLite? : pensando: Alguma notícia sobre isso?

@mnlbox Já existe um plugin Oracle: https://grafana.com/plugins/grafana-oracle-datasource (não é open source, no entanto)

Sqlite como uma fonte de dados não está em nosso backlog e eu não ouvi falar de ninguém trabalhando nisso.

+1 para breve

Alguma atualização no SQLite @daniellee ?

A fonte de dados SQLite seria muito útil!

Sqlite !!!!!

Sqlite !!!!!

Sqlite !!!!!

Sqlite !!!!!

Use a função 👍 para mostrar sua aprovação e comentar apenas se puder fornecer informações adicionais, notas úteis, correções e comentários semelhantes que ajudem a resolver o problema. Desenvolvedores, contribuidores ou participantes de spam provavelmente não convencerão ninguém a implementar suas solicitações.

Daniellee afirmou acima que não há mais esforços para oferecer suporte a fontes de dados adicionais no núcleo e os plug - adaptar um plugin inteiro para / para SQLite , deve ser um pouco fácil construir um script de proxy smapp para servir seus dados SQLite como JSON semelhante ao RRD de mercado duplo

Como @adlerweb diz, atualmente não há planos para a equipe principal do Grafana para uma fonte de dados principal do Sqlite. Eu não acho que aceitaríamos um PR para isso também. No entanto, é claro que publicaríamos um plugin de fonte de dados externa em grafana.com se alguém o escrevesse.

Alguma atualização no SQLite @daniellee ?

Para aqueles interessados ​​em suporte SQLite (ou na verdade aqueles que esperam por qualquer fonte de dados), você não precisa esperar muito. É muito fácil escrever sua própria fonte de dados usando Python. A documentação é um pouco esparsa (consulte https://github.com/grafana/simple-json-datasource), mas é possível. Eu criei um exemplo bastante extenso neste repositório e uma postagem de blog sobre como visualizar o SQLite com Grafana . O repositório também inclui um exemplo funcional de SQLite e um pequeno banco de dados para este exemplo.

  • Voto SQLite!

vote para sqlite

Com o back-end vem a possibilidade de ter fonte de dados SQL.

Meu pensamento é que quando você adiciona a fonte de dados,

  • tipo db (inicialmente apenas mysql e postgres e sqlite3)
  • detalhes de conexão db
  • especificar um modelo de consulta métrica (basicamente uma consulta SQL com parâmetros)
  • especificar um modelo de consulta de anotação

Talvez também uma opção para permitir consultas RAW SQL da interface de consulta de métrica do painel.

Alguma outra ideia?

Para Sqlite

Vote no sqlite.

Sqlite, por favor

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

deepujain picture deepujain  ·  3Comentários

sslupsky picture sslupsky  ·  3Comentários

jackmeagher picture jackmeagher  ·  3Comentários

ricardclau picture ricardclau  ·  3Comentários

KlavsKlavsen picture KlavsKlavsen  ·  3Comentários