HDDS-914. Add Grafana support to ozoneperf docker container. Contributed by Dinesh Chitlangia.

This commit is contained in:
Bharat Viswanadham 2018-12-18 09:59:13 -08:00
parent b51e9e4317
commit 99b5061265
9 changed files with 2310 additions and 6 deletions

View File

@ -0,0 +1,20 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
[auth.anonymous]
enabled=true
org_role=Editor

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,875 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"iteration": 1544554371864,
"links": [],
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 69,
"panels": [],
"repeat": "servername",
"scopedVars": {
"servername": {
"selected": true,
"text": "OzoneManagerService",
"value": "OzoneManagerService"
}
},
"title": "RPC Queue Time Summary - [[servername]]",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"fill": 1,
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 1
},
"id": 47,
"legend": {
"alignAsTable": false,
"avg": false,
"current": false,
"max": false,
"min": false,
"rightSide": false,
"show": false,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"scopedVars": {
"servername": {
"selected": true,
"text": "OzoneManagerService",
"value": "OzoneManagerService"
}
},
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": true,
"targets": [
{
"expr": "rpc_rpc_queue_time_avg_time{servername=~\"$servername\"}",
"format": "time_series",
"instant": false,
"intervalFactor": 1,
"legendFormat": "",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Avg Queue Time",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"transparent": true,
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"fill": 1,
"gridPos": {
"h": 9,
"w": 12,
"x": 12,
"y": 1
},
"id": 48,
"legend": {
"alignAsTable": false,
"avg": false,
"current": false,
"max": false,
"min": false,
"rightSide": false,
"show": false,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"scopedVars": {
"servername": {
"selected": true,
"text": "OzoneManagerService",
"value": "OzoneManagerService"
}
},
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": true,
"targets": [
{
"expr": "rpc_rpc_queue_time_num_ops{servername=~\"$servername\"}",
"format": "time_series",
"instant": false,
"intervalFactor": 1,
"legendFormat": "",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Number of Ops",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"transparent": true,
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 10
},
"id": 39,
"panels": [],
"repeat": null,
"title": "RPC Call Queue Length",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"fill": 1,
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 11
},
"id": 29,
"legend": {
"avg": false,
"current": true,
"max": false,
"min": false,
"show": true,
"total": true,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"repeat": "servername",
"repeatDirection": "h",
"scopedVars": {
"servername": {
"selected": true,
"text": "OzoneManagerService",
"value": "OzoneManagerService"
}
},
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "rpc_call_queue_length{servername=~\"$servername\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "$servername",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 20
},
"id": 37,
"panels": [],
"repeat": "window",
"scopedVars": {
"window": {
"selected": true,
"text": "60",
"value": "60"
}
},
"title": "RPC Deferred Processing Time [[window]]s window",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"decimals": null,
"fill": 1,
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 21
},
"id": 35,
"legend": {
"alignAsTable": false,
"avg": true,
"current": false,
"hideEmpty": true,
"hideZero": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": true,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"repeat": "servername",
"repeatDirection": "v",
"scopedVars": {
"servername": {
"selected": true,
"text": "OzoneManagerService",
"value": "OzoneManagerService"
},
"window": {
"selected": true,
"text": "60",
"value": "60"
}
},
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "avg(rpc_deferred_rpc_processing_time[[window]]s50th_percentile_latency{servername=~\"$servername\"})",
"format": "time_series",
"instant": false,
"intervalFactor": 1,
"refId": "A"
},
{
"expr": "avg(rpc_deferred_rpc_processing_time[[window]]s75th_percentile_latency{servername=~\"$servername\"})",
"format": "time_series",
"intervalFactor": 1,
"refId": "B"
},
{
"expr": "avg(rpc_deferred_rpc_processing_time[[window]]s90th_percentile_latency{servername=~\"$servername\"})",
"format": "time_series",
"intervalFactor": 1,
"refId": "C"
},
{
"expr": "avg(rpc_deferred_rpc_processing_time[[window]]s99th_percentile_latency{servername=~\"$servername\"})",
"format": "time_series",
"intervalFactor": 1,
"refId": "D"
}
],
"thresholds": [],
"timeFrom": "1h",
"timeRegions": [],
"timeShift": "1h",
"title": "$servername",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"transparent": true,
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "none",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": true,
"alignLevel": null
}
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 29
},
"id": 34,
"panels": [],
"repeat": "window",
"scopedVars": {
"window": {
"selected": true,
"text": "60",
"value": "60"
}
},
"title": "RPC Queue Time [[window]]s window",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"decimals": null,
"fill": 1,
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 30
},
"id": 32,
"legend": {
"alignAsTable": false,
"avg": true,
"current": false,
"hideEmpty": true,
"hideZero": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": true,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"repeat": "servername",
"repeatDirection": "v",
"scopedVars": {
"servername": {
"selected": true,
"text": "OzoneManagerService",
"value": "OzoneManagerService"
},
"window": {
"selected": true,
"text": "60",
"value": "60"
}
},
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "avg(rpc_rpc_queue_time[[window]]s50th_percentile_latency{servername=~\"$servername\"})",
"format": "time_series",
"instant": false,
"intervalFactor": 1,
"refId": "A"
},
{
"expr": "avg(rpc_rpc_queue_time[[window]]s75th_percentile_latency{servername=~\"$servername\"})",
"format": "time_series",
"intervalFactor": 1,
"refId": "B"
},
{
"expr": "avg(rpc_rpc_queue_time[[window]]s90th_percentile_latency{servername=~\"$servername\"})",
"format": "time_series",
"intervalFactor": 1,
"refId": "C"
},
{
"expr": "avg(rpc_rpc_queue_time[[window]]s99th_percentile_latency{servername=~\"$servername\"})",
"format": "time_series",
"intervalFactor": 1,
"refId": "D"
}
],
"thresholds": [],
"timeFrom": "1h",
"timeRegions": [],
"timeShift": "1h",
"title": "$servername",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"transparent": false,
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "none",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": true,
"alignLevel": null
}
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 38
},
"id": 14,
"panels": [],
"repeat": "window",
"scopedVars": {
"window": {
"selected": true,
"text": "60",
"value": "60"
}
},
"title": "RPC Processing Time [[window]]s window",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"decimals": null,
"fill": 1,
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 39
},
"id": 24,
"legend": {
"alignAsTable": false,
"avg": true,
"current": false,
"hideEmpty": true,
"hideZero": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": true,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"repeat": "servername",
"repeatDirection": "v",
"scopedVars": {
"servername": {
"selected": true,
"text": "OzoneManagerService",
"value": "OzoneManagerService"
},
"window": {
"selected": true,
"text": "60",
"value": "60"
}
},
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "avg(rpc_rpc_processing_time[[window]]s50th_percentile_latency{servername=~\"$servername\"})",
"format": "time_series",
"instant": false,
"intervalFactor": 1,
"refId": "A"
},
{
"expr": "avg(rpc_rpc_processing_time[[window]]s75th_percentile_latency{servername=~\"$servername\"})",
"format": "time_series",
"intervalFactor": 1,
"refId": "B"
},
{
"expr": "avg(rpc_rpc_processing_time[[window]]s90th_percentile_latency{servername=~\"$servername\"})",
"format": "time_series",
"intervalFactor": 1,
"refId": "C"
},
{
"expr": "avg(rpc_rpc_processing_time[[window]]s99th_percentile_latency{servername=~\"$servername\"})",
"format": "time_series",
"intervalFactor": 1,
"refId": "D"
}
],
"thresholds": [],
"timeFrom": "1h",
"timeRegions": [],
"timeShift": "1h",
"title": "$servername",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"transparent": true,
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "none",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": true,
"alignLevel": null
}
}
],
"refresh": false,
"schemaVersion": 16,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"allValue": "All",
"current": {
"text": "OzoneManagerService",
"value": [
"OzoneManagerService"
]
},
"datasource": "Prometheus",
"definition": "label_values(servername)",
"hide": 0,
"includeAll": true,
"label": "servername",
"multi": true,
"name": "servername",
"options": [],
"query": "label_values(servername)",
"refresh": 2,
"regex": "",
"skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": "All",
"current": {
"tags": [],
"text": "60",
"value": [
"60"
]
},
"hide": 0,
"includeAll": true,
"label": null,
"multi": true,
"name": "window",
"options": [
{
"selected": false,
"text": "All",
"value": "$__all"
},
{
"selected": true,
"text": "60",
"value": "60"
},
{
"selected": false,
"text": "300",
"value": "300"
}
],
"query": "60,300",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now/d",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "",
"title": "Ozone - RPC Metrics",
"uid": "yDSkL0Pmk",
"version": 1
}

