Prometheus 格拉法纳·普罗米修斯“信息”度量

Prometheus 格拉法纳·普罗米修斯“信息”度量,prometheus,grafana,Prometheus,Grafana,我想知道我是否可以使用普罗米修斯数据中的信息度量来显示grafana中的信息/数据。我还没有在网上找到任何关于使用该指标的有意义的例子。我已经检查了示例仪表板,但我看不出该指标有任何用处。我已尝试使用上面链接中的示例向普罗米修斯发送数据: from prometheus_client import Info, push_to_gateway, CollectorRegistry regis = CollectorRegistry() i = Info('my_build_version', 'D

我想知道我是否可以使用普罗米修斯数据中的信息度量来显示grafana中的信息/数据。我还没有在网上找到任何关于使用该指标的有意义的例子。我已经检查了示例仪表板,但我看不出该指标有任何用处。我已尝试使用上面链接中的示例向普罗米修斯发送数据:

from prometheus_client import Info, push_to_gateway, CollectorRegistry
regis = CollectorRegistry()
i = Info('my_build_version', 'Description of info')
i.info({'version': '1.2.3', 'buildhost': 'foo@bar'})
push_to_gateway('http://localhost:9091', job="Try_Info_metric", registry=regis)

有人在grafana中有我可以使用的有意义的查询/可视化吗?我想看看我是否能以表格的形式显示出来。

我意识到,查看pushgateway时,信息指标是一个值为1的量表。 我想我可以使用gauge作为一种使用度量构建表的方法。

我有一个由所有服务导出的build\u info度量,如下所示:

build_info{commit_id="42806c2f7f1e17a63d94db9d561d220f53d38ee0",commit_time="2019-11-16 13:53:46Z",build_time="2019-11-16 13:57:20Z",branch="v19.57.x",version="19.57.3",} 1.0
以及服务仪表板上的可用性图,显示有多少实例以填充区域的形式运行,以及应该运行的实例数、倒计时{job=$job、env=$env}和警报阈值;仪表板定义如下所示的$job和$env模板变量:

build_info{commit_id="42806c2f7f1e17a63d94db9d561d220f53d38ee0",commit_time="2019-11-16 13:53:46Z",build_time="2019-11-16 13:57:20Z",branch="v19.57.x",version="19.57.3",} 1.0
因此,我使用版本标签,当版本标签不可用时,例如对于测试部署,Git commit_id作为运行实例计数的标签

label_replace(
label_replace(
label_join(
  sum without(instance) (
    build_info{job="$job",env="$env"}      # Take labels of `build_info`
      * on(job, env, instance) group_left  # Multiplied by `up`, for the actual value
    up{job="$job",env="$env"}),
  "build", "_", "version", "commit_id"),   # Join `version` and `commit_id` label values into label `build`
"build", "$1", "build", "MASTER_(.{7}).+"),# Retain the `commit_id` if `version == "MASTER"
"build", "$1", "build", "(.+)_.+")         # Else, retain `version`
以如下所示的指标结束:

{branch="v19.57.x",build="19.57.3",build_time="2019-11-16 14:02:38Z",commit_id="42806c2f7f1e17a63d94db9d561d220f53d38ee0",commit_time="2019-11-16 13:53:46Z",env="prod",job="foo-service",version="19.57.3"} 10
最后,在Grafana中的查询图例格式中,我将版本{{build}}放在图例中,以版本19.57.3结束

例如,在图表上,您会注意到我们从19.57.2降到19.58.3,但由于回归,昨晚不得不回滚到19.57.3

这里是一个表面板的JSON,它显示了您想要的内容。它基于对您提供的仪表板进行在位编辑

{
"datasource": "demo.robustperception.io",
"columns": [
  {
    "text": "Current",
    "value": "current"
  }
],
"editable": true,
"error": false,
"fontSize": "100%",
"gridPos": {
  "h": 7,
  "w": 24,
  "x": 0,
  "y": 7
},
"id": 2,
"isNew": true,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
  "col": 0,
  "desc": true
},
"styles": [
  {
    "dateFormat": "YYYY-MM-DD HH:mm:ss",
    "pattern": "Time",
    "type": "date"
  },
  {
    "alias": "up",
    "colorMode": null,
    "colors": [
      "rgba(245, 54, 54, 0.9)",
      "rgba(237, 129, 40, 0.89)",
      "rgba(50, 172, 45, 0.97)"
    ],
    "dateFormat": "YYYY-MM-DD HH:mm:ss",
    "decimals": 2,
    "pattern": "Value",
    "thresholds": [],
    "type": "number",
    "unit": "short"
  }
],
"targets": [
  {
    "expr": "sum by (job, instance, version, revision) ({__name__=~\".*_build_info\"})",
    "format": "table",
    "instant": true,
    "intervalFactor": 1,
    "refId": "A",
    "step": 30,
    "target": "",
    "hide": false,
    "legendFormat": ""
  }
],
"title": "Multiple queries merge",
"transform": "table",
"type": "table",
"options": {}
}

太酷了!然而,我试图制作如下表:。我意识到信息度量只是一个量具,“表”视图设置几乎没有什么不同。这个问题的答案可能就是你想要的