Add RackSpace Flex Nodepool dashboard in Grafana
We're starting to increase utilization in this provider, so it'll be useful to have easier ways to monitor things there. Change-Id: I58d6b301c314c95b3e1a7abd0d4404a42f3e7e86
This commit is contained in:
parent
4398ebb1cc
commit
8e7b15905b
@ -20,6 +20,7 @@ function create {
|
||||
}
|
||||
|
||||
create Rackspace 'rax-*' nodepool-rax.yaml
|
||||
create Rackspace-Flex 'raxflex-*' nodepool-raxflex.yaml
|
||||
create OVH 'ovh-*' nodepool-ovh.yaml
|
||||
create Vexxhost 'vexxhost-*' nodepool-vexxhost.yaml
|
||||
create OSUOSL 'osuosl-*' nodepool-osuosl.yaml
|
||||
|
252
grafana/nodepool-raxflex.yaml
Normal file
252
grafana/nodepool-raxflex.yaml
Normal file
@ -0,0 +1,252 @@
|
||||
#
|
||||
# NOTE: EDIT THE TEMPLATE FILE AND RUN create-nodepool.sh
|
||||
#
|
||||
|
||||
dashboard:
|
||||
title: 'Nodepool: Rackspace-Flex'
|
||||
templating:
|
||||
- name: region
|
||||
includeAll: true
|
||||
multi: true
|
||||
query: stats.gauges.nodepool.provider.raxflex-*
|
||||
refresh: 1
|
||||
type: query
|
||||
rows:
|
||||
- title: Description
|
||||
height: 150px
|
||||
panels:
|
||||
- title: Description
|
||||
content: |
|
||||
Rackspace-Flex Nodepool Status
|
||||
==========================
|
||||
|
||||
This dashboard monitors the status of the nodepool environment for Rackspace-Flex.
|
||||
|
||||
**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 template in the `grafana` directory in
|
||||
[project-config](https://opendev.org/openstack/project-config/src/branch/master/grafana/nodepool.template).
|
||||
|
||||
type: text
|
||||
|
||||
- title: Nodes
|
||||
showTitle: true
|
||||
height: 150px
|
||||
panels:
|
||||
- title: Building
|
||||
span: 3
|
||||
sparkline:
|
||||
full: true
|
||||
show: true
|
||||
targets:
|
||||
- target: sumSeries(stats.gauges.nodepool.provider.$region.nodes.building)
|
||||
type: singlestat
|
||||
valueName: current
|
||||
- title: Ready
|
||||
span: 3
|
||||
sparkline:
|
||||
full: true
|
||||
show: true
|
||||
targets:
|
||||
- target: sumSeries(stats.gauges.nodepool.provider.$region.nodes.ready)
|
||||
type: singlestat
|
||||
valueName: current
|
||||
- title: In Use
|
||||
span: 3
|
||||
sparkline:
|
||||
full: true
|
||||
show: true
|
||||
targets:
|
||||
- target: sumSeries(stats.gauges.nodepool.provider.$region.nodes.in-use)
|
||||
type: singlestat
|
||||
valueName: current
|
||||
- title: Deleting
|
||||
span: 3
|
||||
sparkline:
|
||||
full: true
|
||||
show: true
|
||||
targets:
|
||||
- target: sumSeries(stats.gauges.nodepool.provider.$region.nodes.deleting)
|
||||
type: singlestat
|
||||
valueName: current
|
||||
|
||||
- title: Test Nodes
|
||||
height: 400px
|
||||
panels:
|
||||
- title: Test Node History - $region
|
||||
type: graph
|
||||
span: 12
|
||||
stack: true
|
||||
repeat: region
|
||||
minSpan: 4
|
||||
tooltip:
|
||||
value_type: individual
|
||||
yaxes:
|
||||
- label: "nodes"
|
||||
- show: false
|
||||
targets:
|
||||
- target: alias(sumSeries(stats.gauges.nodepool.provider.$region.nodes.building), 'Building')
|
||||
- target: alias(sumSeries(stats.gauges.nodepool.provider.$region.nodes.ready), 'Available')
|
||||
- target: alias(sumSeries(stats.gauges.nodepool.provider.$region.nodes.in-use), 'In Use')
|
||||
- target: alias(sumSeries(stats.gauges.nodepool.provider.$region.nodes.used), 'Used')
|
||||
- target: alias(sumSeries(stats.gauges.nodepool.provider.$region.nodes.deleting), 'Deleting')
|
||||
- target: alias(sumSeries(stats.gauges.nodepool.provider.$region.max_servers), 'Max')
|
||||
seriesOverrides:
|
||||
- alias: Max
|
||||
stack: False
|
||||
|
||||
|
||||
- title: Node Launches
|
||||
showTitle: true
|
||||
height: 250px
|
||||
panels:
|
||||
- title: Ready Node Launch Attempts
|
||||
type: graph
|
||||
span: 4
|
||||
lines: false
|
||||
bars: true
|
||||
nullPointMode: null as zero
|
||||
yaxes:
|
||||
- label: "events / min"
|
||||
- show: false
|
||||
targets:
|
||||
- target: aliasSub(summarize(stats_counts.nodepool.launch.provider.$region.ready, '1m'), '.*stats_counts.nodepool.launch.provider.(.*).ready.*', '\1')
|
||||
- title: Time to Ready
|
||||
type: graph
|
||||
span: 4
|
||||
lines: false
|
||||
bars: true
|
||||
nullPointMode: null as zero
|
||||
yaxes:
|
||||
- label: "time"
|
||||
format: ms
|
||||
- show: false
|
||||
targets:
|
||||
- target: aliasByNode(stats.timers.nodepool.launch.provider.$region.ready.mean, 5)
|
||||
- title: Error Node Launch Attempts
|
||||
type: graph
|
||||
span: 4
|
||||
lines: false
|
||||
bars: true
|
||||
nullPointMode: null as zero
|
||||
yaxes:
|
||||
- label: "events / min"
|
||||
- show: false
|
||||
targets:
|
||||
- target: alias(smartSummarize(sumSeries(stats_counts.nodepool.launch.provider.$region.error.*), '1m'), "All Errors")
|
||||
|
||||
- title: API Operations
|
||||
showTitle: true
|
||||
height: 250px
|
||||
panels:
|
||||
- title: POST Server
|
||||
type: graph
|
||||
lines: true
|
||||
nullPointMode: connected
|
||||
span: 4
|
||||
yaxes:
|
||||
- format: ms
|
||||
label: Time
|
||||
- show: false
|
||||
targets:
|
||||
- target: aliasByNode(stats.timers.nodepool.task.$region.compute.POST.servers.*.mean, 4)
|
||||
- title: GET Server
|
||||
type: graph
|
||||
span: 4
|
||||
lines: true
|
||||
nullPointMode: connected
|
||||
span: 4
|
||||
yaxes:
|
||||
- format: ms
|
||||
label: Time
|
||||
- show: false
|
||||
targets:
|
||||
- target: aliasByNode(stats.timers.nodepool.task.$region.compute.GET.server.*.mean, 4)
|
||||
- title: DELETE Server
|
||||
type: graph
|
||||
span: 4
|
||||
lines: true
|
||||
nullPointMode: connected
|
||||
span: 4
|
||||
yaxes:
|
||||
- format: ms
|
||||
label: Time
|
||||
- show: false
|
||||
targets:
|
||||
- target: aliasByNode(stats.timers.nodepool.task.$region.compute.DELETE.server.*.mean, 4)
|
||||
- title: GET Servers Details
|
||||
type: graph
|
||||
lines: true
|
||||
nullPointMode: connected
|
||||
span: 4
|
||||
yaxes:
|
||||
- format: ms
|
||||
label: Time
|
||||
- show: false
|
||||
targets:
|
||||
- target: aliasByNode(stats.timers.nodepool.task.$region.compute.GET.servers_detail.*.mean, 4)
|
||||
- title: GET Limits
|
||||
type: graph
|
||||
lines: true
|
||||
nullPointMode: connected
|
||||
span: 4
|
||||
yaxes:
|
||||
- format: ms
|
||||
label: Time
|
||||
- show: false
|
||||
targets:
|
||||
- target: aliasByNode(stats.timers.nodepool.task.$region.compute.GET.limits.*.mean, 4)
|
||||
- title: GET Flavors
|
||||
type: graph
|
||||
lines: true
|
||||
nullPointMode: connected
|
||||
span: 4
|
||||
yaxes:
|
||||
- format: ms
|
||||
label: Time
|
||||
- show: false
|
||||
targets:
|
||||
- target: aliasByNode(stats.timers.nodepool.task.$region.compute.GET.flavors_detail.*.mean, 4)
|
||||
- title: GET network floatingips
|
||||
type: graph
|
||||
lines: true
|
||||
nullPointMode: connected
|
||||
span: 4
|
||||
yaxes:
|
||||
- format: ms
|
||||
label: Time
|
||||
- show: false
|
||||
targets:
|
||||
- target: aliasByNode(stats.timers.nodepool.task.$region.network.GET.floatingips.*.mean, 4)
|
||||
- title: GET networks
|
||||
type: graph
|
||||
lines: true
|
||||
nullPointMode: connected
|
||||
span: 4
|
||||
yaxes:
|
||||
- format: ms
|
||||
label: Time
|
||||
- show: false
|
||||
targets:
|
||||
- target: aliasByNode(stats.timers.nodepool.task.$region.network.GET.networks.*.mean, 4)
|
||||
- title: GET network ports
|
||||
type: graph
|
||||
lines: true
|
||||
nullPointMode: connected
|
||||
span: 4
|
||||
yaxes:
|
||||
- format: ms
|
||||
label: Time
|
||||
- show: false
|
||||
targets:
|
||||
- target: aliasByNode(stats.timers.nodepool.task.$region.network.GET.ports.*.mean, 4)
|
||||
- title: GET network subnets
|
||||
type: graph
|
||||
lines: true
|
||||
nullPointMode: connected
|
||||
span: 4
|
||||
yaxes:
|
||||
- format: ms
|
||||
label: Time
|
||||
- show: false
|
||||
targets:
|
||||
- target: aliasByNode(stats.timers.nodepool.task.$region.network.GET.subnets.*.mean, 4)
|
Loading…
Reference in New Issue
Block a user