When you need to include API-managed indirect nodes (for example, network devices) in your anonymized metrics, confirm that indirect node counting is active, that the collections you use can be counted, and that the counts appear in the metrics utility report.
Before you begin
- You have administrator access to Ansible Automation Platform. To change the automation controller setting, use Settings > System in the UI, the
/api/v2/settings/system/ API endpoint, or the awx-manage set_indirect_node_counting command if you have shell access to an automation controller host.
- Metrics service is installed and running.
- You understand what indirect nodes are and how counting works.
- You use at least one Ansible collection that provides a query file, either an embedded extensions/audit/event_query.yml or a supported external query file, currently only
redhat.indirect_accounting.
About this task
Perform this procedure when:
- You manage network devices or other API-managed platforms through Ansible collections and want them reflected in your indirect node counts.
- You are preparing CCSP or CCSPv2 reporting and need indirect nodes included.
This procedure helps you:
- Confirm that indirect node counting is active on both automation controller and metrics service.
- Confirm the collections you use can be counted.
- If you use the metrics utility for CCSP or CCSPv2 reporting (steps 5 and 6, both optional), verify that indirect node counts appear in the report.
Procedure
-
Confirm indirect node counting on automation controller.
Automation controller records indirect node audit data as jobs run.
-
No configuration is required. Indirect node counting is controlled by the automation controller setting
INDIRECT_NODE_COUNTING_ENABLED.
-
To confirm the current value, check Settings > System in the UI or send a GET request to
/api/v2/settings/system/.
-
The controller writes indirect node audit records to the
main_indirectmanagednodeaudit table as new jobs complete.
- Optional:
Confirm records are landing, not just that counting is enabled.
This requires shell access to an automation controller host:
$ awx-manage dbshell -- -c "select count(*) as records, count(distinct name) as nodes, max(created) as newest from main_indirectmanagednodeaudit;"
Climbing records and a recent newest value mean data is actually landing. There is no API for this table. /api/v2/host_metrics/ and /api/v2/host_metric_summary_monthly/ do not cover indirect node audit records, so this check is shell-only.
In Ansible Automation Platform 2.7, indirect node counting is enabled by default. In Ansible Automation Platform 2.6, this setting remains off by default. The Gateway feature flag FEATURE_INDIRECT_NODE_COUNTING_ENABLED is removed and replaced by the automation controller setting INDIRECT_NODE_COUNTING_ENABLED. New installations require no action to begin recording indirect node audit data. If you disabled indirect node counting before upgrading from Ansible Automation Platform 2.6 to 2.7, the upgrade does not preserve that choice. INDIRECT_NODE_COUNTING_ENABLED defaults to enabled in 2.7, so check it after upgrading and disable it again if needed.
To stop recording it, run awx-manage set_indirect_node_counting --disable on an automation controller host; to start again, run awx-manage set_indirect_node_counting --enable. The awx-manage set_indirect_node_counting command is available in Ansible Automation Platform 2.7 only; it does not exist in 2.6.
Note
INDIRECT_NODE_COUNTING_ENABLED is an automation controller setting. It governs whether the controller records indirect node audit data; it does not, by itself, send any data to Red Hat.
-
Confirm indirect node collection in metrics service.
The metrics service daily collector reads the controller's audit records and includes anonymized counts in the payload sent to Red Hat. In Ansible Automation Platform 2.6 and 2.7, metrics service indirect node collection is enabled by default.
No configuration is required to start metrics service collection. Indirect node counting state at the platform level is already confirmed in step 1 using Settings > System or the /api/v2/settings/system/ API.
To confirm the daily collection task ran, the metrics service writes one summary row per day. Run on the metrics service database:
select summary_date, created from tasks_dailymetricssummary order by summary_date desc limit 5;
A row carrying yesterday's date confirms that the daily collection ran.
On its next daily run (1:55 AM UTC), metrics service collects the controller's indirect node audit records and includes anonymized counts in the payload transmitted to Red Hat.
-
Confirm your collections can be counted.
Indirect node counts are produced only for collections that provide a query file, either an embedded extensions/audit/event_query.yml or a supported external query file, currently only redhat.indirect_accounting.
-
Identify the Ansible collections you use to manage indirect nodes.
-
Check each against the supported-collections snapshot in Understand indirect node counting and collection.
-
If a collection you rely on provides no query file and is not covered by an external query file (for example, cisco.ios as of October 2026), no counts are produced for it.
-
Run automation against your indirect nodes.
Indirect node counts are generated from job activity. Run (or wait for) automation that manages your indirect nodes through a supported collection.
- The controller records the audit data shortly after the job's events are processed, normally within minutes.
- Metrics service collects that data on its next daily cycle (1:55 AM UTC).
- Optional:
Enable metrics utility indirect node collection.
The metrics utility indirectly_managed_nodes and infrastructure_summary report sheets are disabled by default. If you want indirect node data in your metrics utility CCSP or CCSPv2 reports, you must explicitly enable the collector and sheets.
-
Add the
main_indirectmanagednodeaudit collector to METRICS_UTILITY_OPTIONAL_COLLECTORS:
export METRICS_UTILITY_OPTIONAL_COLLECTORS="main_host,main_jobevent,main_indirectmanagednodeaudit"
-
Add the indirect node sheets to
METRICS_UTILITY_OPTIONAL_CCSP_REPORT_SHEETS:
export METRICS_UTILITY_OPTIONAL_CCSP_REPORT_SHEETS='ccsp_summary,managed_nodes,usage_by_organizations,usage_by_collections,usage_by_roles,usage_by_modules,indirectly_managed_nodes,infrastructure_summary'
-
Run the
gather and build_report commands as documented in Configure the metrics-utility on Red Hat Enterprise Linux.
Note
This step is only required for metrics utility customer-facing reports. Metrics service anonymized telemetry to Red Hat includes indirect node counts by default and does not require this configuration.
- Optional:
Verify indirect node counts in metrics utility reports.
If you completed step 5 and enabled metrics utility indirect node collection, confirm the counts appear in the report. No customer-facing API exposes indirect node audit records; the metrics utility report is the only customer-facing view of indirect node counts.
-
Generate the metrics utility report in either the CCSP or CCSPv2 format.
Note
indirectly_managed_nodes appears in both formats. infrastructure_summary is included only in CCSPv2 reports; a CCSP (v1) report accepts the sheet in configuration but omits it from the output with a warning.
-
Open the
indirectly_managed_nodes report sheet.
-
Confirm that counts appear for the collections you used.
Note
If you did not complete step 5, the indirectly_managed_nodes sheet will not be present in your report. This does not affect metrics service collection, which sends anonymized indirect node counts to Red Hat automatically.
Results
Metrics service indirect node collection is enabled by default in Ansible Automation Platform 2.6 and 2.7. Verify that metrics service is working when:
- Indirect node counting is enabled on automation controller (enabled by default in Ansible Automation Platform 2.7; off by default in 2.6).
- Metrics service
INDIRECT_NODE_COLLECTION is enabled (enabled by default in Ansible Automation Platform 2.6 and 2.7).
- Automation has run against indirect nodes using supported collections.
Metrics utility indirect node reporting (optional) is disabled by default. Verify that metrics utility is enabled and working when:
- You have enabled the
main_indirectmanagednodeaudit collector in METRICS_UTILITY_OPTIONAL_COLLECTORS.
- You have included
indirectly_managed_nodes in METRICS_UTILITY_OPTIONAL_CCSP_REPORT_SHEETS.
- The
indirectly_managed_nodes report sheet shows counts for the collections you use.
- Counts update on the daily collection cycle after you run automation against indirect nodes.
What to do next
The automation controller retains indirect node audit records for 7 days by default (INDIRECT_HOST_AUDIT_RECORD_MAX_AGE_DAYS). If the metrics utility gather runs less frequently than the retention window, records can be purged before they are gathered.
Warning
If you gather less often than the retention period (for example, monthly), increase INDIRECT_HOST_AUDIT_RECORD_MAX_AGE_DAYS to cover the full interval between gathers, or you will lose data.