Metrics service deployment requirements
Review infrastructure requirements and prerequisites for deploying metrics service to provision appropriate resources and ensure successful deployment without capacity or compatibility issues.
Deployment prerequisites by topology
Review the deployment type and configuration requirements for your topology before installing metrics service.
| Topology | Deployment type | Pre-configuration required | Opt-out method | Notes |
|---|---|---|---|---|
| Containerized (on-premise) | Manual | [automationmetrics] inventory group; database credentials in inventory |
automationmetrics_skip_install=true in [all:vars] |
Requires explicit deployment; administrator provisions both databases |
| Operator on OpenShift (on-premise) | Semi-automatic | None required for fresh installations (enabled by default).
If previously disabled, set metrics.disabled: false in the AnsibleAutomationPlatform CR to re-enable. |
metrics.disabled: true in CR |
Databases are automatically provisioned by the operator |
| Managed cloud (Red Hat-hosted) | Pre-installed | None required | metrics.disabled: true in CR |
Metrics service is pre-installed; no manual deployment steps are required.
Analytics payload retention is determined dynamically from the Controller cleanup_jobs schedule, which may result in shorter retention periods than the 90-day fallback that applies when no valid schedule exists. |
System requirements
Supported platforms
| Platform | Versions | Notes |
|---|---|---|
| Red Hat Enterprise Linux | 9.2 or later | Required for containerized installer deployment. RHEL 8 is NOT supported.
The RHEL 9.2 micro-version floor is pending engineering confirmation.
Confirm whether 9.2 specifically (versus 9.x in general) is the validated minimum before publication. |
| Podman | 4.6.0 or later | Container runtime for metrics service |
| PostgreSQL | 15 or later | For both the metrics_service database and the automation controller database |
| Ansible Automation Platform | 2.7.0 or later | Metrics service is integrated with Ansible Automation Platform 2.7 |
Collection task schedule
Metrics service runs automated collection tasks on the following schedule.
All times are UTC.
All scheduled tasks run on the [automationmetrics] node (containerized) or the metrics-tasks pod (operator).
| Task Group | Task | Schedule | Description |
|---|---|---|---|
| METRICS_COLLECTION | collect_hourly_metrics |
Four times per hour: XX:05, XX:10, XX:15, XX:20 UTC | Four per-collector instances run each hour: unified jobs (XX:05), job host summaries (XX:10), credentials (XX:15), and job events (XX:20). The unified jobs task must complete before the job host summary task; the 5-minute gap ensures JobData rows exist before host summary records are written. |
| METRICS_COLLECTION | collect_snapshot_metrics |
Daily at 1:00–1:45 AM UTC | Five snapshot tasks run in sequence: execution environments (1:00 AM), system configuration (1:30 AM), controller version (1:35 AM), table metadata (1:40 AM), and feature flags (1:45 AM).
A task execution observability metric (collect_daily_metrics) runs at 1:50 AM.
Daily rollup (daily_metrics_rollup) runs at 2:00 AM. |
| ANONYMIZATION | daily_anonymize_and_prepare |
Daily at 3:00 AM UTC | Anonymizes collected data and prepares payload for Red Hat |
| METRICS_COLLECTION | cleanup_metrics_data |
Daily at 4:00 AM UTC | Purges expired data per retention policies, including analytics payloads |
| INDIRECT_NODE_COLLECTION | daily_collect_indirect_nodes |
Daily at 1:55 AM UTC | Collects indirect node audit data from controller |
For on-demand data collection outside the scheduled windows, use the Analytics API.
Analytics API collector registry
Metrics service provides an analytics API at /api/metrics/v1/analytics/ that exposes collected data to authorized external tools.
The API exposes 28 enabled collectors across three collection modes:
| Collection mode | Examples | Count |
|---|---|---|
| Hourly | job_host_summary, unified_jobs, credentials, main_jobevent_service | 10 |
| Snapshot (daily) | execution_environments, config, controller_version, table_metadata, feature_flags | 15 |
| Daily | controller.main_host_daily, controller.main_hostmetric, controller.main_indirectmanagednodeaudit | 3 |
All 28 collectors write raw gather() output to the analytics payload store before any anonymization step runs.
The controller.main_indirectmanagednodeaudit collector is enabled in daily mode as of Ansible Automation Platform 2.7 and is accessible through the analytics API.
SERVICE_FUNCTIONS_AVAILABLE flag in the source.
If this flag is not unconditionally set to True in the shipping release, the active count may be lower.
Confirm the final count with engineering before publication.Hardware requirements
Metrics service hardware requirements are the same as gateway specifications:
| Component | Minimum | Recommended | Notes |
|---|---|---|---|
| CPU | 2 vCPUs | 4 vCPUs | Dedicated to metrics service container |
| RAM | 4 GB | 8 GB | For metrics processing and database operations |
| Storage (database) | 20 GB | 40 GB+ (SSD preferred) | For the metrics_service database; grows based on data retention and analytics payload volume.
The AnalyticsPayload table adds to database storage beyond the metrics-service baseline.
Reference data indicates approximately 61–65 MB per 10,000 analytics payload events at default retention; actual growth depends on collector frequency and retention period.
To tune analytics payload retention, configure the analytics_retention_days parameter in the cleanup_metrics_data task. |
The storage estimate of approximately 61–65 MB per 10,000 analytics payload events is reference data pending authoritative confirmation from engineering. Use this figure for initial capacity planning and adjust based on observed growth in your environment. For retention tuning options, see Metrics service configuration variables.
Database requirements
| Database | User | Privileges | Purpose |
|---|---|---|---|
metrics_service |
metrics_service |
ALL | Metrics service own data storage, Django migrations, schema management, and analytics payload store |
| awx/automation controller | ms_awx_readonly |
GRANT SELECT ON ALL TABLES IN SCHEMA public | Read-only access to controller data for metrics collection and retention schedule resolution |