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. Note
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.

Note
The collector count of 28 is pending engineering confirmation. Several collectors are conditionally enabled based on the 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.
Note

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