From 2ba548fcfc512fd584d99d47e8fa36ca6329a397 Mon Sep 17 00:00:00 2001 From: m0duspwnens Date: Fri, 29 Oct 2021 17:11:51 -0400 Subject: [PATCH] grafana bug fixes and improvements - https://github.com/Security-Onion-Solutions/securityonion/issues/6007 --- salt/grafana/defaults.yaml | 103 +----- ...u_docker_combined_current_graph.json.jinja | 247 ++++++++------ ...cpu_docker_combined_trend_graph.json.jinja | 239 ++++++++----- .../panels/load_averages_graph.json.jinja | 6 +- .../logstash_estimated_eps_graph.json.jinja | 8 +- ...nt_interface_traffic_both_graph.json.jinja | 275 ++++++++------- ...d_docker_combined_current_graph.json.jinja | 230 ++++++------- ...sed_docker_combined_trend_graph.json.jinja | 204 ++++++------ ...or_interface_traffic_both_graph.json.jinja | 231 +++++++------ .../monitor_interface_traffic_stat.json.jinja | 198 ++++++----- ...e_docker_combined_current_graph.json.jinja | 315 +++++++++--------- ...age_docker_combined_trend_graph.json.jinja | 200 ++++++----- ...enographer_pcap_retention_graph.json.jinja | 204 ++++++------ ...ime_docker_combined_trend_graph.json.jinja | 220 ++++++------ .../panels/zeek_capture_loss_graph.json.jinja | 204 ++++++------ 15 files changed, 1519 insertions(+), 1365 deletions(-) diff --git a/salt/grafana/defaults.yaml b/salt/grafana/defaults.yaml index 00589a8b2..9f8b8821e 100644 --- a/salt/grafana/defaults.yaml +++ b/salt/grafana/defaults.yaml @@ -598,19 +598,13 @@ grafana: x: 0 y: 188 h: 8 - w: 10 + w: 12 zeek_capture_loss_graph: gridPos: - x: 10 + x: 12 y: 188 h: 8 - w: 10 - zeek_restarts_healthcheck_stat: - gridPos: - x: 20 - y: 188 - h: 8 - w: 4 + w: 12 row_suricata: gridPos: @@ -726,15 +720,9 @@ grafana: y: 1 h: 4 w: 4 - logstash_estimated_eps_stat: - gridPos: - x: 0 - y: 5 - h: 4 - w: 4 redis_queue_stat: gridPos: - x: 4 + x: 0 y: 5 h: 4 w: 4 @@ -1633,19 +1621,13 @@ grafana: x: 0 y: 153 h: 8 - w: 10 + w: 12 zeek_capture_loss_graph: gridPos: - x: 10 + x: 12 y: 153 h: 8 - w: 10 - zeek_restarts_healthcheck_stat: - gridPos: - x: 20 - y: 153 - h: 8 - w: 4 + w: 12 row_suricata: gridPos: @@ -1679,6 +1661,7 @@ grafana: h: 8 w: 8 + searchnode: templating: list: @@ -1753,12 +1736,6 @@ grafana: y: 5 h: 4 w: 4 - redis_queue_stat: - gridPos: - x: 4 - y: 5 - h: 4 - w: 4 row_cpu: gridPos: @@ -1954,19 +1931,6 @@ grafana: h: 8 w: 24 - row_redis: - gridPos: - x: 0 - y: 161 - h: 1 - w: 24 - redis_queue_graph: - gridPos: - x: 0 - y: 162 - h: 8 - w: 24 - heavynode: templating: @@ -2048,33 +2012,27 @@ grafana: y: 5 h: 4 w: 4 - redis_queue_stat: + monitor_interface_traffic_stat: gridPos: x: 4 y: 5 h: 4 w: 4 - monitor_interface_traffic_stat: + zeek_packet_loss_stat: gridPos: x: 8 y: 5 h: 4 w: 4 - zeek_packet_loss_stat: + suricata_packet_loss_stat: gridPos: x: 12 y: 5 h: 4 w: 4 - suricata_packet_loss_stat: - gridPos: - x: 16 - y: 5 - h: 4 - w: 4 stenographer_packet_loss_stat: gridPos: - x: 20 + x: 16 y: 5 h: 4 w: 4 @@ -2291,19 +2249,6 @@ grafana: h: 8 w: 24 - row_redis: - gridPos: - x: 0 - y: 161 - h: 1 - w: 24 - redis_queue_graph: - gridPos: - x: 0 - y: 162 - h: 8 - w: 24 - row_zeek: gridPos: x: 0 @@ -2315,19 +2260,13 @@ grafana: x: 0 y: 171 h: 8 - w: 10 + w: 12 zeek_capture_loss_graph: gridPos: - x: 10 + x: 12 y: 171 h: 8 - w: 10 - zeek_restarts_healthcheck_stat: - gridPos: - x: 20 - y: 171 - h: 8 - w: 4 + w: 12 row_suricata: gridPos: @@ -2721,19 +2660,13 @@ grafana: x: 0 y: 188 h: 8 - w: 10 + w: 12 zeek_capture_loss_graph: gridPos: - x: 10 + x: 12 y: 188 h: 8 - w: 10 - zeek_restarts_healthcheck_stat: - gridPos: - x: 20 - y: 188 - h: 8 - w: 4 + w: 12 row_suricata: gridPos: diff --git a/salt/grafana/panels/cpu_docker_combined_current_graph.json.jinja b/salt/grafana/panels/cpu_docker_combined_current_graph.json.jinja index 61d2d3edc..54f18ee6c 100644 --- a/salt/grafana/panels/cpu_docker_combined_current_graph.json.jinja +++ b/salt/grafana/panels/cpu_docker_combined_current_graph.json.jinja @@ -1,20 +1,142 @@ { - "type": "graph", - "title": "Container CPU Usage Current", + "id": 100, "gridPos": { "x": {{ PANELS.cpu_docker_combined_current_graph.gridPos.x }}, "y": {{ PANELS.cpu_docker_combined_current_graph.gridPos.y }}, "w": {{ PANELS.cpu_docker_combined_current_graph.gridPos.w }}, "h": {{ PANELS.cpu_docker_combined_current_graph.gridPos.h }} }, - "id": 100, + "type": "timeseries", + "title": "Container CPU Usage Current", + "datasource": "InfluxDB", + "pluginVersion": "8.2.1", + "interval": "30s", + "fieldConfig": { + "defaults": { + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "barAlignment": 0, + "lineWidth": 1, + "fillOpacity": 10, + "gradientMode": "none", + "spanNulls": false, + "showPoints": "never", + "pointSize": 5, + "stacking": { + "mode": "none", + "group": "A" + }, + "axisPlacement": "auto", + "axisLabel": "", + "scaleDistribution": { + "type": "linear" + }, + "hideFrom": { + "tooltip": false, + "viz": false, + "legend": false + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "color": { + "mode": "palette-classic" + }, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "mappings": [], + "decimals": 1, + "unit": "percent" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/n_cpus/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + } + ] + } + ] + }, + "options": { + "tooltip": { + "mode": "single" + }, + "legend": { + "displayMode": "table", + "placement": "right", + "calcs": [ + "max", + "mean", + "lastNotNull" + ] + } + }, "targets": [ { - "refId": "A", - "queryType": "randomWalk", - "policy": "default", - "resultFormat": "time_series", + "alias": "$tag_host: $tag_container_name", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "container_name" + ], + "type": "tag" + }, + { + "params": [ + "host" + ], + "type": "tag" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "docker_container_cpu", "orderByTime": "ASC", + "policy": "default", + "query": "SELECT mean(\"usage_percent\") FROM \"docker_container_cpu\" WHERE (\"host\" =~ /^$servername$/ AND \"container_name\" =~ /^$containers$/) AND $timeFilter GROUP BY time($__interval), \"container_name\", \"host\" fill(null)", + "queryType": "randomWalk", + "rawQuery": false, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "usage_percent" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], "tags": [ { "key": "host", @@ -28,6 +150,21 @@ "value": "/^$containers$/" } ], + "hide": false + }, + { + "refId": "B", + "hide": false, + "policy": "default", + "resultFormat": "time_series", + "orderByTime": "ASC", + "tags": [ + { + "key": "host", + "value": "/^$servername$/", + "operator": "=~" + } + ], "groupBy": [ { "type": "time", @@ -38,7 +175,7 @@ { "type": "tag", "params": [ - "container_name" + "host" ] }, { @@ -53,105 +190,27 @@ { "type": "field", "params": [ - "usage_percent" + "n_cpus" ] }, { - "type": "mean", + "type": "last", "params": [] }, { "type": "math", "params": [ - " / $cpucount" + " * 100" ] } ] ], - "measurement": "docker_container_cpu", - "alias": "$tag_container_name" + "measurement": "system", + "alias": "$tag_host: n_cpus*100" } ], - "options": { - "alertThreshold": true - }, - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": {}, - "overrides": [] - }, - "pluginVersion": "7.5.4", - "renderer": "flot", - "yaxes": [ - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "percent", - "$$hashKey": "object:315" - }, - { - "label": null, - "show": false, - "logBase": 1, - "min": null, - "max": null, - "format": "short", - "$$hashKey": "object:316" - } - ], - "xaxis": { - "show": true, - "mode": "time", - "name": null, - "values": [], - "buckets": null - }, - "yaxis": { - "align": false, - "alignLevel": null - }, - "lines": true, - "fill": 1, - "linewidth": 1, - "dashLength": 10, - "spaceLength": 10, - "pointradius": 2, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false, - "alignAsTable": false, - "rightSide": false, - "hideZero": false - }, - "nullPointMode": "connected", - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 2 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [], - "timeRegions": [], - "decimals": null, - "fillGradient": 0, - "dashes": false, - "hiddenSeries": false, - "points": false, - "bars": false, - "stack": false, - "percentage": false, - "steppedLine": false, + "transformations": [], + "maxDataPoints": null, "timeFrom": null, - "timeShift": null, - "maxDataPoints": 750, - "interval": "30s" + "timeShift": null } diff --git a/salt/grafana/panels/cpu_docker_combined_trend_graph.json.jinja b/salt/grafana/panels/cpu_docker_combined_trend_graph.json.jinja index f8ddce1c1..d587a0529 100644 --- a/salt/grafana/panels/cpu_docker_combined_trend_graph.json.jinja +++ b/salt/grafana/panels/cpu_docker_combined_trend_graph.json.jinja @@ -1,20 +1,79 @@ { - "type": "graph", - "title": "Container CPU Usage Trend", + "id": 101, "gridPos": { "x": {{ PANELS.cpu_docker_combined_trend_graph.gridPos.x }}, "y": {{ PANELS.cpu_docker_combined_trend_graph.gridPos.y }}, "w": {{ PANELS.cpu_docker_combined_trend_graph.gridPos.w }}, "h": {{ PANELS.cpu_docker_combined_trend_graph.gridPos.h }} }, - "id": 101, + "type": "timeseries", + "title": "Container CPU Usage Trend", + "datasource": "InfluxDB", + "pluginVersion": "8.2.1", + "interval": "30s", + "options": { + "tooltip": { + "mode": "single" + }, + "legend": { + "displayMode": "table", + "placement": "right", + "calcs": [ + "max", + "mean", + "lastNotNull" + ] + } + }, "targets": [ { - "refId": "A", - "queryType": "randomWalk", - "policy": "so_long_term", - "resultFormat": "time_series", + "alias": "$tag_host: $tag_container_name", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "container_name" + ], + "type": "tag" + }, + { + "type": "tag", + "params": [ + "host" + ] + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "docker_container_cpu", "orderByTime": "ASC", + "policy": "so_long_term", + "queryType": "randomWalk", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "type": "field", + "params": [ + "mean_usage_percent" + ] + }, + { + "type": "mean", + "params": [] + } + ] + ], "tags": [ { "key": "host", @@ -27,6 +86,20 @@ "operator": "=~", "value": "/^$containers$/" } + ] + }, + { + "refId": "B", + "hide": false, + "policy": "so_long_term", + "resultFormat": "time_series", + "orderByTime": "ASC", + "tags": [ + { + "key": "host", + "value": "/^$servername$/", + "operator": "=~" + } ], "groupBy": [ { @@ -38,7 +111,7 @@ { "type": "tag", "params": [ - "container_name" + "host" ] }, { @@ -53,106 +126,88 @@ { "type": "field", "params": [ - "mean_usage_percent" + "mean_n_cpus" ] }, { - "type": "mean", + "type": "last", "params": [] }, { "type": "math", "params": [ - " / $cpucount" + " * 100" ] } ] ], - "measurement": "docker_container_cpu", - "alias": "$tag_container_name" + "measurement": "system", + "alias": "$tag_host: n_cpus*100" } ], - "options": { - "alertThreshold": true - }, - "datasource": "InfluxDB", "fieldConfig": { - "defaults": {}, - "overrides": [] - }, - "pluginVersion": "7.5.4", - "renderer": "flot", - "yaxes": [ - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "percent", - "$$hashKey": "object:315" + "defaults": { + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "barAlignment": 0, + "lineWidth": 1, + "fillOpacity": 10, + "gradientMode": "none", + "spanNulls": true, + "showPoints": "never", + "pointSize": 5, + "stacking": { + "mode": "none", + "group": "A" + }, + "axisPlacement": "auto", + "axisLabel": "", + "scaleDistribution": { + "type": "linear" + }, + "hideFrom": { + "tooltip": false, + "viz": false, + "legend": false + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "color": { + "mode": "palette-classic" + }, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "mappings": [], + "unit": "percent", + "decimals": 1 }, - { - "label": null, - "show": false, - "logBase": 1, - "min": null, - "max": null, - "format": "short", - "$$hashKey": "object:316" - } - ], - "xaxis": { - "show": true, - "mode": "time", - "name": null, - "values": [], - "buckets": null + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/n_cpus/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + } + ] + } + ] }, - "yaxis": { - "align": false, - "alignLevel": null - }, - "lines": true, - "fill": 1, - "linewidth": 1, - "dashLength": 10, - "spaceLength": 10, - "pointradius": 2, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true, - "alignAsTable": false, - "rightSide": false, - "hideZero": false - }, - "nullPointMode": "connected", - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 2 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [], - "timeRegions": [], - "decimals": 1, - "fillGradient": 0, - "dashes": false, - "hiddenSeries": false, - "points": false, - "bars": false, - "stack": false, - "percentage": false, - "steppedLine": false, - "timeFrom": null, - "timeShift": null, + "maxDataPoints": null, "description": "", - "maxDataPoints": 750, - "interval": "30s" + "timeFrom": null, + "timeShift": null } diff --git a/salt/grafana/panels/load_averages_graph.json.jinja b/salt/grafana/panels/load_averages_graph.json.jinja index bb5e49748..2f3706528 100644 --- a/salt/grafana/panels/load_averages_graph.json.jinja +++ b/salt/grafana/panels/load_averages_graph.json.jinja @@ -62,7 +62,7 @@ ], "orderByTime": "ASC", "policy": "default", - "query": "SELECT mean(load1) as \"1 minute\", mean(load5) as \"5 minutes\", mean(load15) as \"15 minutes\" FROM \"system\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), * ORDER BY asc", + "query": "SELECT mean(load1) as \"1 minute\", last(n_cpus) as \"Total Cores\" FROM \"system\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), * ORDER BY asc", "queryType": "randomWalk", "rawQuery": true, "refId": "A", @@ -101,7 +101,7 @@ ], "orderByTime": "ASC", "policy": "default", - "query": "SELECT mean(mean_load1) as \"trend_1 minute\", mean(mean_load5) as \"trend_5 minutes\", mean(mean_load15) as \"trend_15 minutes\" FROM \"so_long_term\".\"system\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), * ORDER BY asc", + "query": "SELECT mean(mean_load1) as \"trend_1 minute\" FROM \"so_long_term\".\"system\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), * ORDER BY asc", "queryType": "randomWalk", "rawQuery": true, "refId": "B", @@ -126,7 +126,7 @@ ], "thresholds": [], "timeRegions": [], - "title": "Load Averages - $cpucount Cores", + "title": "1 Minute Load Average", "tooltip": { "shared": true, "sort": 0, diff --git a/salt/grafana/panels/logstash_estimated_eps_graph.json.jinja b/salt/grafana/panels/logstash_estimated_eps_graph.json.jinja index 452687683..c40f6c927 100644 --- a/salt/grafana/panels/logstash_estimated_eps_graph.json.jinja +++ b/salt/grafana/panels/logstash_estimated_eps_graph.json.jinja @@ -98,8 +98,8 @@ "tags": [ { "key": "host", - "operator": "=", - "value": "$servername" + "operator": "=~", + "value": "/^$servername$/" } ] }, @@ -143,8 +143,8 @@ "tags": [ { "key": "host", - "operator": "=", - "value": "$servername" + "operator": "=~", + "value": "/^$servername$/" } ] } diff --git a/salt/grafana/panels/management_interface_traffic_both_graph.json.jinja b/salt/grafana/panels/management_interface_traffic_both_graph.json.jinja index 94e067d53..e6a10cd42 100644 --- a/salt/grafana/panels/management_interface_traffic_both_graph.json.jinja +++ b/salt/grafana/panels/management_interface_traffic_both_graph.json.jinja @@ -1,70 +1,107 @@ { - "aliasColors": { - "InBound": "#629E51", - "OutBound": "#5195CE", - "net.non_negative_derivative": "super-light-blue" + "id": 18, + "gridPos": { + }, - "maxDataPoints": 750, - "interval": "30s", - "bars": false, - "dashLength": 10, - "dashes": false, + "type": "timeseries", + "title": "Management Interface Traffic ", "datasource": "InfluxDB", - "editable": true, - "error": false, + "pluginVersion": "8.2.1", + "interval": "30s", + "links": [], "fieldConfig": { "defaults": { - "links": [] + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "barAlignment": 0, + "lineWidth": 2, + "fillOpacity": 10, + "gradientMode": "none", + "spanNulls": false, + "showPoints": "never", + "pointSize": 5, + "stacking": { + "mode": "none", + "group": "A" + }, + "axisPlacement": "auto", + "axisLabel": "", + "scaleDistribution": { + "type": "linear" + }, + "hideFrom": { + "tooltip": false, + "viz": false, + "legend": false + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "color": { + "mode": "palette-classic" + }, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "mappings": [], + "links": [], + "unit": "bps" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/Trend/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 4 + }, + { + "id": "custom.lineStyle", + "value": { + "fill": "dash", + "dash": [ + 4, + 10 + ] + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "x": {{ PANELS.management_interface_traffic_both_graph.gridPos.x }}, - "y": {{ PANELS.management_interface_traffic_both_graph.gridPos.y }}, - "w": {{ PANELS.management_interface_traffic_both_graph.gridPos.w }}, - "h": {{ PANELS.management_interface_traffic_both_graph.gridPos.h }} - }, - "hiddenSeries": false, - "id": 18, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "7.5.4", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Trend/", - "dashLength": 4, - "dashes": true, - "fill": 0, - "linewidth": 4 + "tooltip": { + "mode": "single" + }, + "legend": { + "displayMode": "table", + "placement": "bottom", + "calcs": [ + "mean", + "lastNotNull", + "max", + "min" + ] } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + }, "targets": [ { - "alias": "Inbound Current", + "alias": "$tag_host: $tag_interface: Inbound Current", "dsType": "influxdb", "groupBy": [ { @@ -73,6 +110,18 @@ ], "type": "time" }, + { + "type": "tag", + "params": [ + "host" + ] + }, + { + "type": "tag", + "params": [ + "interface" + ] + }, { "params": [ "null" @@ -114,19 +163,19 @@ "tags": [ { "key": "host", - "operator": "=", - "value": "$servername" + "operator": "=~", + "value": "/^$servername$/" }, { "condition": "AND", "key": "interface", - "operator": "=", - "value": "$manint" + "operator": "=~", + "value": "/^$manint$/" } ] }, { - "alias": "Outbound Current", + "alias": "$tag_host: $tag_interface: Outbound Current", "dsType": "influxdb", "groupBy": [ { @@ -135,6 +184,18 @@ ], "type": "time" }, + { + "type": "tag", + "params": [ + "host" + ] + }, + { + "type": "tag", + "params": [ + "interface" + ] + }, { "params": [ "null" @@ -176,19 +237,19 @@ "tags": [ { "key": "host", - "operator": "=", - "value": "$servername" + "operator": "=~", + "value": "/^$servername$/" }, { "condition": "AND", "key": "interface", - "operator": "=", - "value": "$manint" + "operator": "=~", + "value": "/^$manint$/" } ] }, { - "alias": "Inbound Trend", + "alias": "$tag_host: $tag_interface: Inbound Trend", "dsType": "influxdb", "groupBy": [ { @@ -197,6 +258,18 @@ ], "type": "time" }, + { + "type": "tag", + "params": [ + "host" + ] + }, + { + "type": "tag", + "params": [ + "interface" + ] + }, { "params": [ "null" @@ -239,19 +312,19 @@ "tags": [ { "key": "host", - "operator": "=", - "value": "$servername" + "operator": "=~", + "value": "/^$servername$/" }, { "condition": "AND", "key": "interface", - "operator": "=", - "value": "$manint" + "operator": "=~", + "value": "/^$manint$/" } ] }, { - "alias": "Outbound Trend", + "alias": "$tag_host: $tag_interface: Outbound Trend", "dsType": "influxdb", "groupBy": [ { @@ -260,6 +333,18 @@ ], "type": "time" }, + { + "type": "tag", + "params": [ + "host" + ] + }, + { + "type": "tag", + "params": [ + "interface" + ] + }, { "params": [ "null" @@ -302,56 +387,20 @@ "tags": [ { "key": "host", - "operator": "=", - "value": "$servername" + "operator": "=~", + "value": "/^$servername$/" }, { "condition": "AND", "key": "interface", - "operator": "=", - "value": "$manint" + "operator": "=~", + "value": "/^$manint$/" } ] } ], - "thresholds": [], + "maxDataPoints": null, "timeFrom": null, - "timeRegions": [], "timeShift": null, - "title": "Management Interface Traffic - $manint", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bps", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "description": "" } diff --git a/salt/grafana/panels/memory_used_docker_combined_current_graph.json.jinja b/salt/grafana/panels/memory_used_docker_combined_current_graph.json.jinja index ada18f612..8a5ee72ce 100644 --- a/salt/grafana/panels/memory_used_docker_combined_current_graph.json.jinja +++ b/salt/grafana/panels/memory_used_docker_combined_current_graph.json.jinja @@ -1,20 +1,79 @@ { - "type": "graph", - "title": "Container Memory Usage Current", + "id": 102, "gridPos": { "x": {{ PANELS.memory_used_docker_combined_current_graph.gridPos.x }}, "y": {{ PANELS.memory_used_docker_combined_current_graph.gridPos.y }}, "w": {{ PANELS.memory_used_docker_combined_current_graph.gridPos.w }}, "h": {{ PANELS.memory_used_docker_combined_current_graph.gridPos.h }} }, - "id": 102, + "type": "timeseries", + "title": "Container Memory Usage Current", + "datasource": "InfluxDB", + "pluginVersion": "8.2.1", + "interval": "30s", + "options": { + "tooltip": { + "mode": "single" + }, + "legend": { + "displayMode": "table", + "placement": "right", + "calcs": [ + "max", + "mean", + "lastNotNull" + ] + } + }, "targets": [ { - "refId": "A", - "queryType": "randomWalk", - "policy": "default", - "resultFormat": "time_series", + "alias": "$tag_host: $tag_container_name", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "container_name" + ], + "type": "tag" + }, + { + "type": "tag", + "params": [ + "host" + ] + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "docker_container_mem", "orderByTime": "ASC", + "policy": "default", + "queryType": "randomWalk", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "usage_percent" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], "tags": [ { "key": "host", @@ -27,125 +86,58 @@ "operator": "=~", "value": "/^$containers$/" } - ], - "groupBy": [ - { - "type": "time", - "params": [ - "$__interval" - ] + ] + } + ], + "fieldConfig": { + "defaults": { + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "barAlignment": 0, + "lineWidth": 1, + "fillOpacity": 0, + "gradientMode": "none", + "spanNulls": false, + "showPoints": "never", + "pointSize": 5, + "stacking": { + "mode": "none", + "group": "A" }, - { - "type": "tag", - "params": [ - "container_name" - ] + "axisPlacement": "auto", + "axisLabel": "", + "scaleDistribution": { + "type": "linear" }, - { - "type": "fill", - "params": [ - "null" - ] + "hideFrom": { + "tooltip": false, + "viz": false, + "legend": false + }, + "thresholdsStyle": { + "mode": "off" } - ], - "select": [ - [ + }, + "color": { + "mode": "palette-classic" + }, + "thresholds": { + "mode": "absolute", + "steps": [ { - "type": "field", - "params": [ - "usage_percent" - ] - }, - { - "type": "mean", - "params": [] + "color": "green", + "value": null } ] - ], - "measurement": "docker_container_mem", - "alias": "$tag_container_name" - } - ], - "options": { - "alertThreshold": true - }, - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": {}, + }, + "mappings": [], + "unit": "percent", + "decimals": 1 + }, "overrides": [] }, - "pluginVersion": "7.5.4", - "renderer": "flot", - "yaxes": [ - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "percent", - "$$hashKey": "object:315" - }, - { - "label": null, - "show": false, - "logBase": 1, - "min": null, - "max": null, - "format": "short", - "$$hashKey": "object:316" - } - ], - "xaxis": { - "show": true, - "mode": "time", - "name": null, - "values": [], - "buckets": null - }, - "yaxis": { - "align": false, - "alignLevel": null - }, - "lines": true, - "fill": 1, - "linewidth": 1, - "dashLength": 10, - "spaceLength": 10, - "pointradius": 2, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false, - "alignAsTable": false, - "rightSide": false, - "hideZero": false - }, - "nullPointMode": "connected", - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 2 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [], - "timeRegions": [], - "decimals": null, - "fillGradient": 0, - "dashes": false, - "hiddenSeries": false, - "points": false, - "bars": false, - "stack": false, - "percentage": false, - "steppedLine": false, + "maxDataPoints": null, "timeFrom": null, - "timeShift": null, - "maxDataPoints": 750, - "interval": "30s" + "timeShift": null } diff --git a/salt/grafana/panels/memory_used_docker_combined_trend_graph.json.jinja b/salt/grafana/panels/memory_used_docker_combined_trend_graph.json.jinja index f97eb8450..fb3aa402c 100644 --- a/salt/grafana/panels/memory_used_docker_combined_trend_graph.json.jinja +++ b/salt/grafana/panels/memory_used_docker_combined_trend_graph.json.jinja @@ -1,53 +1,66 @@ { - "type": "graph", - "title": "Container Memory Usage Trend", + "id": 103, "gridPos": { "x": {{ PANELS.memory_used_docker_combined_trend_graph.gridPos.x }}, "y": {{ PANELS.memory_used_docker_combined_trend_graph.gridPos.y }}, "w": {{ PANELS.memory_used_docker_combined_trend_graph.gridPos.w }}, "h": {{ PANELS.memory_used_docker_combined_trend_graph.gridPos.h }} }, - "id": 103, + "type": "timeseries", + "title": "Container Memory Usage Trend", + "datasource": "InfluxDB", + "pluginVersion": "8.2.1", + "maxDataPoints": 750, + "interval": "30s", + "options": { + "tooltip": { + "mode": "single" + }, + "legend": { + "displayMode": "table", + "placement": "right", + "calcs": [ + "max", + "mean", + "lastNotNull" + ] + } + }, "targets": [ { - "refId": "A", - "queryType": "randomWalk", - "policy": "so_long_term", - "resultFormat": "time_series", - "orderByTime": "ASC", - "tags": [ - { - "key": "host", - "operator": "=~", - "value": "/^$servername$/" - }, - { - "condition": "AND", - "key": "container_name", - "operator": "=~", - "value": "/^$containers$/" - } - ], + "alias": "$tag_host: $tag_container_name", "groupBy": [ { - "type": "time", "params": [ "$__interval" - ] + ], + "type": "time" + }, + { + "params": [ + "container_name" + ], + "type": "tag" }, { "type": "tag", "params": [ - "container_name" + "host" ] }, { - "type": "fill", "params": [ "null" - ] + ], + "type": "fill" } ], + "measurement": "docker_container_mem", + "orderByTime": "ASC", + "policy": "so_long_term", + "queryType": "randomWalk", + "refId": "A", + "resultFormat": "time_series", "select": [ [ { @@ -62,90 +75,69 @@ } ] ], - "measurement": "docker_container_mem", - "alias": "$tag_container_name" + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$servername$/" + }, + { + "condition": "AND", + "key": "container_name", + "operator": "=~", + "value": "/^$containers$/" + } + ] } ], - "options": { - "alertThreshold": true - }, - "datasource": "InfluxDB", "fieldConfig": { - "defaults": {}, + "defaults": { + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "barAlignment": 0, + "lineWidth": 1, + "fillOpacity": 0, + "gradientMode": "none", + "spanNulls": true, + "showPoints": "never", + "pointSize": 5, + "stacking": { + "mode": "none", + "group": "A" + }, + "axisPlacement": "auto", + "axisLabel": "", + "scaleDistribution": { + "type": "linear" + }, + "hideFrom": { + "tooltip": false, + "viz": false, + "legend": false + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "color": { + "mode": "palette-classic" + }, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "mappings": [], + "unit": "percent", + "decimals": 1 + }, "overrides": [] }, - "pluginVersion": "7.5.4", - "renderer": "flot", - "yaxes": [ - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "percent", - "$$hashKey": "object:315" - }, - { - "label": null, - "show": false, - "logBase": 1, - "min": null, - "max": null, - "format": "short", - "$$hashKey": "object:316" - } - ], - "xaxis": { - "show": true, - "mode": "time", - "name": null, - "values": [], - "buckets": null - }, - "yaxis": { - "align": false, - "alignLevel": null - }, - "lines": true, - "fill": 1, - "linewidth": 1, - "dashLength": 10, - "spaceLength": 10, - "pointradius": 2, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true, - "alignAsTable": false, - "rightSide": false, - "hideZero": false - }, - "nullPointMode": "connected", - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 2 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [], - "timeRegions": [], - "decimals": 1, - "fillGradient": 0, - "dashes": false, - "hiddenSeries": false, - "points": false, - "bars": false, - "stack": false, - "percentage": false, - "steppedLine": false, "timeFrom": null, - "timeShift": null, - "maxDataPoints": 750, - "interval": "30s" + "timeShift": null } diff --git a/salt/grafana/panels/monitor_interface_traffic_both_graph.json.jinja b/salt/grafana/panels/monitor_interface_traffic_both_graph.json.jinja index 0c7fd3a0c..fe09d269f 100644 --- a/salt/grafana/panels/monitor_interface_traffic_both_graph.json.jinja +++ b/salt/grafana/panels/monitor_interface_traffic_both_graph.json.jinja @@ -1,70 +1,107 @@ { - "aliasColors": { - "InBound": "#629E51", - "OutBound": "#5195CE", - "net.non_negative_derivative": "light-orange" + "id": 10, + "gridPos": { + }, - "bars": false, - "maxDataPoints": 750, - "interval": "30s", - "dashLength": 10, - "dashes": false, + "type": "timeseries", + "title": "Monitor Interface Traffic", "datasource": "InfluxDB", - "editable": true, - "error": false, + "pluginVersion": "8.2.1", + "interval": "30s", + "links": [], "fieldConfig": { "defaults": { - "links": [] + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "barAlignment": 0, + "lineWidth": 2, + "fillOpacity": 10, + "gradientMode": "none", + "spanNulls": false, + "showPoints": "never", + "pointSize": 5, + "stacking": { + "mode": "none", + "group": "A" + }, + "axisPlacement": "auto", + "axisLabel": "", + "scaleDistribution": { + "type": "linear" + }, + "hideFrom": { + "tooltip": false, + "viz": false, + "legend": false + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "color": { + "mode": "palette-classic" + }, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "mappings": [], + "links": [], + "unit": "bps" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/Trend/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 4 + }, + { + "id": "custom.lineStyle", + "value": { + "fill": "dash", + "dash": [ + 4, + 10 + ] + } + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "x": {{ PANELS.monitor_interface_traffic_both_graph.gridPos.x }}, - "y": {{ PANELS.monitor_interface_traffic_both_graph.gridPos.y }}, - "w": {{ PANELS.monitor_interface_traffic_both_graph.gridPos.w }}, - "h": {{ PANELS.monitor_interface_traffic_both_graph.gridPos.h }} - }, - "hiddenSeries": false, - "id": 10, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "7.5.4", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Trend/", - "dashLength": 4, - "dashes": true, - "fill": 0, - "linewidth": 4 + "tooltip": { + "mode": "single" + }, + "legend": { + "displayMode": "table", + "placement": "bottom", + "calcs": [ + "mean", + "lastNotNull", + "max", + "min" + ] } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + }, "targets": [ { - "alias": "Inbound Current", + "alias": "$tag_host: $tag_interface: Inbound Current", "dsType": "influxdb", "groupBy": [ { @@ -73,6 +110,18 @@ ], "type": "time" }, + { + "type": "tag", + "params": [ + "host" + ] + }, + { + "type": "tag", + "params": [ + "interface" + ] + }, { "params": [ "null" @@ -114,19 +163,19 @@ "tags": [ { "key": "host", - "operator": "=", - "value": "$servername" + "operator": "=~", + "value": "/^$servername$/" }, { "condition": "AND", "key": "interface", - "operator": "=", - "value": "$monint" + "operator": "=~", + "value": "/^$monint$/" } ] }, { - "alias": "Inbound Trend", + "alias": "$tag_host: $tag_interface: Inbound Trend", "dsType": "influxdb", "groupBy": [ { @@ -135,6 +184,18 @@ ], "type": "time" }, + { + "type": "tag", + "params": [ + "host" + ] + }, + { + "type": "tag", + "params": [ + "interface" + ] + }, { "params": [ "null" @@ -177,56 +238,20 @@ "tags": [ { "key": "host", - "operator": "=", - "value": "$servername" + "operator": "=~", + "value": "/^$servername$/" }, { "condition": "AND", "key": "interface", - "operator": "=", - "value": "$monint" + "operator": "=~", + "value": "/^$monint$/" } ] } ], - "thresholds": [], + "maxDataPoints": null, "timeFrom": null, - "timeRegions": [], "timeShift": null, - "title": "Monitor Interface Traffic - $monint", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bps", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "description": "" } diff --git a/salt/grafana/panels/monitor_interface_traffic_stat.json.jinja b/salt/grafana/panels/monitor_interface_traffic_stat.json.jinja index 4d1c9dcc8..9061c323e 100644 --- a/salt/grafana/panels/monitor_interface_traffic_stat.json.jinja +++ b/salt/grafana/panels/monitor_interface_traffic_stat.json.jinja @@ -1,5 +1,17 @@ { + "id": 24, + "gridPos": { + "x": {{ PANELS.monitor_interface_traffic_stat.gridPos.x }}, + "y": {{ PANELS.monitor_interface_traffic_stat.gridPos.y }}, + "w": {{ PANELS.monitor_interface_traffic_stat.gridPos.w }}, + "h": {{ PANELS.monitor_interface_traffic_stat.gridPos.h }} + }, + "type": "stat", + "title": "Monitor Traffic", "datasource": "InfluxDB", + "pluginVersion": "8.2.1", + "interval": "30s", + "links": [], "fieldConfig": { "defaults": { "thresholds": { @@ -9,108 +21,31 @@ "color": "rgba(245, 54, 54, 0.9)", "value": null }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 0.5 - }, { "color": "rgba(50, 172, 45, 0.97)", - "value": 3 + "value": 1 } ] }, "mappings": [ { - "op": "=", - "text": "N/A", - "value": "null", - "$$hashKey": "object:645", - "id": 0, - "type": 1 + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" } ], - "unit": "bps", - "decimals": 2, "color": { "mode": "thresholds" - } + }, + "decimals": 2, + "unit": "bps" }, "overrides": [] }, - "gridPos": { - "x": {{ PANELS.monitor_interface_traffic_stat.gridPos.x }}, - "y": {{ PANELS.monitor_interface_traffic_stat.gridPos.y }}, - "w": {{ PANELS.monitor_interface_traffic_stat.gridPos.w }}, - "h": {{ PANELS.monitor_interface_traffic_stat.gridPos.h }} - }, - "id": 24, - "links": [], - "maxDataPoints": 100, - "targets": [ - { - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "net", - "orderByTime": "ASC", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "bytes_recv" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "1s" - ], - "type": "non_negative_derivative" - }, - { - "params": [ - "*8" - ], - "type": "math" - } - ] - ], - "tags": [ - { - "key": "host", - "operator": "=", - "value": "$servername" - }, - { - "condition": "AND", - "key": "interface", - "operator": "=", - "value": "$monint" - } - ] - } - ], - "title": "Monitor Traffic - $monint", - "type": "stat", "options": { "reduceOptions": { "values": false, @@ -126,7 +61,92 @@ "graphMode": "area", "justifyMode": "auto" }, + "targets": [ + { + "dsType": "influxdb", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "type": "tag", + "params": [ + "host" + ] + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "type": "field", + "params": [ + "bytes_recv" + ] + }, + { + "type": "mean", + "params": [] + }, + { + "type": "non_negative_derivative", + "params": [ + "1s" + ] + }, + { + "type": "math", + "params": [ + "*8" + ] + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$servername$/" + }, + { + "condition": "AND", + "key": "interface", + "operator": "=~", + "value": "/^$monint$/" + } + ], + "query": "SELECT non_negative_derivative(mean(\"bytes_recv\"), 1s) *8 FROM \"net\" WHERE (\"host\" =~ /^$servername$/ AND \"interface\" = '$monint') AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false + } + ], + "maxDataPoints": null, "cacheTimeout": null, "interval": null, - "pluginVersion": "7.5.4" + "transformations": [ + { + "id": "calculateField", + "options": { + "mode": "reduceRow", + "reduce": { + "reducer": "sum" + }, + "alias": "Monitor Traffic", + "replaceFields": true + } + } + ], + "description": "" } diff --git a/salt/grafana/panels/network_usage_docker_combined_current_graph.json.jinja b/salt/grafana/panels/network_usage_docker_combined_current_graph.json.jinja index 97055b54b..9a9d81504 100644 --- a/salt/grafana/panels/network_usage_docker_combined_current_graph.json.jinja +++ b/salt/grafana/panels/network_usage_docker_combined_current_graph.json.jinja @@ -1,45 +1,33 @@ { - "aliasColors": {}, - "dashLength": 10, - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": {}, - "overrides": [] - }, - "fill": 1, - "gridPos": { + "id": 61868, + "gridPos": { "x": {{ PANELS.network_usage_docker_combined_current_graph.gridPos.x }}, "y": {{ PANELS.network_usage_docker_combined_current_graph.gridPos.y }}, "w": {{ PANELS.network_usage_docker_combined_current_graph.gridPos.w }}, "h": {{ PANELS.network_usage_docker_combined_current_graph.gridPos.h }} }, - "id": 61868, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "connected", + "type": "timeseries", + "title": "Container Network Usage Current", + "datasource": "InfluxDB", + "pluginVersion": "8.2.1", + "interval": "30s", "options": { - "alertThreshold": true + "tooltip": { + "mode": "single" + }, + "legend": { + "displayMode": "table", + "placement": "right", + "calcs": [ + "max", + "mean", + "lastNotNull" + ] + } }, - "pluginVersion": "7.5.4", - "pointradius": 2, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, "targets": [ { - "alias": "$tag_container_name RX", + "alias": "$tag_host: $tag_container_name RX", "groupBy": [ { "params": [ @@ -53,6 +41,12 @@ ], "type": "tag" }, + { + "type": "tag", + "params": [ + "host" + ] + }, { "params": [ "null" @@ -69,94 +63,26 @@ "select": [ [ { - "type": "field", "params": [ "rx_bytes" - ] + ], + "type": "field" }, { - "type": "mean", - "params": [] + "params": [], + "type": "mean" }, { - "type": "non_negative_derivative", "params": [ "1s" - ] + ], + "type": "non_negative_derivative" }, { - "type": "math", "params": [ "*8" - ] - } - ] - ], - "tags": [ - { - "key": "host", - "operator": "=~", - "value": "/^$servername$/" - }, - { - "condition": "AND", - "key": "container_name", - "operator": "=~", - "value": "/^$containers$/" - } - ] - }, - { - "alias": "$tag_container_name TX", - "groupBy": [ - { - "params": [ - "$__interval" - ], - "type": "time" - }, - { - "params": [ - "container_name" - ], - "type": "tag" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "docker_container_net", - "orderByTime": "ASC", - "policy": "default", - "queryType": "randomWalk", - "refId": "B", - "resultFormat": "time_series", - "select": [ - [ - { - "type": "field", - "params": [ - "tx_bytes" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "non_negative_derivative", - "params": [ - "1s" - ] - }, - { - "type": "math", - "params": [ - "*8" - ] + ], + "type": "math" } ] ], @@ -174,60 +100,133 @@ } ], "hide": false - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Container Network Usage Current", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:315", - "format": "bps", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true }, { - "$$hashKey": "object:316", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false + "alias": "$tag_host: $tag_container_name TX", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "container_name" + ], + "type": "tag" + }, + { + "type": "tag", + "params": [ + "host" + ] + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "hide": false, + "measurement": "docker_container_net", + "orderByTime": "ASC", + "policy": "default", + "queryType": "randomWalk", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "tx_bytes" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "1s" + ], + "type": "non_negative_derivative" + }, + { + "params": [ + "*8" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$servername$/" + }, + { + "condition": "AND", + "key": "container_name", + "operator": "=~", + "value": "/^$containers$/" + } + ] } ], - "yaxis": { - "align": false, - "alignLevel": null + "fieldConfig": { + "defaults": { + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "barAlignment": 0, + "lineWidth": 1, + "fillOpacity": 5, + "gradientMode": "none", + "spanNulls": true, + "showPoints": "never", + "pointSize": 5, + "stacking": { + "mode": "none", + "group": "A" + }, + "axisPlacement": "auto", + "axisLabel": "", + "scaleDistribution": { + "type": "linear" + }, + "hideFrom": { + "tooltip": false, + "viz": false, + "legend": false + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "color": { + "mode": "palette-classic" + }, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "mappings": [], + "unit": "bps", + "decimals": 1 + }, + "overrides": [] }, - "bars": false, - "dashes": false, - "decimals": null, - "fillGradient": 0, - "hiddenSeries": false, - "percentage": false, - "points": false, - "stack": false, - "steppedLine": false, - "timeFrom": null, - "timeShift": null, + "maxDataPoints": null, "description": "", - "maxDataPoints": 750, - "interval": "30s" + "timeFrom": null, + "timeShift": null } diff --git a/salt/grafana/panels/network_usage_docker_combined_trend_graph.json.jinja b/salt/grafana/panels/network_usage_docker_combined_trend_graph.json.jinja index 2a3860d9f..b8dc975d8 100644 --- a/salt/grafana/panels/network_usage_docker_combined_trend_graph.json.jinja +++ b/salt/grafana/panels/network_usage_docker_combined_trend_graph.json.jinja @@ -1,45 +1,33 @@ { - "aliasColors": {}, - "dashLength": 10, - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": {}, - "overrides": [] - }, - "fill": 1, + "id": 61461, "gridPos": { "x": {{ PANELS.network_usage_docker_combined_trend_graph.gridPos.x }}, "y": {{ PANELS.network_usage_docker_combined_trend_graph.gridPos.y }}, "w": {{ PANELS.network_usage_docker_combined_trend_graph.gridPos.w }}, "h": {{ PANELS.network_usage_docker_combined_trend_graph.gridPos.h }} }, - "id": 61461, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "connected", + "type": "timeseries", + "title": "Container Network Usage Trend", + "datasource": "InfluxDB", + "pluginVersion": "8.2.1", + "interval": "5m", "options": { - "alertThreshold": true + "tooltip": { + "mode": "single" + }, + "legend": { + "displayMode": "table", + "placement": "right", + "calcs": [ + "max", + "mean", + "lastNotNull" + ] + } }, - "pluginVersion": "7.5.4", - "pointradius": 2, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, "targets": [ { - "alias": "$tag_container_name RX", + "alias": "$tag_host: $tag_container_name RX", "groupBy": [ { "params": [ @@ -53,6 +41,12 @@ ], "type": "tag" }, + { + "type": "tag", + "params": [ + "host" + ] + }, { "params": [ "null" @@ -69,26 +63,26 @@ "select": [ [ { - "type": "field", "params": [ "mean_rx_bytes" - ] + ], + "type": "field" }, { - "type": "mean", - "params": [] + "params": [], + "type": "mean" }, { - "type": "non_negative_derivative", "params": [ "1s" - ] + ], + "type": "non_negative_derivative" }, { - "type": "math", "params": [ "*8" - ] + ], + "type": "math" } ] ], @@ -107,7 +101,7 @@ ] }, { - "alias": "$tag_container_name TX", + "alias": "$tag_host: $tag_container_name TX", "groupBy": [ { "params": [ @@ -121,6 +115,12 @@ ], "type": "tag" }, + { + "type": "tag", + "params": [ + "host" + ] + }, { "params": [ "null" @@ -128,6 +128,7 @@ "type": "fill" } ], + "hide": false, "measurement": "docker_container_net", "orderByTime": "ASC", "policy": "so_long_term", @@ -137,26 +138,26 @@ "select": [ [ { - "type": "field", "params": [ "mean_tx_bytes" - ] + ], + "type": "field" }, { - "type": "mean", - "params": [] + "params": [], + "type": "mean" }, { - "type": "non_negative_derivative", "params": [ "1s" - ] + ], + "type": "non_negative_derivative" }, { - "type": "math", "params": [ "*8" - ] + ], + "type": "math" } ] ], @@ -172,62 +173,59 @@ "operator": "=~", "value": "/^$containers$/" } - ], - "hide": false + ] } ], - "thresholds": [], - "timeRegions": [], - "title": "Container Network Usage Trend", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:315", - "format": "bps", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "fieldConfig": { + "defaults": { + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "barAlignment": 0, + "lineWidth": 1, + "fillOpacity": 5, + "gradientMode": "none", + "spanNulls": false, + "showPoints": "never", + "pointSize": 5, + "stacking": { + "mode": "none", + "group": "A" + }, + "axisPlacement": "auto", + "axisLabel": "", + "scaleDistribution": { + "type": "linear" + }, + "hideFrom": { + "tooltip": false, + "viz": false, + "legend": false + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "color": { + "mode": "palette-classic" + }, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "mappings": [], + "unit": "bps", + "decimals": 1 }, - { - "$$hashKey": "object:316", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null + "overrides": [] }, - "bars": false, - "dashes": false, - "decimals": null, - "fillGradient": 0, - "hiddenSeries": false, - "percentage": false, - "points": false, - "stack": false, - "steppedLine": false, - "timeFrom": null, - "timeShift": null, + "maxDataPoints": null, "description": "", - "maxDataPoints": 750, - "interval": "30s" + "timeFrom": null, + "timeShift": null } diff --git a/salt/grafana/panels/stenographer_pcap_retention_graph.json.jinja b/salt/grafana/panels/stenographer_pcap_retention_graph.json.jinja index aa3e22146..83c51a73d 100644 --- a/salt/grafana/panels/stenographer_pcap_retention_graph.json.jinja +++ b/salt/grafana/panels/stenographer_pcap_retention_graph.json.jinja @@ -1,64 +1,106 @@ { - "aliasColors": {}, - "bars": false, - "maxDataPoints": 750, - "interval": "30s", - "cacheTimeout": null, - "dashLength": 10, - "dashes": false, - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "unit": "s" - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, + "id": 2239, "gridPos": { "x": {{ PANELS.stenographer_pcap_retention_graph.gridPos.x }}, "y": {{ PANELS.stenographer_pcap_retention_graph.gridPos.y }}, "w": {{ PANELS.stenographer_pcap_retention_graph.gridPos.w }}, "h": {{ PANELS.stenographer_pcap_retention_graph.gridPos.h }} }, - "hiddenSeries": false, - "id": 2239, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, + "type": "timeseries", + "title": "Stenographer PCAP Retention", + "datasource": "InfluxDB", + "pluginVersion": "8.2.1", + "maxDataPoints": 750, + "interval": "30s", "links": [], - "nullPointMode": "connected", - "options": { - "alertThreshold": true + "fieldConfig": { + "defaults": { + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "barAlignment": 0, + "lineWidth": 1, + "fillOpacity": 10, + "gradientMode": "none", + "spanNulls": true, + "showPoints": "never", + "pointSize": 5, + "stacking": { + "mode": "none", + "group": "A" + }, + "axisPlacement": "auto", + "axisLabel": "", + "scaleDistribution": { + "type": "linear" + }, + "hideFrom": { + "tooltip": false, + "viz": false, + "legend": false + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "color": { + "mode": "palette-classic" + }, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "mappings": [], + "unit": "s", + "decimals": 2 + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/Trend/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 4 + }, + { + "id": "custom.lineStyle", + "value": { + "fill": "dash", + "dash": [ + 4, + 10 + ] + } + } + ] + } + ] }, - "percentage": false, - "pluginVersion": "7.5.4", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Trend/", - "dashLength": 4, - "dashes": true, - "fill": 0, - "linewidth": 4 + "options": { + "tooltip": { + "mode": "single" + }, + "legend": { + "displayMode": "hidden", + "placement": "bottom", + "calcs": [] } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + }, "targets": [ { - "alias": "Oldest Pcap Current", + "alias": "$tag_host: Oldest Pcap Current", "dsType": "influxdb", "groupBy": [ { @@ -67,6 +109,12 @@ ], "type": "time" }, + { + "type": "tag", + "params": [ + "host" + ] + }, { "params": [ "null" @@ -96,13 +144,13 @@ "tags": [ { "key": "host", - "operator": "=", - "value": "$servername" + "operator": "=~", + "value": "/^$servername$/" } ] }, { - "alias": "Oldest Pcap Trend", + "alias": "$tag_host: Oldest Pcap Trend", "dsType": "influxdb", "groupBy": [ { @@ -111,6 +159,12 @@ ], "type": "time" }, + { + "type": "tag", + "params": [ + "host" + ] + }, { "params": [ "null" @@ -141,51 +195,13 @@ "tags": [ { "key": "host", - "operator": "=", - "value": "$servername" + "operator": "=~", + "value": "/^$servername$/" } ] } ], - "thresholds": [], + "cacheTimeout": null, "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Stenographer PCAP Retention", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 2, - "format": "s", - "label": "", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "timeShift": null } diff --git a/salt/grafana/panels/uptime_docker_combined_trend_graph.json.jinja b/salt/grafana/panels/uptime_docker_combined_trend_graph.json.jinja index 25303038c..a4be68137 100644 --- a/salt/grafana/panels/uptime_docker_combined_trend_graph.json.jinja +++ b/salt/grafana/panels/uptime_docker_combined_trend_graph.json.jinja @@ -1,53 +1,87 @@ { - "type": "graph", - "title": "Container Uptime Trend", + "id": 68999, "gridPos": { "x": {{ PANELS.uptime_docker_combined_trend_graph.gridPos.x }}, "y": {{ PANELS.uptime_docker_combined_trend_graph.gridPos.y }}, "w": {{ PANELS.uptime_docker_combined_trend_graph.gridPos.w }}, "h": {{ PANELS.uptime_docker_combined_trend_graph.gridPos.h }} }, - "id": 68999, + "type": "graph", + "title": "Container Uptime Trend", + "datasource": "InfluxDB", + "thresholds": [ + { + "$$hashKey": "object:1299", + "colorMode": "critical", + "fill": false, + "line": true, + "op": "lt", + "value": 4500000000000, + "yaxis": "left" + } + ], + "pluginVersion": "8.2.1", + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sort": "current", + "sortDesc": false, + "total": false, + "values": true + }, + "aliasColors": {}, + "dashLength": 10, + "decimals": 1, + "lines": true, + "linewidth": 1, + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "pointradius": 2, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, "targets": [ { - "refId": "A", - "queryType": "randomWalk", - "policy": "so_long_term", - "resultFormat": "time_series", - "orderByTime": "ASC", - "tags": [ - { - "key": "host", - "operator": "=~", - "value": "/^$servername$/" - }, - { - "condition": "AND", - "key": "container_name", - "operator": "=~", - "value": "/^$containers$/" - } - ], + "alias": "$tag_host: $tag_container_name", "groupBy": [ { - "type": "time", "params": [ "$__interval" - ] + ], + "type": "time" + }, + { + "params": [ + "container_name" + ], + "type": "tag" }, { "type": "tag", "params": [ - "container_name" + "host" ] }, { - "type": "fill", "params": [ "null" - ] + ], + "type": "fill" } ], + "measurement": "docker_container_status", + "orderByTime": "ASC", + "policy": "so_long_term", + "queryType": "randomWalk", + "refId": "A", + "resultFormat": "time_series", "select": [ [ { @@ -62,98 +96,70 @@ } ] ], - "measurement": "docker_container_status", - "alias": "$tag_container_name" + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$servername$/" + }, + { + "condition": "AND", + "key": "container_name", + "operator": "=~", + "value": "/^$containers$/" + } + ] } ], - "options": { - "alertThreshold": true + "timeRegions": [], + "tooltip": { + "shared": true, + "sort": 1, + "value_type": "individual" }, - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": {}, - "overrides": [] - }, - "pluginVersion": "7.5.4", - "renderer": "flot", - "yaxes": [ - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "ns", - "$$hashKey": "object:192" - }, - { - "label": "", - "show": true, - "logBase": 1, - "min": "0", - "max": null, - "format": "short", - "$$hashKey": "object:193", - "decimals": 2 - } - ], "xaxis": { - "show": true, + "buckets": null, "mode": "time", "name": null, - "values": [], - "buckets": null + "show": true, + "values": [] }, + "yaxes": [ + { + "$$hashKey": "object:192", + "format": "ns", + "label": null, + "logBase": 1, + "max": "604800000000000", + "min": null, + "show": true, + "decimals": 1 + }, + { + "$$hashKey": "object:193", + "decimals": 2, + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": "0", + "show": false + } + ], "yaxis": { "align": false, "alignLevel": null }, - "lines": true, - "linewidth": 1, - "dashLength": 10, - "spaceLength": 10, - "pointradius": 2, - "legend": { - "show": false, - "values": true, - "min": false, - "max": false, - "current": true, - "total": false, - "avg": false, - "alignAsTable": true, - "rightSide": true - }, - "nullPointMode": "connected", - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 1 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [ - { - "value": 4500000000000, - "colorMode": "critical", - "op": "lt", - "fill": false, - "line": true, - "yaxis": "left", - "$$hashKey": "object:1299" - } - ], - "timeRegions": [], - "decimals": 2, - "fill": 0, - "timeFrom": null, - "timeShift": null, - "fillGradient": 0, - "dashes": false, - "hiddenSeries": false, - "points": false, + "interval": "30s", "bars": false, - "stack": false, + "dashes": false, + "fill": 0, + "fillGradient": 0, + "hiddenSeries": false, "percentage": false, - "steppedLine": false + "points": false, + "stack": false, + "steppedLine": false, + "timeFrom": null, + "timeShift": null } diff --git a/salt/grafana/panels/zeek_capture_loss_graph.json.jinja b/salt/grafana/panels/zeek_capture_loss_graph.json.jinja index 7b791f4f6..f432142c8 100644 --- a/salt/grafana/panels/zeek_capture_loss_graph.json.jinja +++ b/salt/grafana/panels/zeek_capture_loss_graph.json.jinja @@ -1,67 +1,109 @@ { - "aliasColors": {}, - "bars": false, - "maxDataPoints": 750, - "interval": "30s", - "dashLength": 10, - "dashes": false, - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "links": [] - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, + "id": 71, "gridPos": { "x": {{ PANELS.zeek_capture_loss_graph.gridPos.x }}, "y": {{ PANELS.zeek_capture_loss_graph.gridPos.y }}, "w": {{ PANELS.zeek_capture_loss_graph.gridPos.w }}, "h": {{ PANELS.zeek_capture_loss_graph.gridPos.h }} }, - "hiddenSeries": false, - "id": 71, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "max": true, - "min": false, - "rightSide": false, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true + "type": "timeseries", + "title": "Capture Loss", + "datasource": "InfluxDB", + "pluginVersion": "8.2.1", + "interval": "30s", + "fieldConfig": { + "defaults": { + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "barAlignment": 0, + "lineWidth": 1, + "fillOpacity": 10, + "gradientMode": "none", + "spanNulls": true, + "showPoints": "auto", + "pointSize": 6, + "stacking": { + "mode": "none", + "group": "A" + }, + "axisPlacement": "auto", + "axisLabel": "", + "scaleDistribution": { + "type": "linear" + }, + "hideFrom": { + "tooltip": false, + "viz": false, + "legend": false + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "color": { + "mode": "palette-classic" + }, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "mappings": [], + "links": [], + "unit": "percent", + "decimals": 1, + "min": 0 + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/Trend/" + }, + "properties": [ + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.lineWidth", + "value": 4 + }, + { + "id": "custom.lineStyle", + "value": { + "fill": "dash", + "dash": [ + 4, + 10 + ] + } + } + ] + } + ] }, - "lines": true, - "linewidth": 1, - "nullPointMode": "connected", "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "7.5.4", - "pointradius": 2, - "points": true, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/Trend/", - "dashLength": 4, - "dashes": true, - "fill": 0, - "linewidth": 4 + "tooltip": { + "mode": "single" + }, + "legend": { + "displayMode": "table", + "placement": "right", + "calcs": [ + "mean", + "lastNotNull" + ] } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + }, "targets": [ { - "alias": "Loss Current", + "alias": "$tag_host: Loss Current", "groupBy": [ { "params": [ @@ -69,6 +111,12 @@ ], "type": "time" }, + { + "type": "tag", + "params": [ + "host" + ] + }, { "params": [ "null" @@ -98,13 +146,13 @@ "tags": [ { "key": "host", - "operator": "=", - "value": "$servername" + "operator": "=~", + "value": "/^$servername$/" } ] }, { - "alias": "Loss Trend", + "alias": "$tag_host: Loss Trend", "groupBy": [ { "params": [ @@ -142,51 +190,13 @@ "tags": [ { "key": "host", - "operator": "=", - "value": "$servername" + "operator": "=~", + "value": "/^$servername$/" } ] } ], - "thresholds": [], + "maxDataPoints": null, "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Capture Loss", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 1, - "format": "percent", - "label": "", - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "timeShift": null }