This is an automated email from the ASF dual-hosted git repository.
wuzhiguo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/bigtop-manager.git
The following commit(s) were added to refs/heads/main by this push:
new 436cd801 BIGTOP-4325: Add the dashboard of the host to Grafana (#147)
436cd801 is described below
commit 436cd8015877d550715d9ed39b657c33d3904e23
Author: haopeng <[email protected]>
AuthorDate: Thu Jan 16 21:52:16 2025 +0800
BIGTOP-4325: Add the dashboard of the host to Grafana (#147)
---
.../grafana/configuration/grafana-dashboard.xml | 1036 +++++++++++++++++++-
.../stack/infra/v1_0_0/grafana/GrafanaParams.java | 34 +-
.../stack/infra/v1_0_0/grafana/GrafanaSetup.java | 2 +-
3 files changed, 1042 insertions(+), 30 deletions(-)
diff --git
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/grafana/configuration/grafana-dashboard.xml
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/grafana/configuration/grafana-dashboard.xml
index 3a835c59..2a50b52d 100644
---
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/grafana/configuration/grafana-dashboard.xml
+++
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/grafana/configuration/grafana-dashboard.xml
@@ -41,8 +41,8 @@ providers:
</attrs>
</property>
<property>
- <name>bm_agent_dashboard</name>
- <description>This is the dashboard configuration file for BM
agent</description>
+ <name>bm_agent_cluster_dashboard</name>
+ <description>This is the dashboard configuration file for BM agent
cluster</description>
<value><![CDATA[
{
"annotations": {
@@ -89,7 +89,7 @@ providers:
{
"datasource": {
"type": "prometheus",
- "uid": "${datasource}"
+ "uid": "uid4prometheus"
},
"fieldConfig": {
"defaults": {
@@ -156,7 +156,7 @@ providers:
},
"editorMode": "code",
"exemplar": true,
- "expr": "sum(\n agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\",
cluster=\"$cluster\"}\n) / count(\n count by (instance) (\n
agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\", cluster=\"$cluster\"}\n )\n)",
+ "expr": "sum(\n agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n) / count(\n count by
(instance) (\n agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n )\n)",
"interval": "",
"legendFormat": "CPU Usage",
"range": true,
@@ -169,7 +169,7 @@ providers:
{
"datasource": {
"type": "prometheus",
- "uid": "${datasource}"
+ "uid": "uid4prometheus"
},
"fieldConfig": {
"defaults": {
@@ -265,7 +265,7 @@ providers:
"disableTextWrap": false,
"editorMode": "code",
"exemplar": true,
- "expr": "sum(\n agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\",
cluster=\"$cluster\"}\n) / count(\n count by (instance) (\n
agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\", cluster=\"$cluster\"}\n )\n)",
+ "expr": "sum(\n agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n) / count(\n count by
(instance) (\n agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n )\n)",
"fullMetaSearch": false,
"includeNullMetadata": true,
"interval": "$resolution",
@@ -281,7 +281,7 @@ providers:
{
"datasource": {
"type": "prometheus",
- "uid": "${datasource}"
+ "uid": "uid4prometheus"
},
"fieldConfig": {
"defaults": {
@@ -334,7 +334,7 @@ providers:
},
"editorMode": "code",
"exemplar": true,
- "expr": "sum(\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_1\",
cluster=\"$cluster\"}\n) / count(\n count by (instance) (\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_1\", cluster=\"$cluster\"}\n
)\n)",
+ "expr": "sum(\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_1\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n) / count(\n count by
(instance) (\n agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_1\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n )\n)",
"interval": "",
"legendFormat": "Min_1",
"range": true,
@@ -347,7 +347,7 @@ providers:
},
"editorMode": "code",
"exemplar": true,
- "expr": "sum(\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_5\",
cluster=\"$cluster\"}\n) / count(\n count by (instance) (\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_5\", cluster=\"$cluster\"}\n
)\n)",
+ "expr": "sum(\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_5\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n) / count(\n count by
(instance) (\n agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_5\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n )\n)",
"interval": "",
"legendFormat": "Min_5",
"range": true,
@@ -360,7 +360,7 @@ providers:
},
"editorMode": "code",
"exemplar": true,
- "expr": "sum(\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_15\",
cluster=\"$cluster\"}\n) / count(\n count by (instance) (\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_15\",
cluster=\"$cluster\"}\n )\n)",
+ "expr": "sum(\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_15\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n) / count(\n count by
(instance) (\n agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_15\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n )\n)",
"interval": "",
"legendFormat": "Min_15",
"range": true,
@@ -451,11 +451,11 @@ providers:
{
"datasource": {
"type": "prometheus",
- "uid": "${datasource}"
+ "uid": "uid4prometheus"
},
"editorMode": "code",
"exemplar": true,
- "expr": "(sum(\n agent_host_monitoring_mem{memUsage=\"memIdle\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n) / sum(\n
agent_host_monitoring_mem{memUsage=\"memTotal\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n)) /\ncount(\n count by
(instance) (\n agent_host_monitoring_mem{memUsage=\"memTotal\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n )\n)",
+ "expr": "(sum(\n agent_host_monitoring_mem{memUsage=\"memIdle\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n) / sum(\n
agent_host_monitoring_mem{memUsage=\"memTotal\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n)) /\ncount(\n count
by (instance) (\n agent_host_monitoring_mem{memUsage=\"memTotal\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n )\n)",
"interval": "",
"legendFormat": "Real",
"range": true,
@@ -559,11 +559,11 @@ providers:
{
"datasource": {
"type": "prometheus",
- "uid": "${datasource}"
+ "uid": "uid4prometheus"
},
"editorMode": "code",
"exemplar": true,
- "expr": "(sum(\n agent_host_monitoring_mem{memUsage=\"memIdle\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n) / sum(\n
agent_host_monitoring_mem{memUsage=\"memTotal\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n)) /\ncount(\n count by
(instance) (\n agent_host_monitoring_mem{memUsage=\"memTotal\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n )\n)",
+ "expr": "(sum(\n agent_host_monitoring_mem{memUsage=\"memIdle\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n) / sum(\n
agent_host_monitoring_mem{memUsage=\"memTotal\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n)) /\ncount(\n count
by (instance) (\n agent_host_monitoring_mem{memUsage=\"memTotal\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n )\n)",
"interval": "$resolution",
"legendFormat": "Memory usage in %",
"range": true,
@@ -625,11 +625,11 @@ providers:
{
"datasource": {
"type": "prometheus",
- "uid": "${datasource}"
+ "uid": "uid4prometheus"
},
"editorMode": "code",
"exemplar": true,
- "expr": "(sum(\n agent_host_monitoring_mem{memUsage=\"memIdle\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n) / sum(\n
agent_host_monitoring_mem{memUsage=\"memTotal\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n)) /\ncount(\n count by
(instance) (\n agent_host_monitoring_mem{memUsage=\"memTotal\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n )\n)",
+ "expr": "(sum(\n agent_host_monitoring_mem{memUsage=\"memIdle\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n) / sum(\n
agent_host_monitoring_mem{memUsage=\"memTotal\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n)) /\ncount(\n count
by (instance) (\n agent_host_monitoring_mem{memUsage=\"memTotal\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n )\n)",
"interval": "",
"legendFormat": "Real",
"range": true,
@@ -655,7 +655,7 @@ providers:
{
"datasource": {
"type": "prometheus",
- "uid": "${datasource}"
+ "uid": "uid4prometheus"
},
"fieldConfig": {
"defaults": {
@@ -713,7 +713,7 @@ providers:
"disableTextWrap": false,
"editorMode": "code",
"exemplar": false,
- "expr": "(sum(\n
agent_host_monitoring_disk{diskUsage=\"diskFreeSpace\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n) / sum(\n
agent_host_monitoring_disk{diskUsage=\"diskTotalSpace\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n)) /\ncount(\n count by
(instance) (\n agent_host_monitoring_disk{diskUsage=\"diskFreeSpace\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n )\n)",
+ "expr": "(sum(\n
agent_host_monitoring_disk{diskUsage=\"diskFreeSpace\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n) / sum(\n
agent_host_monitoring_disk{diskUsage=\"diskTotalSpace\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n)) /\ncount(\n count
by (instance) (\n agent_host_monitoring_disk{diskUsage=\"diskFreeSpace\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n )\n)",
"fullMetaSearch": false,
"includeNullMetadata": true,
"instant": false,
@@ -730,7 +730,7 @@ providers:
{
"datasource": {
"type": "prometheus",
- "uid": "${datasource}"
+ "uid": "uid4prometheus"
},
"fieldConfig": {
"defaults": {
@@ -818,7 +818,7 @@ providers:
"disableTextWrap": false,
"editorMode": "code",
"exemplar": false,
- "expr": "(sum(\n
agent_host_monitoring_disk{diskUsage=\"diskFreeSpace\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n) / sum(\n
agent_host_monitoring_disk{diskUsage=\"diskTotalSpace\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n)) /\ncount(\n count by
(instance) (\n agent_host_monitoring_disk{diskUsage=\"diskFreeSpace\",
<#noparse>cluster=~\"${cluster}\"</#noparse>}\n )\n)",
+ "expr": "(sum(\n
agent_host_monitoring_disk{diskUsage=\"diskFreeSpace\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n) / sum(\n
agent_host_monitoring_disk{diskUsage=\"diskTotalSpace\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n)) /\ncount(\n count
by (instance) (\n agent_host_monitoring_disk{diskUsage=\"diskFreeSpace\",
${cluster_label}<#noparse>=~\"${cluster}\"</#noparse>}\n )\n)",
"fullMetaSearch": false,
"includeNullMetadata": true,
"instant": false,
@@ -928,4 +928,1000 @@ providers:
<type>longtext</type>
</attrs>
</property>
+ <property>
+ <name>bm_agent_host_dashboard</name>
+ <description>This is the dashboard configuration file for BM agent
host</description>
+ <value><![CDATA[
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "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": 1,
+ "id": 3,
+ "links": [],
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 67,
+ "panels": [],
+ "title": "CPU",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-GrYlRd"
+ },
+ "mappings": [],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "id": 77,
+ "options": {
+ "displayMode": "lcd",
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "maxVizHeight": 300,
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "namePlacement": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "sizing": "auto",
+ "valueMode": "color"
+ },
+ "pluginVersion": "11.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "sum(\n agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n) /
count(\n count by (instance) (\n
agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n
)\n)",
+ "interval": "",
+ "legendFormat": "CPU Usage",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "CPU Usage",
+ "type": "bargauge"
+ },
+ {
+ "id": 88,
+ "type": "stat",
+ "title": "CPU Core",
+ "gridPos": {
+ "x": 12,
+ "y": 1,
+ "h": 3,
+ "w": 12
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": null
+ }
+ ]
+ },
+ "noValue": "0",
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "pluginVersion": "11.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "disableTextWrap": false,
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "max by (value) (\n label_replace(\n
agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>},\n
\"value\", \"$1\", \"physical_cores\", \"(.*)\"\n )\n)",
+ "fullMetaSearch": false,
+ "hide": false,
+ "includeNullMetadata": true,
+ "interval": "",
+ "legendFormat": "Physical: {{value}}",
+ "range": true,
+ "refId": "B",
+ "useBackend": false,
+ "format": "time_series"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "disableTextWrap": false,
+ "editorMode": "builder",
+ "exemplar": true,
+ "expr": "max by (value) (\n label_replace(\n
agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>},\n
\"value\", \"$1\", \"logical_cores\", \"(.*)\"\n )\n)",
+ "fullMetaSearch": false,
+ "hide": false,
+ "includeNullMetadata": true,
+ "interval": "",
+ "legendFormat": "Logical: {{value}}",
+ "range": true,
+ "refId": "C",
+ "useBackend": false,
+ "format": "time_series"
+ }
+ ],
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "options": {
+ "reduceOptions": {
+ "values": false,
+ "calcs": [
+ "min"
+ ],
+ "fields": ""
+ },
+ "orientation": "auto",
+ "textMode": "name",
+ "wideLayout": true,
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "showPercentChange": false,
+ "percentChangeColorMode": "standard",
+ "text": {}
+ }
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-GrYlRd",
+ "seriesBy": "last"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "CPU %",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "barWidthFactor": 0.6,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "scheme",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 0.5
+ },
+ {
+ "color": "red",
+ "value": 0.7
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 4
+ },
+ "id": 72,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "hidden",
+ "placement": "right",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "11.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "disableTextWrap": false,
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "sum(\n agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n) /
count(\n count by (instance) (\n
agent_host_monitoring_cpu{cpuUsage=\"cpuUsage\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n
)\n)",
+ "fullMetaSearch": false,
+ "includeNullMetadata": true,
+ "interval": "$resolution",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A",
+ "useBackend": false
+ }
+ ],
+ "title": "CPU Utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [],
+ "noValue": "0",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 37,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "percentChangeColorMode": "standard",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": {},
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "11.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "sum(\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_1\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n) /
count(\n count by (instance) (\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_1\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n
)\n)",
+ "interval": "",
+ "legendFormat": "Min_1",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "sum(\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_5\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n) /
count(\n count by (instance) (\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_5\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n
)\n)",
+ "interval": "",
+ "legendFormat": "Min_5",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "sum(\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_15\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n) /
count(\n count by (instance) (\n
agent_host_monitoring_cpu{cpuUsage=\"cpuLoadAvgMin_15\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n
)\n)",
+ "interval": "",
+ "legendFormat": "Min_15",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "CPU LoadAvg",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 79,
+ "panels": [],
+ "title": "Memory",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-GrYlRd"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 78,
+ "options": {
+ "displayMode": "lcd",
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "maxVizHeight": 300,
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "namePlacement": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "sizing": "auto",
+ "text": {},
+ "valueMode": "color"
+ },
+ "pluginVersion": "11.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": ""
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "(sum(\n agent_host_monitoring_mem{memUsage=\"memIdle\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n) /
sum(\n agent_host_monitoring_mem{memUsage=\"memTotal\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n))
/\ncount(\n count by (instance) (\n
agent_host_monitoring_mem{memUsage=\"memTotal\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n
)\n)",
+ "interval": "",
+ "legendFormat": "Real",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "RAM Usage",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-GrYlRd"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "MEMORY",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "barWidthFactor": 0.6,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "scheme",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.5
+ },
+ {
+ "color": "red",
+ "value": 0.7
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 55,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "hidden",
+ "placement": "right",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "11.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": ""
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "(sum(\n agent_host_monitoring_mem{memUsage=\"memIdle\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n) /
sum(\n agent_host_monitoring_mem{memUsage=\"memTotal\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n))
/\ncount(\n count by (instance) (\n
agent_host_monitoring_mem{memUsage=\"memTotal\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n
)\n)",
+ "interval": "$resolution",
+ "legendFormat": "Memory usage in %",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [],
+ "noValue": "0",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "id": 39,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "percentChangeColorMode": "standard",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": {},
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "11.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": ""
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "(sum(\n agent_host_monitoring_mem{memUsage=\"memIdle\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n) /
sum(\n agent_host_monitoring_mem{memUsage=\"memTotal\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n))
/\ncount(\n count by (instance) (\n
agent_host_monitoring_mem{memUsage=\"memTotal\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n
)\n)",
+ "interval": "",
+ "legendFormat": "Real",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "RAM Usage",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 81,
+ "panels": [],
+ "title": "Storage",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 23
+ },
+ "id": 87,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "sizing": "auto"
+ },
+ "pluginVersion": "11.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "disableTextWrap": false,
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "(sum(\n
agent_host_monitoring_disk{diskUsage=\"diskFreeSpace\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n) /
sum(\n agent_host_monitoring_disk{diskUsage=\"diskTotalSpace\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n))
/\ncount(\n count by (instance) (\n
agent_host_monitoring_disk{diskUsage=\"diskFreeSpace\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n
)\n)",
+ "fullMetaSearch": false,
+ "includeNullMetadata": true,
+ "instant": false,
+ "interval": "$resolution",
+ "legendFormat": "{{label_name}}",
+ "range": true,
+ "refId": "A",
+ "useBackend": false
+ }
+ ],
+ "title": "Persistent Volumes - Usage in %",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "barWidthFactor": 0.6,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 23
+ },
+ "id": 82,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "11.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "disableTextWrap": false,
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "(sum(\n
agent_host_monitoring_disk{diskUsage=\"diskFreeSpace\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n) /
sum(\n agent_host_monitoring_disk{diskUsage=\"diskTotalSpace\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n))
/\ncount(\n count by (instance) (\n
agent_host_monitoring_disk{diskUsage=\"diskFreeSpace\",
${cluster_label}<#noparse>=~\"$cluster\", hostname=~\"$host\"</#noparse>}\n
)\n)",
+ "fullMetaSearch": false,
+ "includeNullMetadata": true,
+ "instant": false,
+ "interval": "$resolution",
+ "legendFormat": "{{label_name}}",
+ "range": true,
+ "refId": "A",
+ "useBackend": false
+ }
+ ],
+ "title": "Persistent Volumes - Usage in %",
+ "type": "timeseries"
+ }
+ ],
+ "preload": false,
+ "refresh": "30s",
+ "schemaVersion": 40,
+ "tags": [],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "text": "prometheus",
+ "value": "uid4prometheus"
+ },
+ "includeAll": false,
+ "label": "Datasource",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "text": "${default_cluster_name}",
+ "value": "${default_cluster_name}"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "uid4prometheus"
+ },
+ "includeAll": false,
+ "label": "Cluster",
+ "name": "${cluster_label}",
+ "options": [],
+ "query": "label_values(${cluster_label})",
+ "refresh": 2,
+ "type": "query"
+ },
+ {
+ "current": {
+ "text": "${default_host_name}",
+ "value": "${default_host_name}"
+ },
+ "definition":
"label_values({${cluster_label}<#noparse>=~\"$cluster\"</#noparse>},hostname)",
+ "label": "Host",
+ "name": "host",
+ "options": [],
+ "query": {
+ "qryType": 1,
+ "query":
"label_values({${cluster_label}<#noparse>=~\"$cluster\"</#noparse>},hostname)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "type": "query"
+ },
+ {
+ "current": {
+ "text": "1m",
+ "value": "1m"
+ },
+ "includeAll": false,
+ "label": "Resolution",
+ "name": "resolution",
+ "options": [
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "selected": true,
+ "text": "1m",
+ "value": "1m"
+ },
+ {
+ "selected": false,
+ "text": "3m",
+ "value": "3m"
+ },
+ {
+ "selected": false,
+ "text": "5m",
+ "value": "5m"
+ }
+ ],
+ "query": "1s, 5s, 1m, 3m, 5m",
+ "type": "custom"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "${dashboard_name}",
+ "uid": "dbuid_${dashboard_name}",
+ "version": 19,
+ "weekStart": ""
+}
+ ]]>
+ </value>
+ <attrs>
+ <type>longtext</type>
+ </attrs>
+ </property>
</configuration>
\ No newline at end of file
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaParams.java
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaParams.java
index dfe03fc9..a4a4cdc9 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaParams.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaParams.java
@@ -45,7 +45,8 @@ public class GrafanaParams extends InfraParams {
private String grafanaContent;
private String grafanaDashboardContent;
private String prometheusDashboardPath;
- private String bmAgentDashboardConfig;
+ private String bmAgentClusterDashboardConfig;
+ private String bmAgentHostDashboardConfig;
private String grafanaPort;
private String grafanaLogLevel;
private String dataSourceContent;
@@ -124,7 +125,8 @@ public class GrafanaParams extends InfraParams {
public Map<String, Object> dashboards() {
Map<String, Object> configuration =
LocalSettings.configurations(getServiceName(), "grafana-dashboard");
grafanaDashboardContent = (String) configuration.get("content");
- bmAgentDashboardConfig = (String)
configuration.get("bm_agent_dashboard");
+ bmAgentClusterDashboardConfig = (String)
configuration.get("bm_agent_cluster_dashboard");
+ bmAgentHostDashboardConfig = (String)
configuration.get("bm_agent_host_dashboard");
prometheusDashboardPath = MessageFormat.format("{0}/prometheus",
dashboardsDir());
return configuration;
}
@@ -141,7 +143,6 @@ public class GrafanaParams extends InfraParams {
return new ArrayList<>(getClusterHosts().keySet());
}
- // TODO: add host dashboard
public void setDashboards() {
dashboards = new ArrayList<>();
@@ -151,15 +152,30 @@ public class GrafanaParams extends InfraParams {
clusterDashboard.put("path", dashboardConfigDir("Cluster"));
// Used for dashboard json configuration
- List<String> clusters = getClusters();
- if (clusters != null && !clusters.isEmpty()) {
- clusterDashboard.put("default_cluster_name", getClusters().get(0));
- } else {
- clusterDashboard.put("default_cluster_name", "");
- }
clusterDashboard.put("cluster_label",
PrometheusParams.AGENT_TARGET_LABEL);
clusterDashboard.put("dashboard_name", "Cluster");
+ clusterDashboard.put("dashboard_config_content",
bmAgentClusterDashboardConfig);
+
+ Map<String, Object> hostDashboard = new HashMap<>();
+ hostDashboard.put("name", "Host");
+ hostDashboard.put("path", dashboardConfigDir("Host"));
+
+ hostDashboard.put("cluster_label",
PrometheusParams.AGENT_TARGET_LABEL);
+ hostDashboard.put("dashboard_name", "Host");
+ hostDashboard.put("dashboard_config_content",
bmAgentHostDashboardConfig);
+
+ Map<String, List<String>> clusterHost = getClusterHosts();
+ if (clusterHost != null && !clusterHost.isEmpty()) {
+ String defaultCluster = clusterHost.keySet().iterator().next();
+ String defaultHost = clusterHost.get(defaultCluster).isEmpty()
+ ? ""
+ : clusterHost.get(defaultCluster).get(0);
+ clusterDashboard.put("default_cluster_name", defaultCluster);
+ hostDashboard.put("default_cluster_name", defaultCluster);
+ hostDashboard.put("default_host_name", defaultHost);
+ }
dashboards.add(clusterDashboard);
+ dashboards.add(hostDashboard);
}
}
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaSetup.java
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaSetup.java
index 6f9ab66e..8170e140 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaSetup.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaSetup.java
@@ -77,7 +77,7 @@ public class GrafanaSetup {
LinuxFileUtils.createDirectories(confPath, user, group,
Constants.PERMISSION_755, true);
LinuxFileUtils.toFileByTemplate(
- grafanaParams.getBmAgentDashboardConfig(),
+ (String) dashboard.get("dashboard_config_content"),
MessageFormat.format("{0}/{1}.json", confPath,
dashboard.get("name")),
user,
group,