
Consultar APIs REST do Grafana
Se pudermos consumir os dados de que precisamos por meio da API REST (no formato JSON), poderemos, portanto, nos visualizar em Grafana! O mundo é maravilhoso com o Grafana! Então, Como sabemos, Hoje, quase qualquer aplicativo nos permite realizar consultas por meio de APIs, Não espere mais e aperte-os!
Poço, E antes de tudo… Diga-lhe que começamos depois de um verão de alegria e prazer =) e trabalho, ir… Foram alguns meses de desconexão e esperamos quem sabe se 1 ou melhor 2 Publicações por semana até ao final do ano… Tenho mais ou menos o plano de estudos, Mas os meus filhos sugam a minha vida :-), Vir, Para nougat!
Neste post vamos fazer algo simples, um exemplo do que vamos precisar para tê-lo em funcionamento. Vamos colocar um aplicativo, Neste caso em particular, utilizaremos Quarta-feira, que é um organizador Kanban e é aquele com o qual eu gerencio, entre outros,, as tarefas pendentes a realizar (na minha vida, No trabalho, com prioridades…). Como é um aplicativo que permite via API REST em formato JSON consultar os dados, pois a intenção será fazer um Dashboard no Grafana que organize as tarefas pendentes, E, claro,, em seguida, esta piscina rotativa irá para o Ecrã do serviço de assistência. Será uma consulta direta, que podemos armazenar em cache ou não se quisermos os valores por um tempo, não serão armazenados em nenhum banco de dados.
Primeiras coisas, em Grafana vamos instalar a fonte de dados 'JSON API’ & nós reiniciamos Grafana:
grafana-cli plugins instalar marcusolsson-json-datasource systemctl reiniciar grafana-server
Vamos dar este exemplo simples, Depois de ler a documentação de cada app, poderemos saber como consultar os dados de que necessitamos; Como eu disse, Quarta-feira, e liste os Cartões, que no meu caso eu uso como Tarefas, com uma ondulação faríamos isso rapidamente para validar a saída do que veremos mais adiante em Grafana:
ondulação -H "Autorização: Portador XXXXXXXXXX" -X OBTER http://192.168.1.115:3001/api/placas/xxxxxx/listas/xxxxxx/cartões [{"_Id":"Raios partam","título":"Tarefa 1...","Descrição":"","cessionários":[]},{"_Id":"DFGMH2","título":"Tarefa 2...","Descrição":"","cessionários":[]},{"_Id":"Rymt8","título":"Tarefa 3...","Descrição":"","cessionários":[]}....
Neste caso, Requer autenticação, E vai na cabeça, com o seu token, e então fazemos um GET da seção em que estamos interessados.
Poderemos criar a Fonte de Dados no Grafana que aponta para a URL raiz das APIs e, neste caso, enviaremos a autenticação em um cabeçalho personalizado. É só que Wekan é um exemplo um pouco particular, já que tudo o que vai depois do ':’ de «Autorização’ Vamos colocá-lo como 'valor’ no 'Cabeçalho’ (não só o Token, mas neste caso, Insistir).
E já num Dashboard no Grafana podemos adicionar um novo Painel, do tipo de que precisamos, No meu caso, um simples em formato de tabela é suficiente para mim, Eu só quero ver as tarefas urgentes pendentes. Indicamos o campo que queremos extrair, neste caso no formato JSONPath e no meu caso particular se você olhar atentamente para a ondulação anterior, seria '$.*.title’ para obter os títulos de todos os Cartões.
No separador 'Caminho'’ Podemos especificar o caminho da consulta, neste caso do tipo GET e (No meu caso) Adicionando o caminho: '/placas/xxxxxxxxxx/listas/xxxxxxxxxx/cartões’
E este seria um exemplo de algumas das Tarefas Urgentes que tenho pendentes neste momento 🙂
O que eu disse, é um mero exemplo de como consumir dados diretamente do Grafana por meio de APIs no formato JSON que o aplicativo remoto pode cuspir. Espero que você possa tirar algum proveito disso, A verdade é que tem 1000 possibilidades e fico aquém 😉
Que você seja feliz, que foi um prazer escrever estas poucas linhas, Mas eu tenho que tirar a ferrugem, alguns documentos que você pode achar interessante e outros nem tanto, mas com a intenção de que contribuam com alguma coisa. Um grande beijo!