Prometheus metrics support has been available since Orka 3.0. Starting with Orka 3.5, clusters using Harbor OCI storage also have Prometheus metrics available for the Harbor registry. Contact support to confirm your Harbor Prometheus endpoint if you’re on Orka 3.5 or later.
Integrating Orka metrics with an existing Prometheus instance
If your organization is already using Prometheus and you wish to collect additional data from your Orka cluster, follow the instructions in this section.Orka Server and Operator Metrics
A Note About the Orka Server
Starting with Orka 3.0, the API server is no longer primarily responsible for managing Orka VMs. Instead, the operator is primarily responsible for managing the lifecycle of Orka VMs and other resources. Clients such as the orka3 CLI speak directly to the Kubernetes API instead of the Orka API. As a consequence, metrics for the Orka API Server are generally less relevant, unless you are using workflows and integrations that still rely on the legacy API server. Metrics for the Orka server and operator are available via the /metrics endpoint of the Orka load balancer address. For most environments this is typically 10.221.188.20 or 10.221.188.100, but check your IP plan if you aren’t sure. Use port 8080 in the endpoint for the operator metrics. To verify you are able to access the Orka server and operator metrics, try cURLing the endpoints: curlPrometheus node exporters
Every node in the Orka cluster runs a Prometheus Node Exporter on port 9100. This includes both Intel and ARM nodes. To ensure you are able to scrape the node exporter data, try cURLing the metrics endpoint from any node: curlOutside access: If your Prometheus instance is hosted outside of the cluster, make sure that TCP traffic is permitted to port 9100 for all hosts on the Orka private network. For more information, see the section on IP plans.
GitHub Actions integration metrics
The Orka GitHub Actions integration can optionally expose Prometheus metrics for runner scale set statistics. This is opt-in and disabled by default.Enable metrics
Set the following environment variables when running the integration:| Variable | Default | Description |
|---|---|---|
ENABLE_METRICS | false | Set to true to expose a /metrics endpoint. |
METRICS_ADDR | :8080 | Address where the metrics endpoint listens. |
METRICS_POLL_INTERVAL | 30s | How often runner scale set statistics are polled (e.g., 30s, 1m). |
Available metrics
All metrics carry arunner_name label corresponding to the runner scale set name.
| Metric | Description |
|---|---|
runner_scale_set_total_available_jobs | Jobs available to be assigned to a runner |
runner_scale_set_total_acquired_jobs | Jobs acquired by a runner but not yet assigned |
runner_scale_set_total_assigned_jobs | Jobs assigned to a specific runner |
runner_scale_set_total_running_jobs | Jobs currently executing |
runner_scale_set_total_registered_runners | Runners registered with GitHub |
runner_scale_set_total_busy_runners | Runners currently processing a job |
runner_scale_set_total_idle_runners | Runners registered but not processing a job |
Scrape configuration
Add a job to yourprometheus.yml to scrape the integration:
<GHA_RUNNER_HOST> with the hostname or IP of the machine running the GitHub Actions integration. The port should match METRICS_ADDR (default 8080).