View File

@ -0,0 +1,22 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: 'default'
org_id: 1
folder: ''
type: 'file'
options:
folder: '/var/lib/grafana/dashboards'

View File

@ -0,0 +1,25 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
datasources:
- name: 'Prometheus'
type: 'prometheus'
access: 'proxy'
org_id: 1
url: 'http://prometheus:9090'
is_default: true
version: 1
editable: true

View File

@ -34,11 +34,19 @@ Note: The freon test will be started after 30 seconds.
## How to use
You can check the ozone web ui-s:
You can check the ozone web ui:
https://localhost:9874
https://localhost:9876
OzoneManager: https://localhost:9874
SCM: https://localhost:9876
You can check the ozone metrics from the prometheus we ui.
You can check the ozone metrics from the prometheus web ui.
http://localhost:9090/graph
You can view Grafana dashboards at:
http://localhost:3000
Default dashboards available are:
Ozone - Object Metrics
Ozone - RPC Metrics

View File

@ -50,7 +50,7 @@ services:
prometheus:
image: prom/prometheus
volumes:
- "./prometheus.yml:/etc/prometheus.yml"
- "../common/prometheus/prometheus.yml:/etc/prometheus.yml"
command: ["--config.file","/etc/prometheus.yml"]
ports:
- 9090:9090
@ -63,3 +63,12 @@ services:
env_file:
- ./docker-config
command: ["ozone","freon","rk"]
grafana:
image: grafana/grafana
volumes:
- "../common/grafana/dashboards:/var/lib/grafana/dashboards"
- "../common/grafana/provisioning:/etc/grafana/provisioning"
- "../common/grafana/conf/grafana.ini:/etc/grafana/grafana.ini"
command: ["-config","/etc/grafana/grafana.ini"]
ports:
- 3000:3000

View File

@ -23,11 +23,12 @@ OZONE-SITE.XML_ozone.scm.block.client.address=scm
OZONE-SITE.XML_ozone.metadata.dirs=/data/metadata
OZONE-SITE.XML_ozone.scm.client.address=scm
OZONE-SITE.XML_hdds.datanode.dir=/data/hdds
OZONE-SITE.XML_ozone.replication=1
OZONE-SITE.XML_hdds.prometheus.endpoint.enabled=true
HDFS-SITE.XML_rpc.metrics.quantile.enable=true
HDFS-SITE.XML_rpc.metrics.percentiles.intervals=60,300
OZONE-SITE.XML_ozone.replication=1
LOG4J.PROPERTIES_log4j.rootLogger=INFO, stdout
LOG4J.PROPERTIES_log4j.appender.stdout=org.apache.log4j.ConsoleAppender
LOG4J.PROPERTIES_log4j.appender.stdout.layout=org.apache.log4j.PatternLayout