菜单gydF4y2Ba
MongoDB Grafana数据源gydF4y2Ba
企业gydF4y2Ba

MongoDB Grafana数据源gydF4y2Ba

MongoDB数据源插件允许您可视化数据在Grafana MongoDB。gydF4y2Ba

需求gydF4y2Ba

这个插件有以下要求:gydF4y2Ba

已知的限制gydF4y2Ba

  • 只有gydF4y2Ba找到gydF4y2Ba和gydF4y2Ba总gydF4y2Ba读命令支持gydF4y2Ba
  • 目前支持诊断命令参考gydF4y2Ba诊断gydF4y2Ba
  • 正则表达式的旗帜gydF4y2BaggydF4y2Ba和gydF4y2Ba年代gydF4y2Ba不支持gydF4y2Ba

安装插件gydF4y2Ba

安装的数据源,请参考gydF4y2Ba安装gydF4y2Ba。gydF4y2Ba

在Grafana配置数据源gydF4y2Ba

添加一个数据源gydF4y2Ba通过填写以下字段:gydF4y2Ba

字段名gydF4y2Ba 描述gydF4y2Ba
的名字gydF4y2Ba 这个特殊的MongoDB数据源的名称。gydF4y2Ba
连接字符串gydF4y2Ba MongoDB实例的连接字符串。gydF4y2Ba
身份验证gydF4y2Ba 凭证gydF4y2Ba输入您的用户名和密码。gydF4y2BaCA证书gydF4y2Ba输入您的CA证书和决定是否跳过TLS证书验证。gydF4y2Ba客户端证书gydF4y2Ba输入服务器名称、客户端证书和客户端密钥。gydF4y2Ba

配置数据源的配置gydF4y2Ba

数据源可以配置Grafana的供应系统。你可以阅读更多关于它是如何工作的和所有的设置可以设置为数据源gydF4y2Ba供应GrafanagydF4y2Ba。gydF4y2Ba

apiVersion: 1数据源:名称:MongoDB类型:grafana-mongodb-datasource访问:代理basicAuth:假可编辑:真正启用:真正的jsonData:连接:连接字符串用户:用户名secureJsonData:密码:密码gydF4y2Ba

查询的数据源gydF4y2Ba

查询编辑器支持MongoDB Shell语法一样,有一些限制:gydF4y2Ba

  • 你只能运行一个命令或查询每个查询。gydF4y2Ba
  • 只有gydF4y2Ba找到gydF4y2Ba和gydF4y2Ba总gydF4y2Ba读命令支持。gydF4y2Ba
  • ISODategydF4y2Ba是唯一支持对象的构造函数。gydF4y2Ba

额外的语法gydF4y2Ba

编辑器扩展了MongoDB Shell语法的gydF4y2Ba数据库的选择gydF4y2Ba,你可以使用一个数据库名称代替gydF4y2BadbgydF4y2Ba。例如,gydF4y2Basample_mflix.movies.find ()gydF4y2Ba。你仍然可以使用gydF4y2BadbgydF4y2Ba引用默认的数据库连接字符串。gydF4y2Ba

它还扩展了它的gydF4y2Ba总排序gydF4y2Ba。排序通常发生在总管道。允许扩展语法gydF4y2Ba总gydF4y2Ba类似于gydF4y2Ba找到gydF4y2Ba。例如,gydF4y2Basample_mflix.movies.aggregate ({})。排序({“时间”:1})gydF4y2Ba。gydF4y2Ba

注意:gydF4y2BaMongoDB不执行这个语法。排序之后的查询结果集合。gydF4y2Ba

边界情况gydF4y2Ba

与一个点集合gydF4y2Ba

为集合包含一个点您可以使用以下的语法gydF4y2Ba

my_db.getCollection (“my.collection”); ({})gydF4y2Ba

快捷键gydF4y2Ba

新闻gydF4y2BaCtrlgydF4y2Ba+gydF4y2Ba空间gydF4y2Ba显示代码完成,进入后显示gydF4y2Ba。gydF4y2Ba一个数据库后,收集、查询方法,或聚合方法名称。gydF4y2Ba

CmdgydF4y2Ba+gydF4y2Ba年代gydF4y2Ba运行查询。gydF4y2Ba

查询的时间序列gydF4y2Ba

做一个时间序列查询混叠一个日期字段gydF4y2Ba时间gydF4y2Ba。gydF4y2Ba

注意:gydF4y2Ba你可以强迫non-date字段日期字段别名gydF4y2Ba时间gydF4y2Ba使用时间序列查询。gydF4y2Ba

下面的例子将gydF4y2BaintgydF4y2Ba场gydF4y2Ba一年gydF4y2Ba预计的日期gydF4y2Ba时间gydF4y2Ba使用MongoDB dateFromParts美元管道操作符:gydF4y2Ba

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

如果你想要你的时间序列gydF4y2Ba度规gydF4y2Ba、项目领域gydF4y2Ba__metricgydF4y2Ba。gydF4y2Ba

下面的例子显示了计数的电影通过电影评级使用gydF4y2Ba__metricgydF4y2Ba:gydF4y2Ba

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

诊断gydF4y2Ba

诊断命令信息,请参考gydF4y2Ba诊断命令gydF4y2Ba。gydF4y2Ba

这个插件支持以下诊断命令:gydF4y2Ba

  • 统计数据gydF4y2Ba
  • serverStatusgydF4y2Ba
  • replSetGetStatusgydF4y2Ba
  • getLoggydF4y2Ba
  • connPoolStatsgydF4y2Ba
  • connectionStatusgydF4y2Ba
  • buildInfogydF4y2Ba
  • dbStatsgydF4y2Ba
  • hostInfogydF4y2Ba
  • lockInfogydF4y2Ba

