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 |
|
Ceilometer metrics service is enabled |
Ceilometer Compute Exporter |
|
Ceilometer metrics service is enabled |
OpenStack Exporter |
|
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.