grafana: Add infra deployment overview

This replaces the old bridge runtime graph with a new graph that uses
the stats from I90dfb7a25cb5ab08403c89ef59ea21972cf2aae2.

Note this is the first use of a .json based graph.  This graph uses
the new "time series" panel [1].

[1] https://grafana.com/docs/grafana/latest/visualizations/time-series/

Change-Id: I8b1854a0dd7ff2c6249d02e066a8df979f85c799
This commit is contained in:
Ian Wienand 2022-03-11 11:52:33 +11:00
parent 016b793067
commit 1cf5b35fa0
2 changed files with 305 additions and 136 deletions

View File

@ -1,136 +0,0 @@
dashboard:
title: 'Bridge Runtime'
rows:
- title: Description
height: 100px
panels:
- title: Description
content: |
**This dashboard is managed by [Grafyaml](https://docs.openstack.org/infra/system-config/grafyaml.html).**
If you would like to make changes to this dashboard, please see the grafana directory in [project-config](https://opendev.org/openstack/project-config/src/grafana/bridge.yaml).
type: text
- title: run_all Runtime
showTitle: true
height: 400px
panels:
- title: "run_all.sh"
type: graph
span: 12
tooltip:
sort: 1
yaxes:
- format: ms
- show: false
nullPointMode: connected
targets:
- target: aliasSub(stats.timers.bridge.ansible.run_all.*.median, "stats.timers.bridge.ansible.run_all.(.*).median", "\1")
refId: A
- title: Individual runtimes
showTitle: true
height: 200px
panels:
- title: "afs"
type: graph
span: 3
yaxes:
- format: ms
- show: false
nullPointMode: connected
targets:
- target: aliasSub(stats.timers.bridge.ansible.run_all.afs.median, "stats.timers.bridge.ansible.run_all.(.*).median", "\1")
refId: A
- title: "base"
type: graph
span: 3
yaxes:
- format: ms
- show: false
nullPointMode: connected
targets:
- target: aliasSub(stats.timers.bridge.ansible.run_all.base.median, "stats.timers.bridge.ansible.run_all.(.*).median", "\1")
refId: A
- title: "bridge"
type: graph
span: 3
yaxes:
- format: ms
- show: false
nullPointMode: connected
targets:
- target: aliasSub(stats.timers.bridge.ansible.run_all.bridge.median, "stats.timers.bridge.ansible.run_all.(.*).median", "\1")
refId: A
- title: "else"
type: graph
span: 3
yaxes:
- format: ms
- show: false
nullPointMode: connected
targets:
- target: aliasSub(stats.timers.bridge.ansible.run_all.else.median, "stats.timers.bridge.ansible.run_all.(.*).median", "\1")
refId: A
- title: "git"
type: graph
span: 3
yaxes:
- format: ms
- show: false
nullPointMode: connected
targets:
- target: aliasSub(stats.timers.bridge.ansible.run_all.git.median, "stats.timers.bridge.ansible.run_all.(.*).median", "\1")
refId: A
- title: "total"
type: graph
span: 3
yaxes:
- format: ms
- show: false
nullPointMode: connected
targets:
- target: aliasSub(stats.timers.bridge.ansible.run_all.total.median, "stats.timers.bridge.ansible.run_all.(.*).median", "\1")
refId: A
- title: "update_puppet_version"
type: graph
span: 3
yaxes:
- format: ms
- show: false
nullPointMode: connected
targets:
- target: aliasSub(stats.timers.bridge.ansible.run_all.update_puppet_version.median, "stats.timers.bridge.ansible.run_all.(.*).median", "\1")
refId: A
- title: "update_system_config"
type: graph
span: 3
yaxes:
- format: ms
- show: false
nullPointMode: connected
targets:
- target: aliasSub(stats.timers.bridge.ansible.run_all.update_system_config.median, "stats.timers.bridge.ansible.run_all.(.*).median", "\1")
refId: A
- title: Cloud launcher runtime
showTitle: true
height: 400px
panels:
- title: "run_cloud_launcher.sh"
type: graph
span: 12
yaxes:
- format: ms
- show: false
nullPointMode: connected
targets:
- target: alias(stats.timers.bridge.ansible.run_cloud_launcher.median, "run_cloud_launcher.sh")
refId: A

View File

@ -0,0 +1,305 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- 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": 40,
"iteration": 1656560548340,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"title": "Description",
"type": "row"
},
{
"editable": true,
"error": false,
"gridPos": {
"h": 4,
"w": 10,
"x": 7,
"y": 1
},
"id": 1,
"options": {
"content": "# OpenDev Production Deployment Overview\n\nIf you would like to make changes to this dashboard, please see the grafana directory in [project-config](https://opendev.org/openstack/project-config/src/grafana/bridge.yaml).\n",
"mode": "markdown"
},
"pluginVersion": "8.3.4",
"title": "Description",
"type": "text"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 5
},
"id": 63,
"panels": [],
"title": "Runtime",
"type": "row"
},
{
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineStyle": {
"fill": "solid"
},
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "always",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "ms"
},
"overrides": []
},
"gridPos": {
"h": 13,
"w": 24,
"x": 0,
"y": 6
},
"id": 6,
"links": [
{
"targetBlank": true,
"title": "Build Results",
"url": "https://zuul.opendev.org/t/openstack/builds?job_name=${bridge_job_runtimes}"
}
],
"options": {
"legend": {
"calcs": [],
"displayMode": "table",
"placement": "right"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "graphite",
"uid": "d9c17c45a8"
},
"refId": "A",
"target": "aliasByNode(stats.timers.bridge.ansible.*.runtime.mean, 4)"
}
],
"title": "Job Runtime",
"type": "timeseries"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 19
},
"id": 28,
"panels": [],
"title": "Job Status Overview",
"type": "row"
},
{
"description": "Job Status",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [
{
"options": {
"0": {
"color": "green",
"index": 0,
"text": "OK"
}
},
"type": "value"
},
{
"options": {
"from": 1,
"result": {
"color": "red",
"index": 1,
"text": "FAILED"
},
"to": 255
},
"type": "range"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 3,
"w": 4,
"x": 0,
"y": 20
},
"id": 8,
"links": [
{
"targetBlank": true,
"title": "Zuul Build Status",
"url": "https://zuul.opendev.org/t/openstack/builds?job_name=${bridge_job_runtimes}"
}
],
"maxPerRow": 6,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "8.3.4",
"repeat": "bridge_job_runtimes",
"repeatDirection": "h",
"targets": [
{
"datasource": {
"type": "graphite",
"uid": "d9c17c45a8"
},
"refId": "A",
"target": "stats.gauges.bridge.ansible.$bridge_job_runtimes.rc"
}
],
"title": "$bridge_job_runtimes",
"type": "stat"
}
],
"refresh": "",
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"definition": "stats.timers.bridge.ansible.*",
"description": "Production Deployment Job",
"hide": 0,
"includeAll": true,
"multi": false,
"name": "bridge_job_runtimes",
"options": [],
"query": "stats.timers.bridge.ansible.*",
"refresh": 1,
"regex": "(?<value>.*)",
"skipUrlSync": false,
"sort": 0,
"type": "query"
}
]
},
"time": {
"from": "now-12h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "OpenDev Infra Deployment overview",
"uid": "a0241a42c4",
"version": 3,
"weekStart": ""
}