宏gydF4y2Ba

简化语法,并允许动态的时候,您可以编写查询包含宏。gydF4y2Ba

__timeFrom美元gydF4y2Ba
将取代当前活动的开始时间选择转换成吗gydF4y2Ba时间gydF4y2Ba数据类型。gydF4y2Ba
__timeTo美元gydF4y2Ba
将被替换的选择转换为当前活动时间gydF4y2Ba时间gydF4y2Ba数据类型。gydF4y2Ba

模板和变量gydF4y2Ba

添加一个新的MongoDB查询变量,请参考gydF4y2Ba添加和管理变量gydF4y2Ba。使用MongoDB数据源作为数据源。gydF4y2Ba

这是一个查询的例子,所有电影标题1980年之后:gydF4y2Ba

sample_mflix.movies。总([ {"$match": {year: {"$gt": 1980}}}, {"$project": {"_id": 0, "movie_title": "$title"}} ])

MongoDB支持复合变量,一个变量被用作多个变量执行复杂的多键过滤器。gydF4y2Ba

  • 命名您的复合变量从每个人的名字与一个下划线(gydF4y2Ba_gydF4y2Ba),比如gydF4y2Ba_var1_var2gydF4y2Ba。不要使用空格。gydF4y2Ba
  • 查询的复合变量通过别名使用同一个人的名字由连字符(gydF4y2Ba- - - - - -gydF4y2Ba),比如gydF4y2Baval1-val2gydF4y2Ba。gydF4y2Ba
  • 打电话给你的变量使用普通变量的语法。例如,gydF4y2Ba_var1美元gydF4y2Ba或gydF4y2Ba_var2美元gydF4y2Ba。gydF4y2Ba

电影的名字和年过滤结果gydF4y2Ba

  1. 创建一个变量和名称gydF4y2Ba_movie_yeargydF4y2Ba。gydF4y2Ba
  2. 选择MongoDB作为数据源。gydF4y2Ba
  3. 得到一个数组项与一个movie-year属性通过设置查询如下:gydF4y2Ba
sample_mflix.movies。总([ {"$match": {year: {"$gt": 1980}}}, {"$project": {"_id": 0, "movie_year": {"$concat": ["$title", " - ", {"$toString":"$year"}]}}} ]) // [{"movie-year": "Ted - 2016"}, {"movie-year": "The Terminator - 1985"}]
  1. 在你的查询,参考gydF4y2Ba_movie美元gydF4y2Ba和gydF4y2Ba_year美元gydF4y2Ba作为单独的模板变量:gydF4y2Ba
sample_mflix.movies。找到({"title":"$_movie", year: $_year})
  1. 在MongoDB中使用变量查询使用gydF4y2Ba变量的语法gydF4y2Ba。gydF4y2Ba

关于变量的更多信息,请参考gydF4y2Ba模板和变量gydF4y2Ba。gydF4y2Ba

使用专用过滤器gydF4y2Ba

除了标准的“临时过滤器”类型变量的名称,必须创建第二个辅助变量。它应该是一个“常数”类型的名称gydF4y2Bamongo_adhoc_querygydF4y2Ba和一个值兼容gydF4y2Ba查询编辑器gydF4y2Ba。查询结果将用于填充UI的可选择的过滤器。你可以选择隐藏这个变量进一步认为它没有目的。gydF4y2Ba

查询:gydF4y2Ba

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

…和一个值选择,看起来像:gydF4y2Baad_hoc_filtergydF4y2Ba

其他受支持的功能示例查询gydF4y2Ba

  • ObjectIdgydF4y2Ba类型支持gydF4y2Ba

sample_mflix.movies。找到({"_id": ObjectId("573a1390f29313caabcd4803")}) sample_mflix.movies.find({"_id": {$in : [ObjectID("573a1391f29313caabcd6f98"), ObjectID("573a1392f29313caabcd9dee"), ObjectID("573a1392f29313caabcd9ca6")] }})
  • 正则表达式搜索支持gydF4y2Ba

    • 双引号:gydF4y2Ba
    sample_mflix.movies。找到({"title": {$regex: "ace", $options: "$i"} })
    • 用单引号:gydF4y2Ba
    sample_mflix.movies。找到({"title": {$regex: 'ace', $options: "$i"} })
    • 与模式gydF4y2Ba
    sample_mflix.movies。找到({"title": /ace/i })
  • __timeFrom / __timeTo美元gydF4y2Ba宏的支持gydF4y2Ba

sample_mflix.movies.find({“西红柿。dvd”: {$ gt: $ __timeFrom}}) .limit sample_mflix.movies (10)。找到({$和:[{“西红柿。dvd”: {$ gte: $ __timeFrom}},{“西红柿。dvd”: {$ lt: $ __timeTo}}})gydF4y2Ba
  • ISODategydF4y2Ba类型支持gydF4y2Ba

sample_mflix.movies.find({“西红柿。dvd”: {$ gte: ISODate (" 2013-03-01 ")}})gydF4y2Ba

得到最多的插件gydF4y2Ba

调试反应大小gydF4y2Ba

注意:gydF4y2Ba该功能目前不支持Grafana云gydF4y2Ba

GF_PLUGIN_LOGGER_LEVELgydF4y2Ba可以设置一个环境变量或在吗gydF4y2Bagrafana.inigydF4y2Ba是这样的:gydF4y2Ba

(插件。grafana-mongodb-datasource] # the log level to capture # either 1 (traces) or 2 (debug) will work logger_level = 2

后,每个查询插件将日志信息响应大小。gydF4y2Ba