You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
InstanceHA exposes Prometheus metrics at `:8080/metrics` on the workload pod, covering the full evacuation lifecycle: host failure detection, fencing, evacuation, recovery, and poll loop health. These metrics complement the Kubernetes Events emitted on the InstanceHa CR — events provide human-readable audit records, while metrics provide numeric time-series data suitable for dashboards, alerting, and capacity planning.
7
+
InstanceHA exposes Prometheus metrics at `:8080/metrics` on the workload pod, covering the full evacuation lifecycle: host failure detection, fencing, evacuation, recovery, and poll loop health. These metrics complement the Kubernetes Events emitted on the InstanceHa CR -- events provide human-readable audit records, while metrics provide numeric time-series data suitable for dashboards, alerting, and capacity planning.
6
8
7
9
The metrics are served by the `prometheus_client` Python library on the same HTTP server used for liveness and readiness probes. No sidecar or additional container is needed.
8
10
@@ -43,7 +45,7 @@ spec:
43
45
secretName: my-custom-metrics-cert
44
46
```
45
47
46
-
When the telemetry-operator is deployed, its `ScrapeConfig` automatically switches to `scheme: HTTPS` with the appropriate TLS configuration when `PrometheusTLS` is enabled — no manual changes are needed.
48
+
When the telemetry-operator is deployed, its `ScrapeConfig` automatically switches to `scheme: HTTPS` with the appropriate TLS configuration when `PrometheusTLS` is enabled -- no manual changes are needed.
47
49
48
50
---
49
51
@@ -103,7 +105,7 @@ After applying the PodMonitor, verify that Prometheus has discovered the target:
103
105
oc get podmonitor -n openstack instanceha-metrics
104
106
105
107
# In the Prometheus UI (or via API), check the target is UP:
106
-
# Targets page: Status → Targets → search for "instanceha"
108
+
# Targets page: Status -> Targets -> search for "instanceha"
107
109
108
110
# On OpenShift with user workload monitoring, query the user-workload Prometheus
109
111
# (not the cluster Prometheus in openshift-monitoring):
@@ -148,15 +150,17 @@ Counters increase monotonically and reset to zero on pod restart.
| `instanceha_threshold_exceeded_total` | — | Evacuations skipped because the percentage of failed hosts exceeded the global threshold |
155
+
| `instanceha_threshold_exceeded_total` | -- | Evacuations skipped because the percentage of failed hosts exceeded the global threshold |
154
156
| `instanceha_aggregate_threshold_exceeded_total` | `aggregate` | Evacuations blocked for an aggregate due to per-aggregate `instanceha:max_failures` metadata threshold |
When the [telemetry-operator](https://github.com/openstack-k8s-operators/telemetry-operator) is deployed, it provisions a **separate Prometheus instance** via the Cluster Observability Operator (COO). This Prometheus is independent from OpenShift's built-in user workload monitoring — the two stacks coexist without conflict, but metrics live in different places:
556
+
When the [telemetry-operator](https://github.com/openstack-k8s-operators/telemetry-operator) is deployed, it provisions a **separate Prometheus instance** via the Cluster Observability Operator (COO). This Prometheus is independent from OpenShift's built-in user workload monitoring -- the two stacks coexist without conflict, but metrics live in different places:
549
557
550
558
| Stack | Prometheus instance | Query endpoint |
551
559
|-------|-------------------|----------------|
@@ -554,7 +562,7 @@ When the [telemetry-operator](https://github.com/openstack-k8s-operators/telemet
554
562
555
563
### Automatic Discovery (default)
556
564
557
-
The telemetry-operator **automatically discovers and scrapes InstanceHA metrics** — no manual configuration is required. The infra-operator creates a Kubernetes Service (`<instance-name>-metrics`) with the labels `metrics: enabled` and `service: instanceha`. The telemetry-operator's `MetricStorage` controller watches for Services with these labels and automatically generates a `ScrapeConfig` CR named `telemetry-instanceha` targeting port 8080.
565
+
The telemetry-operator **automatically discovers and scrapes InstanceHA metrics** -- no manual configuration is required. The infra-operator creates a Kubernetes Service (`<instance-name>-metrics`) with the labels `metrics: enabled` and `service: instanceha`. The telemetry-operator's `MetricStorage` controller watches for Services with these labels and automatically generates a `ScrapeConfig` CR named `telemetry-instanceha` targeting port 8080.
558
566
559
567
This works the same way as the OVN metrics integration. When a `MetricStorage` CR exists in the namespace:
560
568
@@ -588,14 +596,14 @@ spec:
588
596
### Which Approach to Use
589
597
590
598
- **OpenShift user workload monitoring only** (no telemetry-operator): Use the PodMonitor approach from [Enabling Scraping](#enabling-scraping). This is simpler and uses automatic pod discovery.
591
-
- **telemetry-operator deployed** (default): InstanceHA metrics are automatically scraped by the COO Prometheus alongside other OpenStack metrics (Ceilometer, RabbitMQ, node-exporter, OVN). No manual configuration needed. You can also deploy the PodMonitor simultaneously — it targets the OpenShift user workload Prometheus and does not conflict with the COO scrapeconfig.
599
+
- **telemetry-operator deployed** (default): InstanceHA metrics are automatically scraped by the COO Prometheus alongside other OpenStack metrics (Ceilometer, RabbitMQ, node-exporter, OVN). No manual configuration needed. You can also deploy the PodMonitor simultaneously -- it targets the OpenShift user workload Prometheus and does not conflict with the COO scrapeconfig.
592
600
- **Querying across both**: OpenShift's `thanos-querier` route aggregates the cluster and user workload Prometheus instances. The COO Prometheus is separate and must be queried directly at `metric-storage-prometheus.openstack.svc:9090`.
593
601
594
602
---
595
603
596
604
## References
597
605
598
-
- [InstanceHA Operator Guide](instanceha_guide.md) — Full deployment and configuration reference
599
-
- [InstanceHA Architecture](instanceha_architecture.md) — Internal architecture and event catalog
606
+
- [InstanceHA Operator Guide](instanceha_guide.md) -- Full deployment and configuration reference
607
+
- [InstanceHA Architecture](instanceha_architecture.md) -- Internal architecture and event catalog
0 commit comments