# # NOTE: EDIT THE TEMPLATE FILE AND RUN create-nodepool.sh # dashboard: title: 'Nodepool: Linaro' templating: - name: region includeAll: true multi: true query: stats.gauges.nodepool.provider.linaro-* refresh: 1 type: query rows: - title: Description height: 150px panels: - title: Description content: | Linaro Nodepool Status ========================== This dashboard monitors the status of the nodepool environment for Linaro. **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.server.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)