c34543f909
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
90 lines
3.2 KiB
YAML
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}}"
|