O armazenamento de dados em um cluster do Couchbase é uma ótima maneira de garantir o desempenho e a estabilidade incomparáveis de seus serviços. Juntamente com nosso serviço de análise, o Couchbase permite obter insights sobre os dados sem afetar o desempenho do cluster. O número de ferramentas de análise que podem ser usadas com nosso banco de dados está crescendo constantemente. Recentemente, lançamos a primeira versão beta do nosso plug-in de fonte de dados para o Grafana, uma ferramenta de visualização de dados de código aberto que é usada por muitas equipes em todo o mundo para análise de dados e monitoramento de sistemas.
O plug-in de fonte de dados do Grafana é suportado por nossa comunidade e suas fontes podem ser obtidas na página Página do GitHub. Fornecemos binários pré-construídos e trabalhamos para tornar o processo de instalação o mais fácil possível. O plug-in oferece suporte à consulta de clusters do Couchbase usando SQL++ por meio de nossos serviços de consulta ou análise.
Instalando o plug-in do Grafana
Para instalá-lo, faça o download da versão mais recente do .zip da página de lançamento e descompacte-o no diretório do plug-in do Grafana. Você também precisa permitir que o Grafana carregue o plug-in sem validar sua assinatura. O procedimento de instalação e configuração é descrito em detalhes em Tutorial do plug-in Grafana do Couchbase.
Usando o plug-in
Depois de instalar o plug-in, agora é possível usar o SQL++ exclusivo do Couchbase com os poderosos recursos de visualização do Grafana. Então, vamos explorá-los!
Ir para o Explorar na interface do usuário do Grafana e selecione uma fonte de dados Couchbase configurada no menu suspenso na parte superior da página.

Isso deve mudar a interface do usuário da consulta para a interface fornecida pelo nosso plug-in. Mais recursos serão adicionados posteriormente, mas, no momento, a interface do usuário do editor de consultas é um tanto ascética: ela permite que você edite uma consulta, escolha o serviço com o qual executar a consulta e envie-a para o cluster.
Em relação à sintaxe de consulta, o plug-in oferece suporte a todos os recursos do cluster SQL++, incluindo pesquisa de texto completo e funções definidas pelo usuário. O plug-in espera que as consultas enviadas satisfaçam os seguintes requisitos:
- Para aplicar a seleção no intervalo de tempo da consulta padrão da interface do usuário do Grafana, a consulta deve incluir uma das duas funções de filtragem de intervalo de tempo em seu ONDE seção: str_time_range() e time_range(). Essas funções aceitam o nome do campo que deve ser usado para filtros de intervalo de tempo, por exemplo:
1SELECIONAR tempo, contagem DE teste ONDE str_time_range(tempo) - O Grafana só oferece suporte a consultas que selecionam valores escalares, como números e cadeias de caracteres, mas não valores vetoriais, como matrizes e mapas, que precisam ser aninhados antes de serem exibidos na interface do usuário. Por esse motivo, recomenda-se evitar o uso do operador asterisco na cláusula select para garantir que as consultas SQL++ enviadas ao plug-in selecionem apenas campos escalares.
Visualizando os dados
Depois que o backend do plug-in recebe uma resposta do cluster, ele transforma os resultados em estruturas de dados do Grafana que podem ser exibidas na interface do usuário.
O Grafana detecta automaticamente o tipo de dados selecionados e renderiza valores numéricos no gráfico da linha do tempo:

Se o conjunto de resultados contiver uma coluna chamada conteúdoos resultados serão exibidos como registros:

O plug-in da fonte de dados Couchbase também permite o uso de SQL++ para alimentar painéis personalizados do Grafana. Por exemplo, uma consulta agregada pode ser usada para monitorar o número de eventos em um período de tempo:

Mais informações sobre a criação de painéis do Grafana com o Couchbase são fornecidas em Tutorial do plug-in Grafana do Couchbase.
O plug-in está sendo desenvolvido ativamente, portanto, mais recursos estão por vir. Se você tiver alguma dúvida sobre o plug-in, se tiver problemas com sua instalação ou uso, adoraríamos saber sobre eles e seu feedback geral por meio de nossos fóruns ou via Problemas no GitHub.