Openstack API check improvements

- show public endpoint on the dasboard;
- switch from "name" to "service_name" label;
- replace component alerts by generic OpenstackServiceEndpointDown.

Related-PROD: PROD-35549
Change-Id: I65dfba292a0e55a7d9c1cd9f77b31a60a413c19a
diff --git a/neutron/files/grafana_dashboards/neutron_l2_prometheus.json b/neutron/files/grafana_dashboards/neutron_l2_prometheus.json
index aef97b6..313ca4a 100755
--- a/neutron/files/grafana_dashboards/neutron_l2_prometheus.json
+++ b/neutron/files/grafana_dashboards/neutron_l2_prometheus.json
@@ -72,16 +72,15 @@
           "tableColumn": "",
           "targets": [
             {
-              "expr": "min(openstack_api_check_status{service=~\"neutron.*\"})",
+              "expr": "openstack_api_check_status{interface=\"public\",service_name=\"neutron\"}",
               "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/neutron/files/grafana_dashboards/neutron_l2_prometheus_fluentd.json b/neutron/files/grafana_dashboards/neutron_l2_prometheus_fluentd.json
index c205c33..928300e 100755
--- a/neutron/files/grafana_dashboards/neutron_l2_prometheus_fluentd.json
+++ b/neutron/files/grafana_dashboards/neutron_l2_prometheus_fluentd.json
@@ -97,14 +97,14 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "min(openstack_api_check_status{name=\"neutron\"})",
+          "expr": "openstack_api_check_status{interface=\"public\",service_name=\"neutron\"}",
           "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/neutron/files/grafana_dashboards/neutron_prometheus.json b/neutron/files/grafana_dashboards/neutron_prometheus.json
index 500958e..77c7b9b 100755
--- a/neutron/files/grafana_dashboards/neutron_prometheus.json
+++ b/neutron/files/grafana_dashboards/neutron_prometheus.json
@@ -72,16 +72,15 @@
           "tableColumn": "",
           "targets": [
             {
-              "expr": "min(openstack_api_check_status{service=~\"neutron.*\"})",
+              "expr": "openstack_api_check_status{interface=\"public\",service_name=\"neutron\"}",
               "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/neutron/files/grafana_dashboards/neutron_prometheus_fluentd.json b/neutron/files/grafana_dashboards/neutron_prometheus_fluentd.json
index b632c8d..6d6f16b 100755
--- a/neutron/files/grafana_dashboards/neutron_prometheus_fluentd.json
+++ b/neutron/files/grafana_dashboards/neutron_prometheus_fluentd.json
@@ -97,14 +97,14 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "min(openstack_api_check_status{name=\"neutron\"})",
+          "expr": "openstack_api_check_status{interface=\"public\",service_name=\"neutron\"}",
           "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/neutron/meta/grafana.yml b/neutron/meta/grafana.yml
index 2a1e380..63402dd 100644
--- a/neutron/meta/grafana.yml
+++ b/neutron/meta/grafana.yml
@@ -106,7 +106,7 @@
               type: dashboard
             target:
               cluster_status:
-                expr: avg(openstack_api_check_status{service=~"neutron.*"})
+                expr: openstack_api_check_status{interface="public",service_name="neutron"}
 {%- if pillar.neutron.get('server', {}).get('backend', {}).engine is defined and pillar.neutron.server.backend.engine == "ml2" %}
   neutron_influxdb:
     datasource: influxdb
diff --git a/neutron/meta/prometheus.yml b/neutron/meta/prometheus.yml
index be9d05b..3d13a1c 100644
--- a/neutron/meta/prometheus.yml
+++ b/neutron/meta/prometheus.yml
@@ -5,16 +5,6 @@
 {%- raw %}
 server:
   alert:
-    NeutronApiOutage:
-      if: >-
-        openstack_api_check_status{name="neutron"} == 0
-      labels:
-        severity: critical
-        service: neutron
-      annotations:
-        summary: "Neutron API outage"
-        description: >-
-          Neutron API is not accessible for the Neutron endpoint in the OpenStack service catalog.
     NeutronApiEndpointDown:
       if: >-
         http_response_status{name="neutron-api"} == 0