Openstack API check improvements
- show public endpoint on the dasboard;
- switch from "name" to "service_name" label;
- replace component alerts by generic OpenstackServiceEndpointDown.
Change-Id: Icf3f6d9aa96166df8bcb7e3c89ade2df6486a84a
Related-PROD: PROD-35549
diff --git a/nova/files/grafana_dashboards/nova_overview_prometheus.json b/nova/files/grafana_dashboards/nova_overview_prometheus.json
index fbde0bd..f6bb024 100644
--- a/nova/files/grafana_dashboards/nova_overview_prometheus.json
+++ b/nova/files/grafana_dashboards/nova_overview_prometheus.json
@@ -102,14 +102,14 @@
"tableColumn": "",
"targets": [
{
- "expr": "min(openstack_api_check_status{name=\"nova\"})",
+ "expr": "openstack_api_check_status{interface=\"public\",service_name=\"nova\"}",
"format": "time_series",
"intervalFactor": 2,
"refId": "A"
}
],
"thresholds": "0.5,0.5",
- "title": "VIP API availability",
+ "title": "Public VIP API Availability",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
diff --git a/nova/files/grafana_dashboards/nova_prometheus.json b/nova/files/grafana_dashboards/nova_prometheus.json
index 8ec0841..5764563 100644
--- a/nova/files/grafana_dashboards/nova_prometheus.json
+++ b/nova/files/grafana_dashboards/nova_prometheus.json
@@ -72,16 +72,15 @@
"tableColumn": "",
"targets": [
{
- "expr": "min(openstack_api_check_status{service=\"nova\"})",
+ "expr": "openstack_api_check_status{interface=\"public\",service_name=\"nova\"}",
"format": "time_series",
"intervalFactor": 2,
- "legendFormat": "{{ service }}",
"refId": "A",
"step": 60
}
],
"thresholds": "0.5,1.5",
- "title": "API Availability",
+ "title": "Public VIP API Availability",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
diff --git a/nova/files/grafana_dashboards/nova_prometheus_fluentd.json b/nova/files/grafana_dashboards/nova_prometheus_fluentd.json
index 978f951..1fd3a3a 100644
--- a/nova/files/grafana_dashboards/nova_prometheus_fluentd.json
+++ b/nova/files/grafana_dashboards/nova_prometheus_fluentd.json
@@ -72,16 +72,15 @@
"tableColumn": "",
"targets": [
{
- "expr": "min(openstack_api_check_status{service=\"nova\"})",
+ "expr": "openstack_api_check_status{interface=\"public\",service_name=\"nova\"}",
"format": "time_series",
"intervalFactor": 2,
- "legendFormat": "{{ service }}",
"refId": "A",
"step": 60
}
],
"thresholds": "0.5,1.5",
- "title": "API Availability",
+ "title": "Public VIP API Availability",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
diff --git a/nova/meta/grafana.yml b/nova/meta/grafana.yml
index 4561b11..0ed0b1a 100644
--- a/nova/meta/grafana.yml
+++ b/nova/meta/grafana.yml
@@ -159,4 +159,4 @@
type: dashboard
target:
cluster_status:
- expr: avg(openstack_api_check_status{service="nova"})
+ expr: openstack_api_check_status{interface="public",service_name="nova"}
diff --git a/nova/meta/prometheus.yml b/nova/meta/prometheus.yml
index 04d3384..7b03f29 100644
--- a/nova/meta/prometheus.yml
+++ b/nova/meta/prometheus.yml
@@ -274,26 +274,6 @@
alert:
{%- if is_controller %}
{% raw %}
- NovaApiOutage:
- if: >-
- max(openstack_api_check_status{name=~"nova.*|placement"}) == 0
- labels:
- severity: critical
- service: nova
- annotations:
- summary: "Nova API outage"
- description: >-
- Nova API is not accessible for all available Nova endpoints in the OpenStack service catalog.
- NovaApiDown:
- if: >-
- openstack_api_check_status{name=~"nova.*|placement"} == 0
- labels:
- severity: major
- service: nova
- annotations:
- summary: "{{ $labels.name }} endpoint is not accessible"
- description: >-
- Nova API is not accessible for the {{ $labels.name }} endpoint.
NovaApiEndpointDown:
if: >-
http_response_status{name=~"nova-api"} == 0