diff --git a/config/grafana/dashboards/windows-base.json b/config/grafana/dashboards/windows-base.json index 254c015f..466d45a6 100644 --- a/config/grafana/dashboards/windows-base.json +++ b/config/grafana/dashboards/windows-base.json @@ -1,2882 +1,2985 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 11, - "links": [], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "dtdhms" - }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Critical" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Warning" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Size" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Reboot" - }, - "properties": [ - { - "id": "mappings", - "value": [ - { - "options": { - "0": { - "index": 0, - "text": "No" - }, - "1": { - "index": 1, - "text": "Yes" - } - }, - "type": "value" - } - ] - } - ] - } - ] - }, - "gridPos": { - "h": 3, - "w": 4, - "x": 0, - "y": 0 - }, - "id": 153, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"windows::ifw_uptime::uptime\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Uptime\" }))", - "refId": "Uptime" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"windows::ifw_uptime::uptime\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Uptime Threshold\" }))", - "refId": "Threshold" - } - ], - "title": "${hostname} Uptime", - "transformations": [ - { - "id": "configFromData", - "options": { - "applyTo": { - "id": "byFrameRefID", - "options": "Uptime" - }, - "configRefId": "Threshold", - "mappings": [ - { - "fieldName": "Uptime Threshold", - "handlerKey": "threshold1" - } - ] - } - } - ], - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 4, - "y": 0 - }, - "id": 196, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r.service != \"\"\r\n )\r\n |> keyValues(keyColumns: [\"service\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")\r\n |> count()\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Checks\" }))", - "refId": "A" - } - ], - "title": "Service Checks", - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 7, - "y": 0 - }, - "id": 200, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.service != \"\"\r\n )\r\n |> keyValues(keyColumns: [\"_measurement\"])\r\n |> keep(columns: [\"metric\"])\r\n |> map(fn: (r) => ({ _value:r.metric }))\r\n |> count()", - "refId": "A" - } - ], - "title": "Metric Count", - "type": "stat" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 3 - }, - "id": 55, - "panels": [], - "title": "Windows Updates", - "type": "row" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "noValue": "0", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 0, - "y": 4 - }, - "id": 121, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "/^summary::ifw_updates::count$/", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_updates::count\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Total Updates" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.metric == \"summary::ifw_updates::count\"\r\n )\r\n |> sort()\r\n |> unique(column: \"_field\")\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r._field }))", - "refId": "Thresholds" - } - ], - "title": "Total Pending Updates", - "transformations": [ - { - "id": "configFromData", - "options": { - "applyTo": { - "id": "byFrameRefID", - "options": "Total Updates" - }, - "configRefId": "Thresholds", - "mappings": [ - { - "fieldName": "crit", - "handlerKey": "threshold1" - } - ] - } - } - ], - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "noValue": "0", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 3, - "y": 4 - }, - "id": 131, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "/^defender::ifw_updates::count$/", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"defender::ifw_updates::count\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Total Updates" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.metric == \"defender::ifw_updates::count\"\r\n )\r\n |> sort()\r\n |> unique(column: \"_field\")\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r._field }))", - "refId": "Thresholds" - } - ], - "title": "Defender Updates", - "transformations": [ - { - "id": "configFromData", - "options": { - "applyTo": { - "id": "byFrameRefID", - "options": "Total Updates" - }, - "configRefId": "Thresholds", - "mappings": [ - { - "fieldName": "crit", - "handlerKey": "threshold1" - } - ] - } - } - ], - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "noValue": "0", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 6, - "y": 4 - }, - "id": 133, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"security::ifw_updates::count\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Total Updates" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.metric == \"security::ifw_updates::count\"\r\n )\r\n |> sort()\r\n |> unique(column: \"_field\")\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r._field }))", - "refId": "Thresholds" - } - ], - "title": "Security Updates", - "transformations": [ - { - "id": "configFromData", - "options": { - "applyTo": { - "id": "byFrameRefID", - "options": "Total Updates" - }, - "configRefId": "Thresholds", - "mappings": [] - } - } - ], - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "noValue": "0", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 9, - "y": 4 - }, - "id": 135, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"rollups::ifw_updates::count\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Total Updates" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.metric == \"rollups::ifw_updates::count\"\r\n )\r\n |> sort()\r\n |> unique(column: \"_field\")\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r._field }))", - "refId": "Thresholds" - } - ], - "title": "Rollup Updates", - "transformations": [ - { - "id": "configFromData", - "options": { - "applyTo": { - "id": "byFrameRefID", - "options": "Total Updates" - }, - "configRefId": "Thresholds", - "mappings": [] - } - } - ], - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "noValue": "0", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 12, - "y": 4 - }, - "id": 137, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"other::ifw_updates::count\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Total Updates" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.metric == \"other::ifw_updates::count\"\r\n )\r\n |> sort()\r\n |> unique(column: \"_field\")\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r._field }))", - "refId": "Thresholds" - } - ], - "title": "Other Updates", - "transformations": [ - { - "id": "configFromData", - "options": { - "applyTo": { - "id": "byFrameRefID", - "options": "Total Updates" - }, - "configRefId": "Thresholds", - "mappings": [] - } - } - ], - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ - { - "options": { - "0": { - "color": "green", - "index": 0, - "text": "No" - }, - "1": { - "color": "red", - "index": 1, - "text": "Yes" - } - }, - "type": "value" - } - ], - "noValue": "0", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 15, - "y": 4 - }, - "id": 186, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"reboot::ifw_updates::required\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Reboot Required" - } - ], - "title": "Reboot Pending", - "transformations": [], - "type": "stat" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 9 - }, - "id": 2, - "panels": [], - "title": "CPU", - "type": "row" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percent" - }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Critical" - }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Warning" - }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 10 - }, - "id": 4, - "maxPerRow": 4, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi", - "sort": "asc" - } - }, - "repeat": "cpucores", - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${cpucores}::ifw_cpu::load)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Value" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${cpucores}::ifw_cpu::load)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", - "refId": "Warning" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${cpucores}::ifw_cpu::load)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", - "refId": "Critical" - } - ], - "title": "${hostname} CPU ${cpucores}", - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "::ifw_cpu::load", - "renamePattern": " load" - } - } - ], - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 18 - }, - "id": 13, - "panels": [], - "title": "Memory", - "type": "row" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Critical" - }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Warning" - }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Maximum" - }, - "properties": [ - { - "id": "custom.drawStyle", - "value": "points" - }, - { - "id": "custom.pointSize", - "value": 2 - }, - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 19 - }, - "id": 19, - "maxPerRow": 4, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi", - "sort": "asc" - } - }, - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Value" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", - "refId": "Warning" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", - "refId": "Critical" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"memory Limit\" }))", - "refId": "Maximum" - } - ], - "title": "${hostname} Memory", - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "::ifw_memory::used", - "renamePattern": " used" - } - } - ], - "type": "timeseries" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Critical" - }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Warning" - }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Maximum" - }, - "properties": [ - { - "id": "custom.drawStyle", - "value": "points" - }, - { - "id": "custom.pointSize", - "value": 2 - }, - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 27 - }, - "id": 16, - "maxPerRow": 4, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi", - "sort": "asc" - } - }, - "repeat": "pagefiles", - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${pagefiles}::ifw_pagefile::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Value" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${pagefiles}::ifw_pagefile::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", - "refId": "Warning" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${pagefiles}::ifw_pagefile::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", - "refId": "Critical" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${pagefiles}::ifw_pagefile::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Pagefile Limit\" }))", - "refId": "Maximum" - } - ], - "title": "${hostname} Pagefile ${pagefiles}", - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "::ifw_pagefile::used", - "renamePattern": " used" - } - } - ], - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 34 - }, - "id": 6, - "panels": [], - "title": "Disks", - "type": "row" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Critical" - }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Warning" - }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Size" - }, - "properties": [ - { - "id": "custom.drawStyle", - "value": "points" - }, - { - "id": "custom.pointSize", - "value": 2 - }, - { - "id": "displayName", - "value": "Partition Size" - }, - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 35 - }, - "id": 9, - "maxPerRow": 4, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi", - "sort": "asc" - } - }, - "repeat": "disks", - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${disks}::ifw_partitionspace::free)/ or r.metric =~ /^(${disks}::ifw_partitionspace::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Value" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${disks}::ifw_partitionspace::free)/ or r.metric =~ /^(${disks}::ifw_partitionspace::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", - "refId": "Warning" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${disks}::ifw_partitionspace::free)/ or r.metric =~ /^(${disks}::ifw_partitionspace::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", - "refId": "Critical" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${disks}::ifw_partitionspace::free)/ or r.metric =~ /^(${disks}::ifw_partitionspace::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Size\") }))", - "refId": "Size" - } - ], - "title": "${hostname} Disk ${disks}", - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "::ifw_partitionspace::used", - "renamePattern": " Partition Used" - } - }, - { - "id": "renameByRegex", - "options": { - "regex": "::ifw_partitionspace::free", - "renamePattern": " Partition Free" - } - } - ], - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 43 - }, - "id": 24, - "panels": [], - "repeat": "networkinterface", - "title": "Network Interface $networkinterface", - "type": "row" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Linkspeed" - }, - "properties": [ - { - "id": "unit", - "value": "bytes" - }, - { - "id": "displayName", - "value": "Linkspeed" - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Bytes sent/sec" - }, - "properties": [ - { - "id": "unit", - "value": "bytes" - }, - { - "id": "displayName", - "value": "Bytes sent/sec" - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Bytes received/sec" - }, - "properties": [ - { - "id": "unit", - "value": "bytes" - }, - { - "id": "displayName", - "value": "Bytes received/sec" - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Usage" - }, - "properties": [ - { - "id": "unit", - "value": "bytes" - }, - { - "id": "displayName", - "value": "Usage" - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 44 - }, - "id": 31, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::linkspeed\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Linkspeed" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::bytessentsec\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Bytes sent/sec" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::bytesreceivedsec\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Bytes received/sec" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::bytestotalsec\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Usage" - } - ], - "title": "Usage", - "type": "timeseries" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Packets sent/sec" - }, - "properties": [ - { - "id": "unit", - "value": "pps" - }, - { - "id": "displayName", - "value": "Packets sent/sec" - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Packets received/sec" - }, - "properties": [ - { - "id": "unit", - "value": "pps" - }, - { - "id": "displayName", - "value": "Packets received/sec" - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 44 - }, - "id": 38, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::packetssentsec\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Packets sent/sec" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::packetsreceivedsec\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Packets received/sec" - } - ], - "title": "Network Packets", - "type": "timeseries" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Packet received errors" - }, - "properties": [ - { - "id": "displayName", - "value": "Packets received errors" - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Packets sent errors" - }, - "properties": [ - { - "id": "displayName", - "value": "Packets sent errors" - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 52 - }, - "id": 46, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::packetsreceivederrors\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Packet received errors" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::packetsoutbounderrors\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Packets sent errors" - } - ], - "title": "Packet Errors", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 77 - }, - "id": 77, - "panels": [], - "title": "Windows Service Details", - "type": "row" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 0, - "y": 78 - }, - "id": 110, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::count\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Count" - } - ], - "title": "Total", - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 3, - "y": 78 - }, - "id": 106, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::running\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Running" - } - ], - "title": "Running", - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 6, - "y": 78 - }, - "id": 111, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::stopped\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Stopped" - } - ], - "title": "Stopped", - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 9, - "y": 78 - }, - "id": 108, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::paused\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Paused" - } - ], - "title": "Paused", - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 12, - "y": 78 - }, - "id": 107, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::pendingstarted\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "PendingStarted" - } - ], - "title": "Pending Started", - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 15, - "y": 78 - }, - "id": 109, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::pendingcontinued\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "PendingContinued" - } - ], - "title": "Pending Continued", - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 18, - "y": 78 - }, - "id": 104, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::pendingstopped\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "PendingStopped" - } - ], - "title": "Pending Stopped", - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 3, - "x": 21, - "y": 78 - }, - "id": 105, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::pendingpaused\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "PendingPaused" - } - ], - "title": "Pending Paused", - "type": "stat" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ - { - "options": { - "1": { - "index": 0, - "text": "Stopped" - }, - "2": { - "index": 1, - "text": "Start Pending" - }, - "3": { - "index": 2, - "text": "Stop Pending" - }, - "4": { - "index": 3, - "text": "Running" - }, - "5": { - "index": 4, - "text": "Continue Pending" - }, - "6": { - "index": 5, - "text": "Pause Pending" - }, - "7": { - "index": 6, - "text": "Paused" - } - }, - "type": "value" - } - ], - "noValue": "0", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 12, - "x": 0, - "y": 83 - }, - "id": 147, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.0.6", - "repeat": "services", - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${services}::ifw_service::)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))\r\n |> unique(column: \"_value\")", - "refId": "A" - } - ], - "title": "${services} Status", - "transformations": [], - "type": "stat" - } - ], - "refresh": "", - "schemaVersion": 36, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "sales-net-hyperv", - "value": "sales-net-hyperv" - }, - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.metric =~ /::ifw_/\r\n )\r\n |> keyValues(keyColumns: [\"hostname\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", - "description": "The Icinga hostname to display data for", - "hide": 0, - "includeAll": false, - "label": "Hostname", - "multi": false, - "name": "hostname", - "options": [], - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.metric =~ /::ifw_/\r\n )\r\n |> keyValues(keyColumns: [\"hostname\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - }, - { - "description": "Data Bucket for InfluxDB2 for Icinga monitoring data", - "hide": 2, - "label": "Icinga Data", - "name": "influxbucket", - "query": "icinga2", - "skipUrlSync": false, - "type": "constant" - }, - { - "allValue": "", - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\"\r\n )\r\n |> keyValues(keyColumns: [\"_measurement\"])\r\n |> keep(columns: [\"service\"])\r\n |> map(fn: (r) => ({ _value:r.service }))\r\n |> unique(column: \"_value\")", - "description": "The Icinga service to display data for", - "hide": 0, - "includeAll": true, - "label": "Service", - "multi": false, - "name": "service", - "options": [], - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\"\r\n )\r\n |> keyValues(keyColumns: [\"_measurement\"])\r\n |> keep(columns: [\"service\"])\r\n |> map(fn: (r) => ({ _value:r.service }))\r\n |> unique(column: \"_value\")", - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - }, - { - "allValue": "", - "current": { - "selected": true, - "text": [ - "total" - ], - "value": [ - "total" - ] - }, - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /^(.*?)::ifw_cpu::load/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", - "hide": 0, - "includeAll": true, - "multi": true, - "name": "cpucores", - "options": [], - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /^(.*?)::ifw_cpu::load/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", - "refresh": 2, - "regex": "^(.*?)::ifw_cpu::load", - "skipUrlSync": false, - "sort": 3, - "type": "query" - }, - { - "allValue": "", - "current": { - "selected": true, - "text": [ - "All" - ], - "value": [ - "$__all" - ] - }, - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_partitionspace/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", - "description": "Available disks for the specified host", - "hide": 0, - "includeAll": true, - "label": "Disks", - "multi": true, - "name": "disks", - "options": [], - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_partitionspace/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", - "refresh": 2, - "regex": "/^(.*?)::/", - "skipUrlSync": false, - "sort": 1, - "type": "query" - }, - { - "allValue": "", - "current": { - "selected": true, - "text": [ - "All" - ], - "value": [ - "$__all" - ] - }, - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_pagefile/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", - "description": "All available page files for a certain host", - "hide": 0, - "includeAll": true, - "label": "Pagefiles", - "multi": true, - "name": "pagefiles", - "options": [], - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_pagefile/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", - "refresh": 2, - "regex": "/^(.*?)::/", - "skipUrlSync": false, - "sort": 1, - "type": "query" - }, - { - "current": { - "selected": true, - "text": [ - "All" - ], - "value": [ - "$__all" - ] - }, - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_networkinterface/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", - "description": "All available Network Interfaces on the specified host", - "hide": 0, - "includeAll": true, - "label": "Network Interfaces", - "multi": true, - "name": "networkinterface", - "options": [], - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_networkinterface/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", - "refresh": 2, - "regex": "/^(.*?)::/", - "skipUrlSync": false, - "sort": 1, - "type": "query" - }, - { - "current": { - "selected": true, - "text": [ - "All" - ], - "value": [ - "$__all" - ] - }, - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_service::state/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", - "description": "Status of specified Windows Service", - "hide": 0, - "includeAll": true, - "label": "Windows Services", - "multi": true, - "name": "services", - "options": [], - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: -5m)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_service::state/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", - "refresh": 1, - "regex": "/^(.*?)::/", - "skipUrlSync": false, - "sort": 1, - "type": "query" - } - ] - }, - "time": { - "from": "now-15m", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Windows-Base", - "uid": "KlRvJ79nz", - "version": 345, - "weekStart": "" +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 11, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "UP" + }, + "2": { + "index": 1, + "text": "DOWN" + } + }, + "type": "value" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 1 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 0, + "y": 0 + }, + "id": 219, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._measurement == \"ping4\" and\r\n r._field == \"state\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "A" + } + ], + "title": "${hostname} Status", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "dtdhms" + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Critical" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Warning" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Size" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Reboot" + }, + "properties": [ + { + "id": "mappings", + "value": [ + { + "options": { + "0": { + "index": 0, + "text": "No" + }, + "1": { + "index": 1, + "text": "Yes" + } + }, + "type": "value" + } + ] + } + ] + } + ] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 3, + "y": 0 + }, + "id": 153, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"windows::ifw_uptime::uptime\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Uptime\" }))", + "refId": "Uptime" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"windows::ifw_uptime::uptime\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Uptime Threshold\" }))", + "refId": "Threshold" + } + ], + "title": "${hostname} Uptime", + "transformations": [ + { + "id": "configFromData", + "options": { + "applyTo": { + "id": "byFrameRefID", + "options": "Uptime" + }, + "configRefId": "Threshold", + "mappings": [ + { + "fieldName": "Uptime Threshold", + "handlerKey": "threshold1" + } + ] + } + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 9, + "y": 0 + }, + "id": 196, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r.service != \"\"\r\n )\r\n |> keyValues(keyColumns: [\"service\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")\r\n |> count()\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Checks\" }))", + "refId": "A" + } + ], + "title": "Service Checks", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 12, + "y": 0 + }, + "id": 200, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.service != \"\"\r\n )\r\n |> keyValues(keyColumns: [\"_measurement\"])\r\n |> keep(columns: [\"metric\"])\r\n |> map(fn: (r) => ({ _value:r.metric }))\r\n |> count()", + "refId": "A" + } + ], + "title": "Metric Count", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "YnAJdFX7z" + }, + "gridPos": { + "h": 4, + "w": 9, + "x": 15, + "y": 0 + }, + "id": 210, + "options": { + "content": "Welcome to the Icinga for Windows Grafana Dashboard. Below you will find a detailed overview of certain Windows metrics for the selected host.\n\nIn case you are missing features or encounter problems, please open an issue on [GitHub](https://github.com/Icinga/icinga-powershell-framework).", + "mode": "markdown" + }, + "pluginVersion": "9.0.6", + "title": "Icinga for Windows", + "type": "text" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 55, + "panels": [], + "title": "Windows Updates", + "type": "row" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 0, + "y": 5 + }, + "id": 121, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^summary::ifw_updates::count$/", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_updates::count\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Total Updates" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.metric == \"summary::ifw_updates::count\"\r\n )\r\n |> sort()\r\n |> unique(column: \"_field\")\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r._field }))", + "refId": "Thresholds" + } + ], + "title": "Total Pending Updates", + "transformations": [ + { + "id": "configFromData", + "options": { + "applyTo": { + "id": "byFrameRefID", + "options": "Total Updates" + }, + "configRefId": "Thresholds", + "mappings": [ + { + "fieldName": "crit", + "handlerKey": "threshold1" + } + ] + } + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 3, + "y": 5 + }, + "id": 131, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^defender::ifw_updates::count$/", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"defender::ifw_updates::count\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Total Updates" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.metric == \"defender::ifw_updates::count\"\r\n )\r\n |> sort()\r\n |> unique(column: \"_field\")\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r._field }))", + "refId": "Thresholds" + } + ], + "title": "Defender Updates", + "transformations": [ + { + "id": "configFromData", + "options": { + "applyTo": { + "id": "byFrameRefID", + "options": "Total Updates" + }, + "configRefId": "Thresholds", + "mappings": [ + { + "fieldName": "crit", + "handlerKey": "threshold1" + } + ] + } + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 6, + "y": 5 + }, + "id": 133, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"security::ifw_updates::count\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Total Updates" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.metric == \"security::ifw_updates::count\"\r\n )\r\n |> sort()\r\n |> unique(column: \"_field\")\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r._field }))", + "refId": "Thresholds" + } + ], + "title": "Security Updates", + "transformations": [ + { + "id": "configFromData", + "options": { + "applyTo": { + "id": "byFrameRefID", + "options": "Total Updates" + }, + "configRefId": "Thresholds", + "mappings": [] + } + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 9, + "y": 5 + }, + "id": 135, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"rollups::ifw_updates::count\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Total Updates" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.metric == \"rollups::ifw_updates::count\"\r\n )\r\n |> sort()\r\n |> unique(column: \"_field\")\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r._field }))", + "refId": "Thresholds" + } + ], + "title": "Rollup Updates", + "transformations": [ + { + "id": "configFromData", + "options": { + "applyTo": { + "id": "byFrameRefID", + "options": "Total Updates" + }, + "configRefId": "Thresholds", + "mappings": [] + } + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 12, + "y": 5 + }, + "id": 137, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"other::ifw_updates::count\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Total Updates" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.metric == \"other::ifw_updates::count\"\r\n )\r\n |> sort()\r\n |> unique(column: \"_field\")\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r._field }))", + "refId": "Thresholds" + } + ], + "title": "Other Updates", + "transformations": [ + { + "id": "configFromData", + "options": { + "applyTo": { + "id": "byFrameRefID", + "options": "Total Updates" + }, + "configRefId": "Thresholds", + "mappings": [] + } + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "0": { + "color": "green", + "index": 0, + "text": "No" + }, + "1": { + "color": "red", + "index": 1, + "text": "Yes" + } + }, + "type": "value" + } + ], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 15, + "y": 5 + }, + "id": 186, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"reboot::ifw_updates::required\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Reboot Required" + } + ], + "title": "Reboot Pending", + "transformations": [], + "type": "stat" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 10 + }, + "id": 2, + "panels": [], + "title": "CPU", + "type": "row" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 3, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "percent" + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Critical" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + }, + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Warning" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 11 + }, + "id": 4, + "maxPerRow": 4, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi", + "sort": "asc" + } + }, + "repeat": "cpucores", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${cpucores}::ifw_cpu::load)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Value" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${cpucores}::ifw_cpu::load)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", + "refId": "Warning" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${cpucores}::ifw_cpu::load)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", + "refId": "Critical" + } + ], + "title": "${hostname} CPU ${cpucores}", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "::ifw_cpu::load", + "renamePattern": " load" + } + } + ], + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 19 + }, + "id": 13, + "panels": [], + "title": "Memory", + "type": "row" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 3, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Critical" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + }, + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Warning" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Maximum" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "points" + }, + { + "id": "custom.pointSize", + "value": 2 + }, + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 20 + }, + "id": 19, + "maxPerRow": 4, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi", + "sort": "asc" + } + }, + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Value" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", + "refId": "Warning" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", + "refId": "Critical" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"memory Limit\" }))", + "refId": "Maximum" + } + ], + "title": "${hostname} Memory", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "::ifw_memory::used", + "renamePattern": " used" + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 3, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Critical" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + }, + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Warning" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Maximum" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "points" + }, + { + "id": "custom.pointSize", + "value": 2 + }, + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 28 + }, + "id": 16, + "maxPerRow": 4, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi", + "sort": "asc" + } + }, + "repeat": "pagefiles", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${pagefiles}::ifw_pagefile::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Value" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${pagefiles}::ifw_pagefile::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", + "refId": "Warning" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${pagefiles}::ifw_pagefile::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", + "refId": "Critical" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${pagefiles}::ifw_pagefile::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Pagefile Limit\" }))", + "refId": "Maximum" + } + ], + "title": "${hostname} Pagefile ${pagefiles}", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "::ifw_pagefile::used", + "renamePattern": " used" + } + } + ], + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 35 + }, + "id": 6, + "panels": [], + "title": "Disks", + "type": "row" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 3, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Critical" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + }, + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Warning" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Size" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "points" + }, + { + "id": "custom.pointSize", + "value": 2 + }, + { + "id": "displayName", + "value": "Partition Size" + }, + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 6, + "x": 0, + "y": 36 + }, + "id": 9, + "maxPerRow": 4, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi", + "sort": "asc" + } + }, + "repeat": "disks", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${disks}::ifw_partitionspace::free)/ or r.metric =~ /^(${disks}::ifw_partitionspace::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Value" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${disks}::ifw_partitionspace::free)/ or r.metric =~ /^(${disks}::ifw_partitionspace::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", + "refId": "Warning" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${disks}::ifw_partitionspace::free)/ or r.metric =~ /^(${disks}::ifw_partitionspace::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", + "refId": "Critical" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${disks}::ifw_partitionspace::free)/ or r.metric =~ /^(${disks}::ifw_partitionspace::used)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Size\") }))", + "refId": "Size" + } + ], + "title": "${hostname} Disk ${disks}", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "::ifw_partitionspace::used", + "renamePattern": " Partition Used" + } + }, + { + "id": "renameByRegex", + "options": { + "regex": "::ifw_partitionspace::free", + "renamePattern": " Partition Free" + } + } + ], + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 44 + }, + "id": 24, + "panels": [], + "repeat": "networkinterface", + "title": "Network Interface $networkinterface", + "type": "row" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Linkspeed" + }, + "properties": [ + { + "id": "unit", + "value": "bytes" + }, + { + "id": "displayName", + "value": "Linkspeed" + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Bytes sent/sec" + }, + "properties": [ + { + "id": "unit", + "value": "bytes" + }, + { + "id": "displayName", + "value": "Bytes sent/sec" + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Bytes received/sec" + }, + "properties": [ + { + "id": "unit", + "value": "bytes" + }, + { + "id": "displayName", + "value": "Bytes received/sec" + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Usage" + }, + "properties": [ + { + "id": "unit", + "value": "bytes" + }, + { + "id": "displayName", + "value": "Usage" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 45 + }, + "id": 31, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::linkspeed\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Linkspeed" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::bytessentsec\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Bytes sent/sec" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::bytesreceivedsec\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Bytes received/sec" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::bytestotalsec\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Usage" + } + ], + "title": "Usage", + "type": "timeseries" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Packets sent/sec" + }, + "properties": [ + { + "id": "unit", + "value": "pps" + }, + { + "id": "displayName", + "value": "Packets sent/sec" + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Packets received/sec" + }, + "properties": [ + { + "id": "unit", + "value": "pps" + }, + { + "id": "displayName", + "value": "Packets received/sec" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 45 + }, + "id": 38, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::packetssentsec\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Packets sent/sec" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::packetsreceivedsec\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Packets received/sec" + } + ], + "title": "Network Packets", + "type": "timeseries" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Packet received errors" + }, + "properties": [ + { + "id": "displayName", + "value": "Packets received errors" + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Packets sent errors" + }, + "properties": [ + { + "id": "displayName", + "value": "Packets sent errors" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 53 + }, + "id": 46, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::packetsreceivederrors\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Packet received errors" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric == \"${networkinterface}::ifw_networkinterface::packetsoutbounderrors\")\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Packets sent errors" + } + ], + "title": "Packet Errors", + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 78 + }, + "id": 77, + "panels": [], + "title": "Windows Service Details", + "type": "row" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 0, + "y": 79 + }, + "id": 110, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::count\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Count" + } + ], + "title": "Total", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 3, + "y": 79 + }, + "id": 106, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::running\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Running" + } + ], + "title": "Running", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 6, + "y": 79 + }, + "id": 111, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::stopped\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Stopped" + } + ], + "title": "Stopped", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 9, + "y": 79 + }, + "id": 108, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::paused\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Paused" + } + ], + "title": "Paused", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 12, + "y": 79 + }, + "id": 107, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::pendingstarted\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "PendingStarted" + } + ], + "title": "Pending Started", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 15, + "y": 79 + }, + "id": 109, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::pendingcontinued\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "PendingContinued" + } + ], + "title": "Pending Continued", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 18, + "y": 79 + }, + "id": 104, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::pendingstopped\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "PendingStopped" + } + ], + "title": "Pending Stopped", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 21, + "y": 79 + }, + "id": 105, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::pendingpaused\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "PendingPaused" + } + ], + "title": "Pending Paused", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "1": { + "index": 0, + "text": "Stopped" + }, + "2": { + "index": 1, + "text": "Start Pending" + }, + "3": { + "index": 2, + "text": "Stop Pending" + }, + "4": { + "index": 3, + "text": "Running" + }, + "5": { + "index": 4, + "text": "Continue Pending" + }, + "6": { + "index": 5, + "text": "Pause Pending" + }, + "7": { + "index": 6, + "text": "Paused" + } + }, + "type": "value" + } + ], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 12, + "x": 0, + "y": 84 + }, + "id": 147, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "repeat": "services", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(${services}::ifw_service::)/)\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))\r\n |> unique(column: \"_value\")", + "refId": "A" + } + ], + "title": "${services} Status", + "transformations": [], + "type": "stat" + } + ], + "refresh": "", + "schemaVersion": 36, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + "selected": false, + "text": "InfluxDB", + "value": "InfluxDB" + }, + "description": "InfluxDB 2 DataSource for Icinga metrics", + "hide": 0, + "includeAll": false, + "label": "InfluxDB DataSource", + "multi": false, + "name": "influxdbdatasource", + "options": [], + "query": "influxdb", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "description": "Data Bucket for InfluxDB2 for Icinga monitoring data", + "hide": 2, + "label": "Icinga Data", + "name": "influxbucket", + "query": "icinga2", + "skipUrlSync": false, + "type": "constant" + }, + { + "current": { + "selected": false, + "text": "", + "value": "" + }, + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.metric =~ /::ifw_/\r\n )\r\n |> keyValues(keyColumns: [\"hostname\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", + "description": "The Icinga hostname to display data for", + "hide": 0, + "includeAll": false, + "label": "Hostname", + "multi": false, + "name": "hostname", + "options": [], + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.metric =~ /::ifw_/\r\n )\r\n |> keyValues(keyColumns: [\"hostname\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "allValue": "", + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\"\r\n )\r\n |> keyValues(keyColumns: [\"_measurement\"])\r\n |> keep(columns: [\"service\"])\r\n |> map(fn: (r) => ({ _value:r.service }))\r\n |> unique(column: \"_value\")", + "description": "The Icinga service to display data for", + "hide": 2, + "includeAll": true, + "label": "Service", + "multi": false, + "name": "service", + "options": [], + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\"\r\n )\r\n |> keyValues(keyColumns: [\"_measurement\"])\r\n |> keep(columns: [\"service\"])\r\n |> map(fn: (r) => ({ _value:r.service }))\r\n |> unique(column: \"_value\")", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "allValue": "", + "current": { + "selected": true, + "text": [ + "total" + ], + "value": [ + "total" + ] + }, + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /^(.*?)::ifw_cpu::load/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", + "hide": 0, + "includeAll": true, + "multi": true, + "name": "cpucores", + "options": [], + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /^(.*?)::ifw_cpu::load/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", + "refresh": 2, + "regex": "^(.*?)::ifw_cpu::load", + "skipUrlSync": false, + "sort": 3, + "type": "query" + }, + { + "allValue": "", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_partitionspace/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", + "description": "Available disks for the specified host", + "hide": 0, + "includeAll": true, + "label": "Disks", + "multi": true, + "name": "disks", + "options": [], + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_partitionspace/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", + "refresh": 2, + "regex": "/^(.*?)::/", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "allValue": "", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_pagefile/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", + "description": "All available page files for a certain host", + "hide": 0, + "includeAll": true, + "label": "Pagefiles", + "multi": true, + "name": "pagefiles", + "options": [], + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_pagefile/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", + "refresh": 2, + "regex": "/^(.*?)::/", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_networkinterface/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", + "description": "All available Network Interfaces on the specified host", + "hide": 0, + "includeAll": true, + "label": "Network Interfaces", + "multi": true, + "name": "networkinterface", + "options": [], + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_networkinterface/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", + "refresh": 2, + "regex": "/^(.*?)::/", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "definition": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_service::state/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", + "description": "Status of specified Windows Service", + "hide": 0, + "includeAll": true, + "label": "Windows Services", + "multi": true, + "name": "services", + "options": [], + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._field == \"value\" and\r\n r.metric =~ /::ifw_service::state/\r\n )\r\n |> keyValues(keyColumns: [\"metric\"])\r\n |> keep(columns: [\"_value\"])\r\n |> unique(column: \"_value\")", + "refresh": 1, + "regex": "/^(.*?)::/", + "skipUrlSync": false, + "sort": 1, + "type": "query" + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Windows-Base", + "uid": "KlRvJ79nz", + "version": 389, + "weekStart": "" } \ No newline at end of file diff --git a/config/grafana/dashboards/windows-plugins-web.json b/config/grafana/dashboards/windows-plugins-web.json index 4503177c..a7fa8127 100644 --- a/config/grafana/dashboards/windows-plugins-web.json +++ b/config/grafana/dashboards/windows-plugins-web.json @@ -1,1618 +1,1713 @@ { - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "description": "Default Icinga for Windows dashboard, providing generic information for own plugins or for plugins with no dashboards yet available", - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 21, - "links": [], - "liveNow": false, - "panels": [ - { - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 5, - "title": "Generic", - "type": "row" - }, + "annotations": { + "list": [ { + "builtIn": 1, "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" + "type": "grafana", + "uid": "-- Grafana --" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "description": "Default Icinga for Windows dashboard, providing generic information for own plugins or for plugins with no dashboards yet available", + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 22, + "links": [], + "liveNow": false, + "panels": [ + { + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 5, + "title": "Generic", + "type": "row" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Warning" + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null }, - "properties": [ - { - "id": "custom.drawStyle", - "value": "points" - }, - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Warning" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "points" + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Critical" + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Critical" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "points" }, - "properties": [ - { - "id": "custom.drawStyle", - "value": "points" - }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" } - ] - } - ] - }, - "gridPos": { - "h": 9, - "w": 24, - "x": 0, - "y": 1 - }, - "id": 1, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "single", - "sort": "none" + } + ] } + ] + }, + "gridPos": { + "h": 9, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 1, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" }, - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Generic Metrics" + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n (r._field == \"warn\") and\r\n r.hostname == \"${hostname}\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", - "refId": "Warning" + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Generic Metrics" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n (r._field == \"crit\") and\r\n r.hostname == \"${hostname}\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", - "refId": "Critical" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n (r._field == \"warn\") and\r\n r.hostname == \"${hostname}\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", + "refId": "Warning" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"unit\" and\r\n r.hostname == \"${hostname}\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \"Unit\") }))", - "refId": "Unit" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n (r._field == \"crit\") and\r\n r.hostname == \"${hostname}\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", + "refId": "Critical" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Maximum\") }))", - "refId": "Maximum" - } - ], - "title": "${hostname} - ${service}", - "transformations": [], - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 10 + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"unit\" and\r\n r.hostname == \"${hostname}\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \"Unit\") }))", + "refId": "Unit" }, - "id": 7, - "panels": [], - "title": "Single Plugins", - "type": "row" + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Maximum\") }))", + "refId": "Maximum" + } + ], + "title": "${hostname} - ${service}", + "transformations": [], + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 10 }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percent" + "id": 7, + "panels": [], + "title": "Single Plugins", + "type": "row" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - "overrides": [ + "mappings": [ { - "matcher": { - "id": "byFrameRefID", - "options": "Critical" - }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } + "options": { + "0": { + "index": 0, + "text": "UP" }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } + "2": { + "index": 1, + "text": "DOWN" } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Warning" }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } - } - ] + "type": "value" } - ] - }, - "gridPos": { - "h": 7, - "w": 8, - "x": 0, - "y": 11 - }, - "id": 8, - "maxPerRow": 4, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi", - "sort": "asc" + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 1 + } + ] } }, - "repeat": "cpucores", - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(total::ifw_cpu::load)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Value" + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 11 + }, + "id": 12, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(total::ifw_cpu::load)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (\"Warning \" + r.metric) }))", - "refId": "Warning" + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r.hostname == \"${hostname}\" and\r\n r._measurement == \"ping4\" and\r\n r._field == \"state\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "A" + } + ], + "title": "${hostname} Hostalive", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(total::ifw_cpu::load)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (\"Critical \" + r.metric) }))", - "refId": "Critical" - } - ], - "title": "${hostname} CPU", - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/total::ifw_cpu::load/", - "renamePattern": "Load " + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 3, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - } - ], - "type": "timeseries" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Critical" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" } - ] - }, - "unit": "bytes" + } + ] }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Critical" - }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } + { + "matcher": { + "id": "byFrameRefID", + "options": "Warning" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Warning" }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Size" + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Size" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "points" }, - "properties": [ - { - "id": "custom.drawStyle", - "value": "points" - }, - { - "id": "custom.pointSize", - "value": 2 - }, - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } + { + "id": "custom.pointSize", + "value": 2 + }, + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" } - ] - } - ] - }, - "gridPos": { - "h": 7, - "w": 8, - "x": 8, - "y": 11 - }, - "id": 3, - "maxPerRow": 4, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi", - "sort": "asc" + } + ] } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 11 + }, + "id": 3, + "maxPerRow": 4, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom" }, - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_networkinterface::packetssentsec\\b/ or r.metric =~ /.*::ifw_networkinterface::packetsreceivedsec\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Value" + "tooltip": { + "mode": "multi", + "sort": "asc" + } + }, + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_networkinterface::packetssentsec\\b/ or r.metric =~ /.*::ifw_networkinterface::packetsreceivedsec\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", - "refId": "Warning" + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_networkinterface::packetssentsec\\b/ or r.metric =~ /.*::ifw_networkinterface::packetsreceivedsec\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Value" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_networkinterface::packetssentsec\\b/ or r.metric =~ /.*::ifw_networkinterface::packetsreceivedsec\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", - "refId": "Critical" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_networkinterface::packetssentsec\\b/ or r.metric =~ /.*::ifw_networkinterface::packetsreceivedsec\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", + "refId": "Warning" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric =~ /.*::ifw_networkinterface::linkspeed\\b/ and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (\"LinkSpeed \" + r.metric) }))", - "refId": "Maximum" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_networkinterface::packetssentsec\\b/ or r.metric =~ /.*::ifw_networkinterface::packetsreceivedsec\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", + "refId": "Critical" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric =~ /.*::ifw_networkinterface::linkspeed\\b/ and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (\"LinkSpeed \" + r.metric) }))", + "refId": "Maximum" + } + ], + "title": "${hostname} Interfaces", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "/::ifw_networkinterface::packetssentsec/", + "renamePattern": " sent" } - ], - "title": "${hostname} Interfaces", - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/::ifw_networkinterface::packetssentsec/", - "renamePattern": " sent" - } + }, + { + "id": "renameByRegex", + "options": { + "regex": "/::ifw_networkinterface::packetsreceivedsec/", + "renamePattern": " received" + } + }, + { + "id": "renameByRegex", + "options": { + "regex": "/::ifw_networkinterface::linkspeed/", + "renamePattern": "" + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" }, - { - "id": "renameByRegex", - "options": { - "regex": "/::ifw_networkinterface::packetsreceivedsec/", - "renamePattern": " received" + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 3, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } }, - { - "id": "renameByRegex", - "options": { - "regex": "/::ifw_networkinterface::linkspeed/", - "renamePattern": "" - } - } - ], - "type": "timeseries" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Critical" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" } - ] - }, - "unit": "bytes" + } + ] }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Critical" - }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } + { + "matcher": { + "id": "byFrameRefID", + "options": "Warning" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Warning" }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Size" + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Size" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "points" }, - "properties": [ - { - "id": "custom.drawStyle", - "value": "points" - }, - { - "id": "custom.pointSize", - "value": 2 - }, - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } + { + "id": "custom.pointSize", + "value": 2 + }, + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" } - ] - } - ] - }, - "gridPos": { - "h": 7, - "w": 8, - "x": 16, - "y": 11 - }, - "id": 2, - "maxPerRow": 4, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi", - "sort": "asc" + } + ] } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 11 + }, + "id": 2, + "maxPerRow": 4, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom" }, - "repeat": "disks", - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_partitionspace::free\\b/ or r.metric =~ /.*::ifw_partitionspace::used\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Value" + "tooltip": { + "mode": "multi", + "sort": "asc" + } + }, + "repeat": "disks", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_partitionspace::free\\b/ or r.metric =~ /.*::ifw_partitionspace::used\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", - "refId": "Warning" + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_partitionspace::free\\b/ or r.metric =~ /.*::ifw_partitionspace::used\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Value" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_partitionspace::free\\b/ or r.metric =~ /.*::ifw_partitionspace::used\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", - "refId": "Critical" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_partitionspace::free\\b/ or r.metric =~ /.*::ifw_partitionspace::used\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Warning\") }))", + "refId": "Warning" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_partitionspace::free\\b/ or r.metric =~ /.*::ifw_partitionspace::used\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (\"Size \" + r.metric) }))", - "refId": "Size" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_partitionspace::free\\b/ or r.metric =~ /.*::ifw_partitionspace::used\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (r.metric + \" Critical\") }))", + "refId": "Critical" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /.*::ifw_partitionspace::free\\b/ or r.metric =~ /.*::ifw_partitionspace::used\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (\"Size \" + r.metric) }))", + "refId": "Size" + } + ], + "title": "${hostname} Disks", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "/::ifw_partitionspace::free/", + "renamePattern": " free" } - ], - "title": "${hostname} Disks", - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/::ifw_partitionspace::free/", - "renamePattern": " free" - } + }, + { + "id": "renameByRegex", + "options": { + "regex": "/::ifw_partitionspace::used/", + "renamePattern": " used" + } + }, + { + "id": "renameByRegex", + "options": { + "regex": "/(?=Size)&?(::?(.*))/", + "renamePattern": "" + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" }, - { - "id": "renameByRegex", - "options": { - "regex": "/::ifw_partitionspace::used/", - "renamePattern": " used" + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 3, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } }, - { - "id": "renameByRegex", - "options": { - "regex": "/(?=Size)&?(::?(.*))/", - "renamePattern": "" - } - } - ], - "type": "timeseries" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "none" + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Critical" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } + "unit": "percent" + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Critical" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Warning" }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Size" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Warning" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Reboot" }, - "properties": [ - { - "id": "mappings", - "value": [ - { - "options": { - "0": { - "color": "green", - "index": 0, - "text": "No" - }, - "1": { - "color": "red", - "index": 1, - "text": "Yes" - } - }, - "type": "value" - } - ] + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" } - ] - } - ] + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 18 + }, + "id": 8, + "maxPerRow": 4, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom" }, - "gridPos": { - "h": 7, - "w": 8, - "x": 0, - "y": 18 + "tooltip": { + "mode": "multi", + "sort": "asc" + } + }, + "repeat": "cpucores", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(total::ifw_cpu::load)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Value" }, - "id": 4, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(total::ifw_cpu::load)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (\"Warning \" + r.metric) }))", + "refId": "Warning" }, - "pluginVersion": "9.0.6", - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_updates::count\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Total Updates\" }))", - "refId": "Total Updates" + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"rollups::ifw_updates::count\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Rollup\" }))", - "refId": "Rollups" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(total::ifw_cpu::load)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (\"Critical \" + r.metric) }))", + "refId": "Critical" + } + ], + "title": "${hostname} CPU", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "/total::ifw_cpu::load/", + "renamePattern": "Load " + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "dtdhms" + }, + "overrides": [ { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"defender::ifw_updates::count\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Defender\" }))", - "refId": "Defender" + "matcher": { + "id": "byFrameRefID", + "options": "Critical" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] }, { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"security::ifw_updates::count\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Security\" }))", - "refId": "Security" + "matcher": { + "id": "byFrameRefID", + "options": "Warning" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] }, { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"other::ifw_updates::count\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Other\" }))", - "refId": "Other" + "matcher": { + "id": "byFrameRefID", + "options": "Size" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" + } + } + ] }, { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"reboot::ifw_updates::required\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Reboot Pending\" }))", - "refId": "Reboot" + "matcher": { + "id": "byFrameRefID", + "options": "Reboot" + }, + "properties": [ + { + "id": "mappings", + "value": [ + { + "options": { + "0": { + "index": 0, + "text": "No" + }, + "1": { + "index": 1, + "text": "Yes" + } + }, + "type": "value" + } + ] + } + ] } - ], - "title": "${hostname} Updates", - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/::ifw_networkinterface::packetssentsec/", - "renamePattern": " sent" - } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 18 + }, + "id": 6, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "id": "renameByRegex", - "options": { - "regex": "/::ifw_networkinterface::packetsreceivedsec/", - "renamePattern": " received" - } + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"windows::ifw_uptime::uptime\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Uptime\" }))", + "refId": "Uptime" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "id": "renameByRegex", - "options": { - "regex": "/::ifw_networkinterface::linkspeed/", - "renamePattern": "" - } + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"windows::ifw_uptime::uptime\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Uptime Threshold\" }))", + "refId": "Threshold" + } + ], + "title": "${hostname} Uptime", + "transformations": [ + { + "id": "configFromData", + "options": { + "applyTo": { + "id": "byFrameRefID", + "options": "Uptime" + }, + "configRefId": "Threshold", + "mappings": [ + { + "fieldName": "Uptime Threshold", + "handlerKey": "threshold1" + } + ] } - ], - "type": "stat" + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "dtdhms" + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Critical" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Warning" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Size" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Reboot" + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null }, - "properties": [ - { - "id": "mappings", - "value": [ - { - "options": { - "0": { - "index": 0, - "text": "No" - }, - "1": { - "index": 1, - "text": "Yes" - } + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Services" + }, + "properties": [ + { + "id": "mappings", + "value": [ + { + "options": { + "1": { + "index": 0, + "text": "Stopped" }, - "type": "value" - } - ] - } - ] - } - ] + "2": { + "index": 1, + "text": "Start Pending" + }, + "3": { + "index": 2, + "text": "Stop Pending" + }, + "4": { + "index": 3, + "text": "Running" + }, + "5": { + "index": 4, + "text": "Continue Pending" + }, + "6": { + "index": 5, + "text": "Pause Pending" + }, + "7": { + "index": 6, + "text": "Paused" + } + }, + "type": "value" + } + ] + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 18 + }, + "id": 9, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "gridPos": { - "h": 7, - "w": 8, - "x": 8, - "y": 18 + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::count\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Service Count\" }))", + "refId": "Total Services" }, - "id": 6, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::running\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Running\" }))", + "refId": "Running" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::stopped\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Stopped\" }))", + "refId": "Stopped" }, - "pluginVersion": "9.0.6", - "repeatDirection": "h", - "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::paused\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Paused\" }))", + "refId": "Paused" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric =~ /^(.*?)::ifw_service::state\\b/ and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", + "refId": "Services" + } + ], + "title": "${hostname} Services", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "/::ifw_service::state/", + "renamePattern": "" + } + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [ { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"windows::ifw_uptime::uptime\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Uptime\" }))", - "refId": "Uptime" + "matcher": { + "id": "byFrameRefID", + "options": "Critical" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] }, { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n (r._field == \"warn\" or r._field == \"crit\") and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"windows::ifw_uptime::uptime\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Uptime Threshold\" }))", - "refId": "Threshold" - } - ], - "title": "${hostname} Uptime", - "transformations": [ + "matcher": { + "id": "byFrameRefID", + "options": "Warning" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, { - "id": "configFromData", - "options": { - "applyTo": { - "id": "byFrameRefID", - "options": "Uptime" - }, - "configRefId": "Threshold", - "mappings": [ - { - "fieldName": "Uptime Threshold", - "handlerKey": "threshold1" + "matcher": { + "id": "byFrameRefID", + "options": "Size" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" } - ] - } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Reboot" + }, + "properties": [ + { + "id": "mappings", + "value": [ + { + "options": { + "0": { + "color": "green", + "index": 0, + "text": "No" + }, + "1": { + "color": "red", + "index": 1, + "text": "Yes" + } + }, + "type": "value" + } + ] + } + ] } - ], - "type": "stat" + ] }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 25 + }, + "id": 4, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } + "textMode": "auto" + }, + "pluginVersion": "9.0.6", + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Services" - }, - "properties": [ - { - "id": "mappings", - "value": [ - { - "options": { - "1": { - "index": 0, - "text": "Stopped" - }, - "2": { - "index": 1, - "text": "Start Pending" - }, - "3": { - "index": 2, - "text": "Stop Pending" - }, - "4": { - "index": 3, - "text": "Running" - }, - "5": { - "index": 4, - "text": "Continue Pending" - }, - "6": { - "index": 5, - "text": "Pause Pending" - }, - "7": { - "index": 6, - "text": "Paused" - } - }, - "type": "value" - } - ] - } - ] - } - ] - }, - "gridPos": { - "h": 7, - "w": 8, - "x": 16, - "y": 18 + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_updates::count\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Total Updates\" }))", + "refId": "Total Updates" }, - "id": 9, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "text": {}, - "textMode": "auto" + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"rollups::ifw_updates::count\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Rollup\" }))", + "refId": "Rollups" }, - "pluginVersion": "9.0.6", - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::count\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Service Count\" }))", - "refId": "Total Services" + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::running\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Running\" }))", - "refId": "Running" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"defender::ifw_updates::count\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Defender\" }))", + "refId": "Defender" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::stopped\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Stopped\" }))", - "refId": "Stopped" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"security::ifw_updates::count\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Security\" }))", + "refId": "Security" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"summary::ifw_service::paused\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Paused\" }))", - "refId": "Paused" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"other::ifw_updates::count\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Other\" }))", + "refId": "Other" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric =~ /^(.*?)::ifw_service::state\\b/ and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: r.metric }))", - "refId": "Services" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n r.metric == \"reboot::ifw_updates::required\" and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Reboot Pending\" }))", + "refId": "Reboot" + } + ], + "title": "${hostname} Updates", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "/::ifw_networkinterface::packetssentsec/", + "renamePattern": " sent" } - ], - "title": "${hostname} Services", - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/::ifw_service::state/", - "renamePattern": "" - } + }, + { + "id": "renameByRegex", + "options": { + "regex": "/::ifw_networkinterface::packetsreceivedsec/", + "renamePattern": " received" + } + }, + { + "id": "renameByRegex", + "options": { + "regex": "/::ifw_networkinterface::linkspeed/", + "renamePattern": "" } - ], - "type": "stat" + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 3, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "Critical" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" } - ] - }, - "unit": "bytes" + } + ] }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Critical" - }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } + { + "matcher": { + "id": "byFrameRefID", + "options": "Warning" + }, + "properties": [ + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Warning" }, - "properties": [ - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 - ], - "fill": "dash" - } - }, - { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "fixed" - } + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" } - ] - }, - { - "matcher": { - "id": "byFrameRefID", - "options": "Maximum" + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "Maximum" + }, + "properties": [ + { + "id": "custom.drawStyle", + "value": "points" }, - "properties": [ - { - "id": "custom.drawStyle", - "value": "points" - }, - { - "id": "custom.pointSize", - "value": 2 - }, - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } + { + "id": "custom.pointSize", + "value": 2 + }, + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" } - ] - } - ] - }, - "gridPos": { - "h": 7, - "w": 8, - "x": 0, - "y": 25 - }, - "id": 10, - "maxPerRow": 4, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi", - "sort": "asc" + } + ] } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 25 + }, + "id": 10, + "maxPerRow": 4, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom" }, - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Used \" + r.metric }))", - "refId": "Value" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (\"Warning \" + r.metric) }))", - "refId": "Warning" - }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (\"Critical \" + r.metric ) }))", - "refId": "Critical" + "tooltip": { + "mode": "multi", + "sort": "asc" + } + }, + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Memory Limit\" }))", - "refId": "Maximum" + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Used \" + r.metric }))", + "refId": "Value" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^((.*?)::ifw_pagefile::used)\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Used \" + r.metric }))", - "refId": "Pagefile Value" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (\"Warning \" + r.metric) }))", + "refId": "Warning" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^((.*?)::ifw_pagefile::used\\b)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Pagefile Limit \" + r.metric }))", - "refId": "Pagefile Maximum" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: (\"Critical \" + r.metric ) }))", + "refId": "Critical" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^((.*?)::ifw_pagefile::used\\b)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Pagefile Warning \" + r.metric }))", - "refId": "Pagefile Warning" + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^(memory::ifw_memory::used)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Memory Limit\" }))", + "refId": "Maximum" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "datasource": { - "type": "influxdb", - "uid": "YnAJdFX7z" - }, - "hide": false, - "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^((.*?)::ifw_pagefile::used\\b)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Pagefile Critical \" + r.metric }))", - "refId": "Pagefile Critical" - } - ], - "title": "${hostname} Memory", - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/::ifw_memory::used/", - "renamePattern": " " - } + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"value\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^((.*?)::ifw_pagefile::used)\\b/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Used \" + r.metric }))", + "refId": "Pagefile Value" + }, + { + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" }, - { - "id": "renameByRegex", - "options": { - "regex": "/::ifw_pagefile::used/", - "renamePattern": " " - } - } - ], - "type": "timeseries" - } - ], - "refresh": false, - "schemaVersion": 36, - "style": "dark", - "tags": [], - "templating": { - "list": [ + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"max\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^((.*?)::ifw_pagefile::used\\b)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Pagefile Limit \" + r.metric }))", + "refId": "Pagefile Maximum" + }, { - "description": "The Icinga hostname to display data for", - "hide": 2, - "label": "Hostname", - "name": "hostname", - "query": "", - "skipUrlSync": false, - "type": "constant" + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"warn\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^((.*?)::ifw_pagefile::used\\b)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Pagefile Warning \" + r.metric }))", + "refId": "Pagefile Warning" }, { - "description": "The Icinga service to display data for", - "hide": 2, - "label": "Service", - "name": "service", - "query": "", - "skipUrlSync": false, - "type": "constant" + "datasource": { + "type": "influxdb", + "uid": "${influxdbdatasource}" + }, + "hide": false, + "query": "from(bucket: \"${influxbucket}\")\r\n |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\r\n |> filter(fn: (r) =>\r\n r._field == \"crit\" and\r\n r.hostname == \"${hostname}\" and\r\n (r.metric =~ /^((.*?)::ifw_pagefile::used\\b)/) and\r\n r.service == \"${service}\"\r\n )\r\n |> map(fn: (r) => ({ _value:r._value, _time:r._time, _field: \"Pagefile Critical \" + r.metric }))", + "refId": "Pagefile Critical" + } + ], + "title": "${hostname} Memory", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "/::ifw_memory::used/", + "renamePattern": " " + } }, { - "description": "Data Bucket for InfluxDB2 for Icinga monitoring data", - "hide": 2, - "label": "Icinga Data", - "name": "influxbucket", - "query": "icinga2", - "skipUrlSync": false, - "type": "constant" + "id": "renameByRegex", + "options": { + "regex": "/::ifw_pagefile::used/", + "renamePattern": " " + } } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Windows-Plugins-Web", - "uid": "QsPVl5W4z", - "version": 51, - "weekStart": "" - } \ No newline at end of file + ], + "type": "timeseries" + } + ], + "refresh": false, + "schemaVersion": 36, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + "selected": false, + "text": "InfluxDB", + "value": "InfluxDB" + }, + "description": "InfluxDB 2 DataSource for Icinga metrics", + "hide": 0, + "includeAll": false, + "label": "InfluxDB DataSource", + "multi": false, + "name": "influxdbdatasource", + "options": [], + "query": "influxdb", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "description": "Data Bucket for InfluxDB2 for Icinga monitoring data", + "hide": 2, + "label": "Icinga Data", + "name": "influxbucket", + "query": "icinga2", + "skipUrlSync": false, + "type": "constant" + }, + { + "description": "The Icinga hostname to display data for", + "hide": 2, + "label": "Hostname", + "name": "hostname", + "query": "null", + "skipUrlSync": false, + "type": "constant" + }, + { + "description": "The Icinga service to display data for", + "hide": 2, + "label": "Service", + "name": "service", + "query": "null", + "skipUrlSync": false, + "type": "constant" + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Windows-Plugins-Web", + "uid": "QsPVl5W4z", + "version": 16, + "weekStart": "" +} \ No newline at end of file diff --git a/config/grafana/icingaweb2-grafana/graphs.ini b/config/grafana/icingaweb2-grafana/graphs.ini index b4db6a7a..f3f662de 100644 --- a/config/grafana/icingaweb2-grafana/graphs.ini +++ b/config/grafana/icingaweb2-grafana/graphs.ini @@ -48,4 +48,13 @@ dashboard = "windows-plugins-web" panelId = "10" orgId = "" repeatable = "no" -dashboarduid = "QsPVl5W4z" \ No newline at end of file +dashboarduid = "QsPVl5W4z" + +[hostalive] +dashboard = "windows-plugins-web" +panelId = "12" +orgId = "" +repeatable = "no" +dashboarduid = "QsPVl5W4z" +width = "100" +height = "100" \ No newline at end of file