Grafana 在 Elasticsearch 数据源中使用两个字段的减法
Grafana to use substraction of two fields in Elasticsearch data source
- 我有两个字段,分别是 'status_codes' 和 requests
- 我想获取失败请求的数量。
- 我的等式是[请求数 - 成功请求数]
- 在脚本中我写了这样的东西 _value - doc['@status_codes.200'].value
但图表中的值 return 是 'N/A'
我正在使用 elasticsearch(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插件,但我仍然可以解决这个问题。
Query section
Visualization section
谁能帮帮我
这是一项相当容易的任务。您只需要为此使用 'Singlestat Math' 或 'Metaqueries' 插件。您需要做的是,在同一面板的两个查询中使用计数指标,一个用于获取成功状态代码的计数,另一个用于获取不成功状态代码的计数。然后你可以使用任何一个插件从另一个查询中减去查询结果的值。
https://grafana.com/grafana/plugins/blackmirror1-singlestat-math-panel
https://grafana.com/grafana/plugins/goshposh-metaqueries-datasource
我建议你使用 singlestat 数学插件,根据我的经验,它会更容易使用。
注意:计算 (A-B) 是在可视化部分完成的,而不是在查询部分,在 singlestat 数学插件中。
P.S。 singlestat-math 插件实际上在可视化部分添加了一个新面板。它与默认的 singlestat 面板不同。
最后我找到了如下解决方案,
solution
谢谢大家
- 我有两个字段,分别是 'status_codes' 和 requests
- 我想获取失败请求的数量。
- 我的等式是[请求数 - 成功请求数]
- 在脚本中我写了这样的东西 _value - doc['@status_codes.200'].value
但图表中的值 return 是 'N/A'
我正在使用 elasticsearch(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插件,但我仍然可以解决这个问题。 Query section
Visualization section
谁能帮帮我
这是一项相当容易的任务。您只需要为此使用 'Singlestat Math' 或 'Metaqueries' 插件。您需要做的是,在同一面板的两个查询中使用计数指标,一个用于获取成功状态代码的计数,另一个用于获取不成功状态代码的计数。然后你可以使用任何一个插件从另一个查询中减去查询结果的值。
https://grafana.com/grafana/plugins/blackmirror1-singlestat-math-panel https://grafana.com/grafana/plugins/goshposh-metaqueries-datasource
我建议你使用 singlestat 数学插件,根据我的经验,它会更容易使用。 注意:计算 (A-B) 是在可视化部分完成的,而不是在查询部分,在 singlestat 数学插件中。
P.S。 singlestat-math 插件实际上在可视化部分添加了一个新面板。它与默认的 singlestat 面板不同。
最后我找到了如下解决方案,
solution
谢谢大家