0
  1. 我有两个字段,称为“status_codes”和请求
  2. 我想获取失败请求的数量。
  3. 我的等式是[请求 - 没有成功请求]
  4. 在脚本中我写了这样的 _value - doc['@status_codes.200'].value

但是图中的返回值是“N/A”

我正在使用弹性搜索(7.6.0)和 Grafana(6.6.2)。

以下是我发送到 elasticsearch 的输出文件

{   "latencies":{
      "total":3981710268690,
      "mean":43876078,
      "50th":916913,
      "90th":2217744,
      "95th":5162430,
      "99th":60233348,
      "max":60000209373,
      "min":43652

},
   "@version":"1",
   "latest":"2020-03-05T16:14:44.23387091Z",
   "path":"test23.json",
   "duration":61163899322,
   "wait":552109,
   "status_codes":{
      "0":90624,
      "200":125

},
   "earliest":"2020-03-05T16:13:43.069971588Z",
   "rate":1483.702004057131,
   "throughput":2.0436707446156577,
   "@timestamp":"2020-03-05T16:14:44.453Z",
   "errors":[
      "Post http://www: dial tcp 0.0.0.0:0->10.133.9.87:8688: socket: too many open files",
      "Post http://www: dial tcp: lookup internal-netty-load-balancer-937469711.us-east-1.elb.amazonaws.com on 10.20.30.30: dial udp 10.20.30:45: socket: too many open files"

],
   "bytes_in":{
      "mean":70.90298515686123,
      "total":6434375

},
   "requests":90749,
   "Report_Title":"test23",
   "host":"ABS",
   "success":0.0013774256465635985,
   "end":"2020-03-05T16:14:44.234423019Z",
   "bytes_out":{
      "mean":70.90298515686123,
      "total":6434375

}
}

我也使用了 @yash 提到的 Singlestat 插件,但我仍然可以解决这个问题。 查询部分

可视化部分

有人能帮我吗

4

2 回答 2

0

这是一项相当容易的任务。您只需要为此使用“Singlestat Math”或“Metaqueries”插件。您需要做的是,在同一面板中的两个查询中使用计数指标,一个用于获取成功状态代码的计数,另一个用于不成功状态代码。然后,您可以使用任一插件从另一个查询中减去查询结果的值。

https://grafana.com/grafana/plugins/blackmirror1-singlestat-math-panel https://grafana.com/grafana/plugins/goshposh-metaqueries-datasource

我建议你使用 singlestat 数学插件,根据我的经验,它会更容易使用。注意:计算 (AB) 在可视化部分完成,而不是在查询部分,在 singlestat 数学插件中。

PS singlestat-math 插件实际上在可视化部分添加了一个新面板。它是一个不同于默认单统计面板的面板。

于 2020-03-08T08:46:18.920 回答
0

最后我找到了如下解决方案,

解决方案

感谢大家。

于 2020-03-11T06:06:10.523 回答