browbeat/ansible/install/grafana-dashboards.yml
akrzos c34543f909 Transition to GrafYaml for Dashboard Storage
Reasons to move from json, json.j2 to yaml/yaml.j2 + GrafYaml:
* Yaml is less lines
* Yaml allows comments
* Yaml means less curly braces and quotes
* GrafYaml manages panel ids and target refIds
* GrafYaml defaults reduce number of lines stored
* GrafYaml allows more easily cut/paste management of Dashboards

Identified Downsides:
* GrafYaml will be behind the Grafana Dashboard Model (Until code is updated)
* Json will always allow full feature set
* Installing Dashboards now requires GrafYaml

New Dashboards/Features:
* Templated Dashboards (Reduce line count in "static" dashboards)
* Cloud Specific networks - all dashboard
* Three Node Performance Food groups Enhanced
* Networker Node added for Cloud Specific Dashboards and Total Memory

Change-Id: I55ce9f9f6c28497c8b4ed7a19d42657a8eb14170
2018-02-27 10:20:18 -05:00

90 lines
3.2 KiB
YAML

---
#
# Builds and Uploads Dashboards for Browbeat analysis of System Performance Metrics
#
# Four types of Grafana Dashboards:
# * Static Dashboards (Ex. cloud_system_performance_comparsion.yaml)
# * Templated Dashboards (Ex. Gnocchi Performance Dashboard)
# * Templated General Dashboards (Ex. OpenStack General System Performance)
# * Templated Cloud Specific Dashboards ("Cloud01" CPU Graphs (for a specific cloud))
#
# The Cloud Specific Dashboards are the only ones that require a cloud's inventory be defined.
#
# If you have a cloud inventory defined, you can upload all dashboards via:
# ansible-playbook -i hosts install/grafana-dashboards.yml
# or
# ansible-playbook -i hosts install/grafana-dashboards.yml -e 'upload_cloud_specific=true upload_general=true upload_static=true upload_templated=true'
#
# Toggle the desired dashboards with the above extra vars ^^
#
# If you just want to upload all dashboards that do not require a cloud inventory:
# ansible-playbook -i hosts install/grafana-dashboards.yml -e 'upload_cloud_specific=false'
#
# If you just want to upload only your Cloud Specific Dashboards:
# ansible-playbook -i hosts install/grafana-dashboards.yml -e 'upload_general=false upload_static=false upload_templated=false'
#
- hosts: localhost
gather_facts: false
vars:
ansible_connection: local
upload_cloud_specific: true
upload_general: true
upload_static: true
upload_templated: true
cloud_specific_dashboards:
- cpu
- memory
- disk
- disks_all
- network
- networks_all
- log
general_dashboards:
- template_name: openstack
template_node_type: undercloud
process_list_name: OpenStack-Undercloud
- template_name: openstack
template_node_type: controller
process_list_name: OpenStack-Controller
- template_name: openstack
template_node_type: blockstorage
process_list_name: OpenStack-BlockStorage
- template_name: openstack
template_node_type: objectstorage
process_list_name: OpenStack-ObjectStorage
- template_name: openstack
template_node_type: cephstorage
process_list_name: OpenStack-CephStorage
- template_name: openstack
template_node_type: compute
process_list_name: OpenStack-Compute
- template_name: openstack
template_node_type: "*"
process_list_name: OpenStack
# # Non-OpenStack specific dashboards that are included:
- template_name: baremetal
process_list_name: Baremetal
- template_name: guest
process_list_name: Guest
- template_name: graphite
process_list_name: Graphite
static_dashboards:
- apache_request_latency
- cloud_instance_count
- cloud_keystone_token_count
- cloud_system_performance_comparsion
- cloud_total_memory_usage
- openstack_ironic_metrics
templated_dashboards:
- cloud_ceph_monitoring
- cloud_gnocchi_status
- cloud_rabbitmq_monitoring
- gnocchi_performance
- iostat
- three_node_performance_food_groups_basic
- three_node_performance_food_groups_enhanced
roles:
- grafana-dashboards
environment: "{{proxy_env}}"