Gnocchi Performance Dashboard

Displays everything related to Gnocchi for Performance:
* Gnocchi Backlog against various metrics
* Gnocchi API Performance
* Gnocchi Process Metrics
* Ceilometer Process Metrics
* Specific Controller Process Metrics (Httpd, MariaDB, Rabbitmq, Mongodb, Redis)
* CephStorage Process Metrics
* Swift (Controller) Process Metrics
* Swift (ObjectStorage) Process Metrics
* Apache Metrics
* Rabbitmq Metrics
* Ceph Metrics
* Swift Metrics
* Gnocchi/Ceilometer/Ceph/MariaDB/Rabbitmq/Swift Log rates (E/W/I)

+ keeplastvalue on Instance dashboard to stop the "teardrop" affect on latest data

Change-Id: Id88bf96625396f81788c3ffeba90c89e0690b732
This commit is contained in:
akrzos 2017-08-17 10:43:34 -04:00
parent 0df3290359
commit ea68729239
4 changed files with 8512 additions and 2 deletions

View File

@ -22,6 +22,7 @@
- cloud_rabbitmq_monitoring
- cloud_system_performance_comparsion
- cloud_total_memory_usage
- gnocchi_performance
- iostat
- three_node_performance_food_groups
- openstack_ironic_metrics

View File

@ -49,7 +49,7 @@
"targets": [
{
"refId": "A",
"target": "alias(sumSeries($Cloud.*.processes-qemu-kvm.ps_count.processes), 'Sum qemu-kvm processes')",
"target": "alias(sumSeries(keepLastValue($Cloud.*.processes-qemu-kvm.ps_count.processes, 100)), 'Sum qemu-kvm processes')",
"textEditor": false
}
],
@ -124,7 +124,7 @@
"targets": [
{
"refId": "A",
"target": "aliasByNode($Cloud.*.processes-qemu-kvm.ps_count.processes, 1)",
"target": "aliasByNode(keepLastValue($Cloud.*.processes-qemu-kvm.ps_count.processes, 100), 1)",
"textEditor": false
}
],

File diff suppressed because it is too large Load Diff

View File

@ -14,6 +14,15 @@ import argparse
import json
# Each Query in a Grafana Panel has a Reference ID, and this helps correct any drift or cut & paste
# errors in the each Query's ID.
refIds = [
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "AB",
"AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "AN",
"AO", "AP", "AQ", "AR", "AS", "AT", "AU", "AV", "AW", "AX", "AY", "AZ"
]
def main():
"""Script used to fix panel ids in static dashboards. Typically adding a new panel or row into
a static dashboard will involve re-ordering all subsequent panels. This script automates that.
@ -34,6 +43,15 @@ def main():
print "Found error in panel({}): {}".format(index, panel['title'])
panel['id'] = index
# Check over Query RefIds while after fixing Panel ID
refid_index = 0
for target in panel['targets']:
if target["refId"] != refIds[refid_index]:
print "Panel: {}, Incorrect Target ID: {} Should be: {}".format(
panel['title'], target["refId"], refIds[refid_index])
target['refId'] = refIds[refid_index]
refid_index += 1
with open(args.outputfile, 'w') as outputfile:
json.dump(data, outputfile, sort_keys=True, indent=2, separators=(',', ': '))