Stellen Sie eine Connect zu einer MongoDB-Datenquelle her - Amazon Managed Grafana

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Stellen Sie eine Connect zu einer MongoDB-Datenquelle her

Die MongoDB-Datenquelle ermöglicht es Ihnen, Daten aus MongoDB in Amazon Managed Grafana zu visualisieren.

Anmerkung

Diese Datenquelle ist nur für Grafana Enterprise bestimmt. Weitere Informationen finden Sie unter Zugriff auf Enterprise-Plug-ins verwalten.

In Workspaces, die Version 9 oder neuer unterstützen, müssen Sie für diese Datenquelle möglicherweise außerdem das entsprechende Plugin installieren. Weitere Informationen finden Sie unter Erweitere deinen Workspace mit Plugins.

Verwendung

Abfrage-Editor

Der Abfrage-Editor unterstützt dieselbe Syntax wie die MongoDB-Shell, mit einigen Einschränkungen: * Sie können nur einen Befehl/eine Abfrage ausführen. * Es werden nur Lesebefehle unterstützt: Suchen und Aggregieren * Die meisten Objektkonstruktoren werden nicht unterstützt (mit Ausnahme von ISODate, das unterstützt wird)

Der Editor erweitert die MongoDB-Shell-Syntax auf folgende Weise:

  • Datenbankauswahl — Sie können den Namen der Datenbank anstelle des normalen „db“ angeben:

    Anmerkung

    Sie können weiterhin „db“ verwenden. Es bezieht sich auf die Standarddatenbank in Ihrer Verbindungszeichenfolge.

    sample_mflix.movies.find()
  • Aggregierte Sortierung — Normalerweise erfolgt die Sortierung mit einem Schritt innerhalb der Aggregate-Pipeline, das kostenlose Kontingent von MongoDB Atlas erlaubt jedoch keine Sortierung. Wir haben die Syntax erweitert, um dies auch für Benutzer des kostenlosen Kontingents zu ermöglichen.

    Anmerkung

    MongoDB führt die Sortierung nicht mit dieser Syntax durch. Die Sortierung erfolgt, nachdem die Ergebnisse aus der Sammlung abgefragt wurden.

    sample_mflix.movies.aggregate({}).sort({"time": 1})
  • Bei leerem Editor zeigt Strg + Leertaste eine Auswahl aller verfügbaren Datenbanken an.

  • Wenn Sie nach der Datenbank einen Punkt eingeben, wird eine Auswahl aller verfügbaren Sammlungen für diese Datenbank angezeigt.

  • Wenn Sie nach der Sammlung einen Punkt eingeben, werden die verfügbaren Abfragemethoden angezeigt.

  • Wenn Sie nach der Abfragemethode einen Punkt eingeben, werden zusätzliche Funktionen angezeigt: sortieren/einschränken.

Die Abfrage wird ausgeführt

Drücken Sie Cmd + S, um die Abfrage auszuführen

Zeitreihen

Bei der Visualisierung von Zeitreihendaten muss das Plugin wissen, welches Feld als Uhrzeit verwendet werden soll. Projizieren Sie das Feld einfach mit dem Aliasnamen „Zeit“. Der Felddatentyp muss ein Datum sein.

Sie können Datentypen, die kein Datum haben, auf ein Datum festlegen. Auf diese Weise können Sie Felder ohne Datum als Zeitreihenzeit verwenden. Das folgende Beispiel zeigt, wie das Int-Feld „year“ mit dem MongoDB dateFromParts $-Pipeline-Operator in ein Datum konvertiert wird, das als „Zeit“ projiziert wird.

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

Diagnose

Diagnosebefehle

Die folgenden Diagnosebefehle werden derzeit unterstützt: „stats“, „serverStatus“, "replSetGetStatus“, „getLog“, "„, „connectionStatus“, connPoolStats „buildInfo“, „dbStats“, „HostInfo“, „LockInfo“

Beispiele:

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

Makros

Sie können in Ihren Abfragen auf den Zeitbereich des Dashboards verweisen.

  • $__timeFrom — ein Makro, das auf die Startzeit des Dashboards verweist

  • $__timeTo — ein Makro, das auf die Endzeit des Dashboards verweist

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

Vorlagenvariablen

MongoDB unterstützt die Idee von „Compound Variables“, die es Ihnen ermöglichen, eine Variable als mehrere Variablen zu verwenden, um komplexe Mehrschlüsselfilter durchzuführen.

Um eine zusammengesetzte Variable zu erstellen, verwenden Sie die Namenskonvention, die Variablen durch Unterstriche aufzuteilen (muss mit einem Unterstrich beginnen): _var1_var2 Bei der Abfrage muss die Antwort das folgende Format haben: val1-val2

Beispiel: Ich möchte die Ergebnisse sowohl nach dem Filmnamen als auch nach dem Jahr filtern.
  1. Erstellen Sie eine Variable vom Typ Query: _movie_year

  2. Stellen Sie die Variablenabfrage auf eine Abfrage ein, die ein Array von Elementen mit einer Eigenschaft für das Filmjahr zurückgibt, wie im folgenden Beispiel gezeigt.

    // 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. Jetzt können Sie in Ihrer Abfrage mit der Syntax „$_variable“ auf „Film“ und „Jahr“ als separate Vorlagenvariablen verweisen.

Verwenden von Ad-hoc-Filtern

Zusätzlich zur Standardvariable vom Typ „Ad-hoc-Filter“ mit beliebigem Namen muss eine zweite Hilfsvariable erstellt werden. Es sollte ein „konstanter“ Typ mit dem Namen `mongodb_adhoc_query` und einem Wert sein, der mit dem Abfrage-Editor kompatibel ist. Das Abfrageergebnis wird verwendet, um die auswählbaren Filter zu füllen. Sie können sich dafür entscheiden, diese Variable aus der Ansicht auszublenden, da sie keinem weiteren Zweck dient.

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