Connect a una fonte di dati MongoDB - Grafana gestito da Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connect a una fonte di dati MongoDB

L'origine dati MongoDB ti consente di visualizzare i dati di MongoDB in Amazon Managed Grafana.

Nota

Questa fonte di dati è solo per Grafana Enterprise. Per ulteriori informazioni, consulta Gestisci l'accesso ai plugin Enterprise.

Inoltre, nelle aree di lavoro che supportano la versione 9 o successiva, questa fonte di dati potrebbe richiedere l'installazione del plug-in appropriato. Per ulteriori informazioni, consulta Estendi il tuo spazio di lavoro con i plugin.

Utilizzo

Editor della query

L'editor di query supporta la stessa sintassi della shell MongoDB, con alcune limitazioni: * È possibile eseguire solo un comando/query. * Sono supportati solo i comandi di lettura: find e aggregate * La maggior parte dei costruttori di oggetti non sono supportati (ad eccezione di ISODate, che è supportato)

L'editor espande la sintassi della shell MongoDB nei seguenti modi:

  • Selezione del database: puoi fornire il nome del database al posto del normale «db»:

    Nota

    Puoi ancora usare «db». Farà riferimento al database predefinito nella stringa di connessione.

    sample_mflix.movies.find()
  • Ordinamento aggregato: normalmente l'ordinamento avviene con un passaggio all'interno della pipeline aggregata, tuttavia il livello gratuito di MongoDB Atlas non consente l'ordinamento. Abbiamo ampliato la sintassi per consentirla a chi utilizza il livello gratuito.

    Nota

    MongoDB non esegue l'ordinamento con questa sintassi. L'ordinamento avviene dopo che i risultati sono stati interrogati dalla raccolta.

    sample_mflix.movies.aggregate({}).sort({"time": 1})
  • Con un editor vuoto, Ctrl + Space mostrerà una selezione di tutti i database disponibili.

  • Inserendo un punto dopo il database verrà mostrata una selezione di tutte le raccolte disponibili per quel database.

  • Inserendo un punto dopo la raccolta verranno visualizzati i metodi di interrogazione disponibili.

  • Inserendo un punto dopo il metodo di interrogazione verranno visualizzate le funzioni aggiuntive: ordinamento/limite.

Esecuzione della query

Premi Cmd + S per eseguire la query

Serie temporali

Quando si visualizzano i dati delle serie temporali, il plugin deve sapere quale campo utilizzare come ora. Proietta semplicemente il campo con un alias di nome «time». Il tipo di dati del campo deve essere una data.

È possibile forzare tipi di dati non datati alla data attuale. In questo modo sarà possibile utilizzare campi non datati come data e ora della serie temporale. L'esempio seguente mostra come convertire il campo int «anno» in una data proiettata come «ora» utilizzando l'operatore pipeline dateFromParts MongoDB $.

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})

Diagnostica

Comandi diagnostici

Attualmente sono supportati i seguenti comandi diagnostici: «stats», «serverStatus», "Status», «getLog», "replSetGet«, «ConnectionStatus», connPoolStats «BuildInfo», «dbStats», «hostInfo», «lockInfo»

Esempi:

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

Macro

Puoi fare riferimento all'intervallo di tempo della dashboard nelle tue query.

  • $__timeFrom — una macro che fa riferimento all'ora di inizio della dashboard

  • $__timeTo — una macro che fa riferimento all'ora di fine della dashboard

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

Variabili del modello

MongoDB supporta l'idea delle «variabili composte», che consentono di utilizzare una variabile come più variabili per eseguire filtri multi-chiave complessi.

Per creare una variabile composta, usa la convenzione di denominazione che prevede la suddivisione delle variabili utilizzando caratteri di sottolineatura (deve iniziare con il carattere di sottolineatura): _var1_var2 durante l'interrogazione, la risposta deve essere nel formato: val1-val2

Esempio: voglio filtrare i risultati sia in base al nome del film che all'anno.
  1. Crea una variabile di tipo Query: _movie_year

  2. Imposta la variabile query su una query che restituirà una matrice di elementi con una proprietà movie-year, come illustrato nell'esempio seguente.

    // 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. Ora nella tua query, puoi fare riferimento a «Movie» e «Year» come variabili di modello separate utilizzando la sintassi «$_variable».

Utilizzo di filtri ad hoc

Oltre alla variabile standard di tipo «filtro ad hoc» con qualsiasi nome, è necessario creare una seconda variabile di supporto. Dovrebbe essere un tipo «costante» con il nome `mongodb_adhoc_query` e un valore compatibile con l'editor di query. Il risultato della query verrà utilizzato per compilare i filtri selezionabili. Puoi scegliere di nascondere questa variabile dalla vista in quanto non serve a scopi ulteriori.

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