Integrate with External Systems

StarlingX OpenStack exposes two integration interfaces for external observability platforms:

  • Metrics endpoints exposed by the Ceilometer Central Exporter, Ceilometer Compute Exporter, and OpenStack Exporter, which can be scraped directly.

  • An HTTP endpoint to receive alarm actions generated by StarlingX OpenStack.

An external platform can use either or both interfaces independently.

Available Metrics Endpoints

StarlingX OpenStack exposes metrics through the following exporter endpoints in the openstack namespace.

Exporter

Metrics Endpoint

Present When

Ceilometer Central Exporter

http://osh-openstack-ceilometer-central.openstack.svc.cluster.local:9101/metrics

Ceilometer metrics service is enabled

Ceilometer Compute Exporter

http://osh-openstack-ceilometer-compute.openstack.svc.cluster.local:9101/metrics

Ceilometer metrics service is enabled

OpenStack Exporter

http://openstack-metrics.openstack.svc.cluster.local:9180/metrics

OpenStack Exporter Helm chart is enabled

The OpenStack Exporter metrics are intended for external monitoring systems. The platform Prometheus server does not scrape this endpoint.

The Ceilometer Central Exporter and Ceilometer Compute Exporter metrics endpoints can be scraped by both the platform Prometheus server and external metrics consumers at the same time.

Security Considerations

All metrics endpoints use unauthenticated HTTP and are intended for internal cluster communication. Any client that can reach a metrics endpoint can access the metrics it publishes.

Note

Restrict access to the openstack-metrics service and use caution when exposing or forwarding its metrics outside the cluster.

Ceilometer Compute Exporter Considerations

The Ceilometer Central Exporter and OpenStack Exporter can be queried from any location within the cluster.

The Ceilometer Compute Exporter uses internalTrafficPolicy: Local. Requests are served only by the exporter running on the same node as the client.

As a result, scraping the service from a single location collects metrics for only that node.

To collect metrics from all compute nodes, an external metrics consumer must either:

  • Scrape the Ceilometer Compute Exporter from each compute node, or

  • Discover and scrape the individual Ceilometer Compute Exporter pod endpoints.

Note

The platform Prometheus server uses ServiceMonitor resources to discover and scrape the individual exporter pods automatically.

Verify Metrics Endpoints

You can verify that the metrics endpoints are reachable by querying them directly:

curl -s http://osh-openstack-ceilometer-central.openstack.svc.cluster.local:9101/metrics

curl -s http://osh-openstack-ceilometer-compute.openstack.svc.cluster.local:9101/metrics

curl -s http://openstack-metrics.openstack.svc.cluster.local:9180/metrics

Integrate an External Alarm Receiver

You can integrate an external observability system with the StarlingX OpenStack alarming service by configuring a reachable HTTP or HTTPS endpoint to receive alarm notifications. When an alarm changes state, the aodh-notifier service sends an HTTP POST request to the endpoint specified in the alarm action.

You can view alarm definitions and their current state through the Aodh alarming API or by using the openstack alarm CLI.

Create or update the alarm using the openstack alarm CLI and specify the notification endpoint using one or more of the following options:

  • --alarm-action

  • --ok-action

  • --insufficient-data-action

The endpoint can be any reachable IP address or DNS name, either inside or outside the cluster.

Note

Only alarms configured with the external endpoint as an action target send notifications to that endpoint.

For information about configuring HTTP and HTTPS notification endpoints, see Configure HTTP Notification Endpoints and Configure HTTPS Notification Endpoints with a Private CA.