From 962d9b5ac977af8e3dd4b44e43fd0c1f5fdf2c63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorsten=20M=C3=BCller?= Date: Thu, 10 Jun 2021 10:50:45 +0200 Subject: [PATCH] grafana dashboard updated, wait_for --- .../cobald/files/grafana-dashboard.json | 33 ++++++++++++------- roles/cobald/tasks/grafana.yml | 6 +++- 2 files changed, 27 insertions(+), 12 deletions(-) rename grafana-dash.json => roles/cobald/files/grafana-dashboard.json (84%) diff --git a/grafana-dash.json b/roles/cobald/files/grafana-dashboard.json similarity index 84% rename from grafana-dash.json rename to roles/cobald/files/grafana-dashboard.json index 12e470e..71dc94e 100644 --- a/grafana-dash.json +++ b/roles/cobald/files/grafana-dashboard.json @@ -16,7 +16,7 @@ "gnetId": null, "graphTooltip": 0, "id": 1, - "iteration": 1623146322368, + "iteration": 1623184036048, "links": [], "panels": [ { @@ -55,6 +55,7 @@ }, "hiddenSeries": false, "id": 2, + "interval": "1s", "legend": { "avg": false, "current": false, @@ -66,6 +67,7 @@ }, "lines": true, "linewidth": 1, + "maxDataPoints": 200, "nullPointMode": "null", "options": { "alertThreshold": true @@ -97,8 +99,7 @@ ], "orderByTime": "ASC", "policy": "default", - "query": "from(bucket: \"batleth\")\n |> range(start: 0, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._field == \"state\")\n// |> filter(fn: (r) => r.tardis_machine_name == \"${machine}\")\n |> group(columns: [\"tardis_machine_name\"])\n |> window(every: 10s)\n |> reduce(fn: (r, accumulator) => ({\n _value: accumulator._value + (\n if r._value == \"AvailableState\" then 1 \n else if r._value == \"DownState\" then -1 \n else 0)\n }), identity: {_value: 0})\n |> duplicate(column: \"_stop\", as: \"_time\")\n |> window(every: inf) //, timeColumn: \"_time\")\n |> cumulativeSum()\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n// |> reduce(fn: (r, accumulator) => ({r with x: r._value * 2}), identity: {x:0})\n// |> map(fn: (r) => ({r with vnew: r._value*2}))\n// |> integral(unit: 10s, timeColumn: \"_stop\")\n// |> window(every: inf) //, timeColumn: \"_stop\")\n |> yield()", - "queryType": "randomWalk", + "query": "nodes = from(bucket: \"batleth\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> keep(columns: [\"tardis_machine_name\", \"_time\"])\n |> sort(columns: [\"_time\"], desc: true)\n |> unique(column: \"tardis_machine_name\")\n// |> yield()\n\noffset = from(bucket: \"batleth\")\n |> range(start: 0, stop: v.timeRangeStart)\n |> filter(fn: (r) => r._field == \"state\")\n |> group(columns: [\"tardis_machine_name\", \"machine_type\"])\n |> reduce(fn: (r, accumulator) => ({\n _value: accumulator._value + (\n if r._value == \"AvailableState\" then 1 \n else if r._value == \"DownState\" then -1 \n else 0)\n }), identity: {_value: 0})\n |> duplicate(column: \"_stop\", as: \"_time\")\n\nnew = from(bucket: \"batleth\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._field == \"state\")\n// |> filter(fn: (r) => r.tardis_machine_name == \"${machine}\")\n |> group(columns: [\"tardis_machine_name\", \"machine_type\"])\n |> window(every: $__interval)\n |> reduce(fn: (r, accumulator) => ({\n _value: accumulator._value + (\n if r._value == \"AvailableState\" then 1 \n else if r._value == \"DownState\" then -1 \n else 0)\n }), identity: {_value: 0})\n |> duplicate(column: \"_stop\", as: \"_time\")\n\nunion(tables: [offset, new])\n |> window(every: inf)\n |> cumulativeSum()\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> yield()", "refId": "A", "resultFormat": "time_series", "select": [ @@ -179,6 +180,7 @@ }, "hiddenSeries": false, "id": 8, + "interval": "1s", "legend": { "avg": false, "current": false, @@ -190,6 +192,7 @@ }, "lines": true, "linewidth": 1, + "maxDataPoints": null, "nullPointMode": "null", "options": { "alertThreshold": true @@ -221,7 +224,7 @@ ], "orderByTime": "ASC", "policy": "default", - "query": "from(bucket: \"batleth\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._measurement == \"tardis_pipeline\")\n |> filter(fn: (r) => r._field == \"demand\" or r._field == \"supply\")\n |> drop(columns: [\"host\"])\n |> yield()", + "query": "from(bucket: \"batleth\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._measurement == \"tardis_pipeline\")\n |> filter(fn: (r) => r._field == \"demand\" or r._field == \"supply\")\n |> drop(columns: [\"host\"])\n |> aggregateWindow(every: $__interval, fn: mean)\n |> yield()", "queryType": "randomWalk", "refId": "A", "resultFormat": "time_series", @@ -246,7 +249,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "pipeline demand/supply", + "title": "pipeline demand/supply (mean)", "tooltip": { "shared": true, "sort": 0, @@ -262,14 +265,17 @@ }, "yaxes": [ { + "$$hashKey": "object:115", + "decimals": null, "format": "short", - "label": null, + "label": "cpus", "logBase": 1, "max": null, "min": null, "show": true }, { + "$$hashKey": "object:116", "format": "short", "label": null, "logBase": 1, @@ -303,6 +309,7 @@ }, "hiddenSeries": false, "id": 6, + "interval": "1s", "legend": { "avg": false, "current": false, @@ -345,7 +352,7 @@ ], "orderByTime": "ASC", "policy": "default", - "query": "f = (r, accumulator) => ({\n _value: accumulator._value + (if r._value == \"AvailableState\" then 1 else if r._value == \"DownState\" then -1 else 0)\n })\n\nfrom(bucket: \"batleth\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._field == \"state\")\n |> group(columns: [\"tardis_machine_name\"])\n |> window(every: 10s)\n |> reduce(fn: f, identity: {_value: 0})\n |> duplicate(column: \"_stop\", as: \"_time\")\n |> window(every: inf, timeColumn: \"_time\")\n |> yield()", + "query": "f = (r, accumulator) => ({\n _value: accumulator._value + (if r._value == \"AvailableState\" then 1 else if r._value == \"DownState\" then -1 else 0)\n })\n\nfrom(bucket: \"batleth\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._field == \"state\")\n |> group(columns: [\"tardis_machine_name\"])\n |> window(every: $__interval)\n |> reduce(fn: f, identity: {_value: 0})\n |> duplicate(column: \"_stop\", as: \"_time\")\n |> window(every: inf, timeColumn: \"_time\")\n |> yield()", "queryType": "randomWalk", "refId": "A", "resultFormat": "time_series", @@ -427,6 +434,7 @@ }, "hiddenSeries": false, "id": 10, + "interval": "1s", "legend": { "avg": false, "current": false, @@ -438,6 +446,7 @@ }, "lines": true, "linewidth": 1, + "maxDataPoints": null, "nullPointMode": "null", "options": { "alertThreshold": true @@ -469,7 +478,7 @@ ], "orderByTime": "ASC", "policy": "default", - "query": "from(bucket: \"batleth\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._measurement == \"tardis_pipeline\")\n |> filter(fn: (r) => r._field == \"utilisation\" or r._field == \"allocation\")\n |> keep(columns: [\"_time\", \"_measurement\", \"_field\", \"_value\", \"tardis_machine_name\"])\n |> yield()", + "query": "from(bucket: \"batleth\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._measurement == \"tardis_pipeline\")\n |> filter(fn: (r) => r._field == \"utilisation\" or r._field == \"allocation\")\n |> keep(columns: [\"_time\", \"_measurement\", \"_field\", \"_value\", \"tardis_machine_name\"])\n |> aggregateWindow(every: $__interval, fn: mean)\n |> yield()", "queryType": "randomWalk", "refId": "A", "resultFormat": "time_series", @@ -532,6 +541,7 @@ } } ], + "refresh": "5s", "schemaVersion": 27, "style": "dark", "tags": [], @@ -540,9 +550,10 @@ { "allValue": null, "current": { + "isNone": true, "selected": false, - "text": "cobald-pgpobqzyqtlaofdkdgzg", - "value": "cobald-pgpobqzyqtlaofdkdgzg" + "text": "None", + "value": "" }, "datasource": "InfluxDB", "definition": "from(bucket: \"batleth\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> keep(columns: [\"tardis_machine_name\", \"_time\"])\n |> sort(columns: [\"_time\"], desc: true)\n |> unique(column: \"tardis_machine_name\")", @@ -575,5 +586,5 @@ "timezone": "", "title": "cobald", "uid": "urDuvE6Gk", - "version": 3 + "version": 9 } \ No newline at end of file diff --git a/roles/cobald/tasks/grafana.yml b/roles/cobald/tasks/grafana.yml index ea8848d..4aeffac 100644 --- a/roles/cobald/tasks/grafana.yml +++ b/roles/cobald/tasks/grafana.yml @@ -25,6 +25,10 @@ detach: True cleanup: True +- wait_for: + host: localhost + port: 3000 + - community.grafana.grafana_datasource: grafana_url: http://localhost:3000 grafana_user: admin @@ -47,4 +51,4 @@ state: present commit_message: updated by ansible overwrite: yes - json_data: "{{lookup('file', 'grafana-dash.json')|from_json}}" + json_data: "{{lookup('file', 'grafana-dashboard.json')|from_json}}"