まあ、私はそれがどのように機能するかがわかったが、私はそれはどこにも文書化されていないことを奇妙であると言っているし、それがソースコードに少し変更を必要とします...
文脈の少し最初
私は「Nagiosの」と呼ばれるinfluxdbデータベースを持っています。このデータベースの中には、いくつかのシリーズがあります。
http://10.72.6.220:3000/dashboard/script/scripted.js?name=CPULoad&field=load1&hostname=ussd3
name indicates the series in influxDB I want to graph
field indicates which field to use
hostname indicates the host to choose
:influxdbでshowシリーズは、次のようにシリーズすなわち、cpuload内のデータの構造はscripted.jsにこの
> select * from "nagios.CPULoad" limit 1
name: nagios.CPULoad
time hostname load1 load15 load5 state
---- -------- ----- ------ ----- -----
1487867813000000000 cbba.storage 0 0 0 OK
私のURLのようなものですされ、以下の
> show series
key
---
nagios.CPULoad,hostname=cbba.storage,state=OK
nagios.CPULoad,hostname=ussd1,state=OK
nagios.CPULoad,hostname=ussd2,state=OK
nagios.CPULoad,hostname=ussd3,state=OK
nagios.CPULoad,hostname=ussd4,state=OK
を示しgrafana scripted.jsをビルドするSQLは次のとおりです。
SELECT mean("load1") FROM "nagios.CPULoad" WHERE "hostname" = 'ussd3' AND $timeFilter GROUP BY time($interval) fill(null)
内部scripted.jsを構築するためのコードがdashboard.rows構造で「ターゲット」パラメータを変更関与し、それがこのようなことが判明した(私は、コードを通過した後にこれを見つけた)
今
targets: [
{
"measurement": "nagios." + ARGS.name,
"metric": ARGS.name,
"tags": {
"hostname": {
operator: "=" ,
value: ARGS.hostname
}
},
"select": [[{
type: "field",
params: [ARGS.field]
}, {
type: "mean",
params: []
}]],
},
],
私は理由を知りませんが、キー "hostname"を考慮に入れてコードを修正しなければなりませんでした。 bは、 "ホスト名"
を運ぶので、私は利便
a.prototype.renderTagCondition = function(a, b, c) {
var d = ""
, e = a.operator
, f = a.value;
return b > 0 && (d = (a.condition || "AND") + " "),
e || (e = /^\/.*\/$/.test(f) ? "=~" : "="),
"=~" !== e && "!~" !== e ? (c && (f = this.templateSrv.replace(f, this.scopedVars)),
">" !== e && "<" !== e && (f = "'" + f.replace(/\\/g, "\\\\") + "'")) : c && (f = this.templateSrv.replace(f, this.scopedVars, "regex")),
d + '"' + a.key + '" ' + e + " " + f
}
d + '"' + a.key + '" ' + e + " " + f
が間違っているように思わ返された値のためにここにコピーする機能renderTagConditionで...それは
d + '"' + b + '" ' + e + " " + f
する必要があります
この後、私が最初に述べたURLを呼び出すと、すべてうまく動きましたl