From a80bf59b7e0b5beded634c7f4bee622a5071bc4f Mon Sep 17 00:00:00 2001 From: Asma Syed Hameed Date: Mon, 6 Dec 2021 17:57:38 +0530 Subject: [PATCH] Add OSP Resource Response Time Metrics to grafana-prometheus-dashboard Change-Id: I26165e440bb160e6ac61ec6c55f065149c35b0bc --- ...enstack_general_system_performance.yaml.j2 | 3 + .../partials/osp_response_times.yaml | 392 ++++++++++++++++++ 2 files changed, 395 insertions(+) create mode 100644 ansible/install/roles/grafana-prometheus-dashboards/templates/partials/osp_response_times.yaml diff --git a/ansible/install/roles/grafana-prometheus-dashboards/templates/openstack_general_system_performance.yaml.j2 b/ansible/install/roles/grafana-prometheus-dashboards/templates/openstack_general_system_performance.yaml.j2 index 21fbcd08c..2b02ef978 100644 --- a/ansible/install/roles/grafana-prometheus-dashboards/templates/openstack_general_system_performance.yaml.j2 +++ b/ansible/install/roles/grafana-prometheus-dashboards/templates/openstack_general_system_performance.yaml.j2 @@ -108,6 +108,9 @@ dashboard: {% if item.template_node_type in controller_groups %} {% include 'partials/osp_resources.yaml' %} + + {% include 'partials/osp_response_times.yaml' %} + {% include 'partials/pacemaker_monitoring.yaml' %} {% endif %} diff --git a/ansible/install/roles/grafana-prometheus-dashboards/templates/partials/osp_response_times.yaml b/ansible/install/roles/grafana-prometheus-dashboards/templates/partials/osp_response_times.yaml new file mode 100644 index 000000000..cdbc80816 --- /dev/null +++ b/ansible/install/roles/grafana-prometheus-dashboards/templates/partials/osp_response_times.yaml @@ -0,0 +1,392 @@ + - title: OSP Resource Response Times + collapse: true + height: 200px + showTitle: true + panels: + - title: $Cloud - $Node - OSP REST API Average Response Times Nova + type: graph + legend: + alignAsTable: true + avg: false + current: true + max: true + min: true + rightSide: true + show: true + total: false + values: true + nullPointMode: 'null' + targets: + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="nova_avg_response_time", type="get"} + legendFormat: nova_get + refId: A + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="nova_avg_response_time", type="post"} + legendFormat: nova_post + refId: B + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="nova_avg_response_time", type="put"} + legendFormat: nova_put + refId: C + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="nova_avg_response_time", type="delete"} + legendFormat: nova_delete + refId: D + + - title: $Cloud - $Node - OSP REST API Average Response Times Neutron + type: graph + legend: + alignAsTable: true + avg: false + current: true + max: true + min: true + rightSide: true + show: true + total: false + values: true + nullPointMode: 'null' + targets: + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="get"} + legendFormat: neutron_get + refId: A + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="post"} + legendFormat: neutron_post + refId: B + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="put"} + legendFormat: neutron_put + refId: C + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="delete"} + legendFormat: neutron_delete + refId: D + + - title: $Cloud - $Node - OSP REST API Average Response Times Neutron-components + type: graph + legend: + alignAsTable: true + avg: false + current: true + max: true + min: true + rightSide: true + show: true + total: false + values: true + nullPointMode: 'null' + targets: + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="get_networks"} + legendFormat: neutron_get_networks + refId: A + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="post_networks"} + legendFormat: neutron_post_networks + refId: B + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="put_networks"} + legendFormat: neutron_put_networks + refId: C + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="delete_networks"} + legendFormat: neutron_delete_networks + refId: D + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="get_routers"} + legendFormat: neutron_get_routers + refId: E + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="post_routers"} + legendFormat: neutron_post_routers + refId: F + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="put_routers"} + legendFormat: neutron_put_routers + refId: G + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="delete_routers"} + legendFormat: neutron_delete_routers + refId: H + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="get_subnets"} + legendFormat: neutron_get_subnets + refId: I + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="post_subnets"} + legendFormat: neutron_post_subnets + refId: J + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="put_subnets"} + legendFormat: neutron_put_subnets + refId: K + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="delete_subnets"} + legendFormat: neutron_delete_subnets + refId: L + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="get_ports"} + legendFormat: neutron_get_ports + refId: M + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="post_ports"} + legendFormat: neutron_post_ports + refId: N + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="put_ports"} + legendFormat: neutron_put_ports + refId: O + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="delete_ports"} + legendFormat: neutron_delete_ports + refId: P + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="get_trunks"} + legendFormat: neutron_get_trunks + refId: Q + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="post_trunks"} + legendFormat: neutron_post_trunks + refId: R + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="put_trunks"} + legendFormat: neutron_put_trunks + refId: S + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_avg_response_time", type="delete_trunks"} + legendFormat: neutron_delete_trunks + refId: T + + + - title: $Cloud - $Node - OSP REST API Minimum Response Times Nova + type: graph + legend: + alignAsTable: true + avg: false + current: true + max: true + min: true + rightSide: true + show: true + total: false + values: true + nullPointMode: 'null' + targets: + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="nova_min_response_time", type="get"} + legendFormat: nova_get + refId: A + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="nova_min_response_time", type="post"} + legendFormat: nova_post + refId: B + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="nova_min_response_time", type="put"} + legendFormat: nova_put + refId: C + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="nova_min_response_time", type="delete"} + legendFormat: nova_delete + refId: D + + - title: $Cloud - $Node - OSP REST API Minimum Response Times Neutron + type: graph + legend: + alignAsTable: true + avg: false + current: true + max: true + min: true + rightSide: true + show: true + total: false + values: true + nullPointMode: 'null' + targets: + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="get"} + legendFormat: neutron_get + refId: A + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="post"} + legendFormat: neutron_post + refId: B + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="put"} + legendFormat: neutron_put + refId: C + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="delete"} + legendFormat: neutron_delete + refId: D + + - title: $Cloud - $Node - OSP REST API Minimum Response Times Neutron-components + type: graph + legend: + alignAsTable: true + avg: false + current: true + max: true + min: true + rightSide: true + show: true + total: false + values: true + nullPointMode: 'null' + targets: + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="get_networks"} + legendFormat: neutron_get_networks + refId: A + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="post_networks"} + legendFormat: neutron_post_networks + refId: B + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="put_networks"} + legendFormat: neutron_put_networks + refId: C + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="delete_networks"} + legendFormat: neutron_delete_networks + refId: D + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="get_routers"} + legendFormat: neutron_get_routers + refId: E + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="post_routers"} + legendFormat: neutron_post_routers + refId: F + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="put_routers"} + legendFormat: neutron_put_routers + refId: G + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="delete_routers"} + legendFormat: neutron_delete_routers + refId: H + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="get_subnets"} + legendFormat: neutron_get_subnets + refId: I + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="post_subnets"} + legendFormat: neutron_post_subnets + refId: J + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="put_subnets"} + legendFormat: neutron_put_subnets + refId: K + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="delete_subnets"} + legendFormat: neutron_delete_subnets + refId: L + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="get_ports"} + legendFormat: neutron_get_ports + refId: M + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="post_ports"} + legendFormat: neutron_post_ports + refId: N + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="put_ports"} + legendFormat: neutron_put_ports + refId: O + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="delete_ports"} + legendFormat: neutron_delete_ports + refId: P + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="get_trunks"} + legendFormat: neutron_get_trunks + refId: Q + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="post_trunks"} + legendFormat: neutron_post_trunks + refId: R + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="put_trunks"} + legendFormat: neutron_put_trunks + refId: S + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_min_response_time", type="delete_trunks"} + legendFormat: neutron_delete_trunks + refId: T + + - title: $Cloud - $Node - OSP REST API Maximum Response Times Nova + type: graph + legend: + alignAsTable: true + avg: false + current: true + max: true + min: true + rightSide: true + show: true + total: false + values: true + nullPointMode: 'null' + targets: + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="nova_max_response_time", type="get"} + legendFormat: nova_get + refId: A + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="nova_max_response_time", type="post"} + legendFormat: nova_post + refId: B + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="nova_max_response_time", type="put"} + legendFormat: nova_put + refId: C + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="nova_max_response_time", type="delete"} + legendFormat: nova_delete + refId: D + + - title: $Cloud - $Node - OSP REST API Maximum Response Times Neutron + type: graph + legend: + alignAsTable: true + avg: false + current: true + max: true + min: true + rightSide: true + show: true + total: false + values: true + nullPointMode: 'null' + targets: + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="get"} + legendFormat: neutron_get + refId: A + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="post"} + legendFormat: neutron_post + refId: B + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="put"} + legendFormat: neutron_put + refId: C + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="delete"} + legendFormat: neutron_delete + refId: D + + - title: $Cloud - $Node - OSP REST API Maximum Response Times Neutron-components + type: graph + legend: + alignAsTable: true + avg: false + current: true + max: true + min: true + rightSide: true + show: true + total: false + values: true + nullPointMode: 'null' + targets: + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="get_networks"} + legendFormat: neutron_get_networks + refId: A + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="post_networks"} + legendFormat: neutron_post_networks + refId: B + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="put_networks"} + legendFormat: neutron_put_networks + refId: C + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="delete_networks"} + legendFormat: neutron_delete_networks + refId: D + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="get_routers"} + legendFormat: neutron_get_routers + refId: E + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="post_routers"} + legendFormat: neutron_post_routers + refId: F + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="put_routers"} + legendFormat: neutron_put_routers + refId: G + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="delete_routers"} + legendFormat: neutron_delete_routers + refId: H + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="get_subnets"} + legendFormat: neutron_get_subnets + refId: I + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="post_subnets"} + legendFormat: neutron_post_subnets + refId: J + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="put_subnets"} + legendFormat: neutron_put_subnets + refId: K + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="delete_subnets"} + legendFormat: neutron_delete_subnets + refId: L + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="get_ports"} + legendFormat: neutron_get_ports + refId: M + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="post_ports"} + legendFormat: neutron_post_ports + refId: N + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="put_ports"} + legendFormat: neutron_put_ports + refId: O + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="delete_ports"} + legendFormat: neutron_delete_ports + refId: P + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="get_trunks"} + legendFormat: neutron_get_trunks + refId: Q + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="post_trunks"} + legendFormat: neutron_post_trunks + refId: R + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="put_trunks"} + legendFormat: neutron_put_trunks + refId: S + - expr: collectd_tail_response_time{exported_instance=~"[[Cloud]]_[[Node]]", tail="neutron_max_response_time", type="delete_trunks"} + legendFormat: neutron_delete_trunks + refId: T