Conecte-se a uma fonte de dados do MongoDB - Amazon Managed Grafana

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conecte-se a uma fonte de dados do MongoDB

A fonte de dados do MongoDB permite que você visualize dados do MongoDB na Amazon Managed Grafana.

nota

Essa fonte de dados é somente para a Grafana Enterprise. Para ter mais informações, consulte Gerencie o acesso aos plug-ins corporativos.

Além disso, em espaços de trabalho compatíveis com a versão 9 ou mais recente, essa fonte de dados pode exigir a instalação do plug-in apropriado. Para ter mais informações, consulte Amplie seu espaço de trabalho com plug-ins.

Uso

Editor de consultas

O editor de consultas suporta a mesma sintaxe do MongoDB Shell, com algumas limitações: * Você só pode executar um comando/consulta. * Somente comandos de leitura são suportados: localizar e agregar * A maioria dos construtores de objetos não é suportada (com exceção do ISODate, que é compatível)

O editor expande a sintaxe do MongoDB Shell das seguintes maneiras:

  • Seleção do banco de dados — Você pode fornecer o nome do banco de dados no lugar do “db” normal:

    nota

    Você ainda pode usar “db”. Ele se referirá ao banco de dados padrão em sua string de conexão.

    sample_mflix.movies.find()
  • Classificação agregada — Normalmente, a classificação acontece com uma etapa dentro do pipeline agregado, no entanto, o nível gratuito do MongoDB Atlas não permite a classificação. Expandimos a sintaxe para permitir isso para aqueles que usam o nível gratuito.

    nota

    O MongoDB não executa a classificação com essa sintaxe. A classificação acontece depois que os resultados são consultados na coleção.

    sample_mflix.movies.aggregate({}).sort({"time": 1})
  • Com um editor em branco, Ctrl + Space mostrará uma seleção de todos os bancos de dados disponíveis.

  • Inserir um ponto após o banco de dados mostrará uma seleção de todas as coleções disponíveis para esse banco de dados.

  • Inserir um ponto após a coleção mostrará os métodos de consulta disponíveis.

  • Inserir um ponto após o método de consulta mostrará funções adicionais: sort/limit.

Executando a consulta

Pressione Cmd + S para executar a consulta

Séries temporais

Ao visualizar dados de séries temporais, o plug-in precisa saber qual campo usar como hora. Basta projetar o campo com um alias de nome “time”. O tipo de dados do campo deve ser uma data.

Você pode coagir tipos de dados não datados até o momento. Isso permitirá o uso de campos sem data como o tempo da série temporal. O exemplo a seguir mostra como converter o campo int “ano” em uma data projetada como “hora” usando o operador de pipeline MongoDB $dateFromParts .

sample_mflix.movies.aggregate([ {"$match": { "year": {"$gt" : 2000} }}, {"$group": { "_id": "$year", "count": { "$sum": 1 }}}, {"$project": { "_id": 0, "count": 1, "time": { "$dateFromParts": {"year": "$_id", "month": 2}}}} ] ).sort({"time": 1})

Diagnóstico

Comandos de diagnóstico

Atualmente, há suporte para os seguintes comandos de diagnóstico: “stats”, “ServerStatus”, “Status”, “GetLog”, replSetGet "“, “ConnectionStatus”, connPoolStats “BuildInfo”, “DBStats”, “HostInfo”, “LockInfo”

Exemplos:

admin.connectionStatus() // run the connectionStatus command admin.connectionStatus({"authInfo.authenticatedUserRoles": 1}) // run and only return the "authInfo.authenticatedUserRoles" field admin.connPoolStats({arg: "pool"}) // run the connPoolStats command and pass 1 argument admin.serverStatus({args: {repl: 0, metrics:0}}) // run the serverStatus command and pass multiple args

Macros

Você pode referenciar o intervalo de tempo do painel em suas consultas.

  • $__timeFrom — uma macro que faz referência à hora de início do painel

  • $__timeTo — uma macro que faz referência ao horário de término do painel

$__timeTo - ``` sample_mflix.movies.find({released: {$gt: "$__timeFrom"}}).sort({year: 1})

Variáveis do modelo

O MongoDB suporta a ideia de “Variáveis compostas”, que permitem que você use uma variável como várias variáveis para realizar filtros complexos de várias chaves.

Para criar uma variável composta, use a convenção de nomenclatura de dividir as variáveis usando sublinhados (deve começar com sublinhado): _var1_var2 Ao consultar, a resposta deve estar no formato: val1-val2

Exemplo: quero filtrar os resultados pelo nome do filme e pelo ano.
  1. Crie uma variável do tipo Query: _movie_year

  2. Defina a consulta variável como uma consulta que retornará uma matriz de itens com uma propriedade de ano do filme, conforme mostrado no exemplo a seguir.

    // Example sample_mflix.movies.aggregate([ {"$match": {year: {"$gt": 2011}}}, {"$project": {_id: 0, movie_year: {"$concat": ["$title", " - ", {"$toString":"$year"}]}}} ])
    // [{"movie-year": "Ted - 2016"}, {"movie-year": "The Terminator - 1985"}]
  3. Agora, em sua consulta, você pode referenciar “Filme” e “Ano” como variáveis de modelo separadas usando a sintaxe “$_variable”.

Usando filtros ad-hoc

Além da variável padrão do tipo “filtro ad-hoc” de qualquer nome, uma segunda variável auxiliar deve ser criada. Deve ser um tipo “constante” com o nome `mongodb_adhoc_query` e um valor compatível com o editor de consultas. O resultado da consulta será usado para preencher os filtros selecionáveis. Você pode optar por ocultar essa variável da visualização, pois ela não serve para mais nada.

sample_mflix.movies.aggregate([ {"$group": { "_id": "$year"}}, {"$project": { "year": "$_id","_id": 0 }} ] )