Skip to main content
AWX can send detailed logs to third-party log aggregation services for analysis, monitoring, and compliance. Logs are transmitted in JSON format over HTTP, TCP, or UDP connections.

Overview

AWX logging integration provides:
  • Real-time streaming of job events and activity
  • Structured JSON log format
  • Support for multiple log aggregation platforms
  • Configurable log sources and levels
  • Secure transmission with TLS/SSL support

Supported Services

Officially Supported

  • Splunk - Enterprise log aggregation and analysis
  • Elastic Stack (ELK) - Elasticsearch, Logstash, Kibana

Tested and Compatible

  • Sumologic - Cloud-based log management
  • Loggly - Cloud logging and monitoring

Potentially Compatible

  • Datadog - Infrastructure monitoring and logging
  • Red Hat Common Logging - Via Logstash connector

Log Sources

AWX provides several specialized log sources:

Job Event Logs

Logger: awx.analytics.job_events Captures detailed output from Ansible playbook execution:
  • Task execution results
  • Play and task metadata
  • Host-level event data
  • Ansible callback module output

Activity Stream Logs

Logger: awx.analytics.activity_stream Records all changes to AWX objects:
  • User actions and operations
  • Object creation, modification, deletion
  • Association and disassociation events
  • Audit trail for compliance

System Tracking Logs

Logger: awx.analytics.system_tracking Data from Ansible fact gathering and scan jobs:
  • System facts and configuration
  • Package inventories
  • Service states
  • File system information

AWX Application Logs

Standard AWX application logs with configurable levels:
  • ERROR - Error messages with tracebacks
  • WARNING - Warning messages
  • INFO - Informational messages
  • DEBUG - Detailed debugging information

Configuration

Settings

Configure log aggregation through the AWX Settings UI or API at /api/v2/settings/logging/:

Connection Types

HTTPS:
  • Most common for cloud services
  • Port specified in URL or PORT field
  • SSL/TLS encryption by default
TCP:
  • Direct TCP connection
  • Requires hostname and port
  • Optional TLS encryption
UDP:
  • Lightweight, fire-and-forget
  • No delivery guarantee
  • Best for high-volume, low-criticality logs

Splunk Integration

Configuration

Splunk HTTP Event Collector (HEC)

  1. Enable HEC in Splunk:
    • Settings → Data Inputs → HTTP Event Collector
    • Click “Global Settings” and enable HEC
    • Configure default source, source type, and index
  2. Create Token:
    • Click “New Token”
    • Name: “AWX Integration”
    • Set allowed indexes
    • Copy the token value
  3. Configure AWX:
    • Use token as LOG_AGGREGATOR_PASSWORD
    • URL format: https://splunk.example.com:8088/services/collector

Splunk Queries

Elastic Stack (ELK) Integration

Logstash Configuration

Add JSON filter to Logstash config:

AWX Configuration

Kibana Dashboards

Create index pattern in Kibana:
Example visualizations:
  • Job success/failure rates over time
  • Top users by activity
  • Job execution duration trends
  • Error rate by job template

Elasticsearch Queries

Sumologic Integration

Configuration

Sumologic Setup

  1. Create HTTP Source in Sumologic
  2. Copy the endpoint URL
  3. Use full URL as LOG_AGGREGATOR_HOST
  4. Configure source category for filtering

Loggly Integration

Configuration

Log Schema

Common Fields

All logs include these fields:

Job Event Schema

Activity Stream Schema

System Tracking Schema

Selective Logging

Configure Log Sources

Enable specific loggers:

Log Levels

Set minimum log level:

Individual Facts

Control system tracking detail:

Performance Considerations

Asynchronous Processing

Logs are sent asynchronously to avoid blocking job execution. A timeout on the log aggregator will not cause AWX operations to hang.

Message Threading

Log messages are sent in threaded mode to improve performance and prevent backlog.

Network Optimization

  • Use TCP or HTTPS for reliable delivery
  • UDP for high-volume, non-critical logs
  • Configure appropriate timeout values
  • Consider log aggregator proximity to AWX

Troubleshooting

Connection Issues

Verify connectivity:
Check AWX logs:

No Logs Appearing

  1. Verify LOG_AGGREGATOR_ENABLED is true
  2. Check selected loggers include desired sources
  3. Verify log level allows messages through
  4. Test with a simple job to generate events
  5. Check firewall rules between AWX and aggregator

SSL/TLS Errors

For production, add CA certificate to AWX trust store.

Elasticsearch Performance

Index Management:
  • Use date-based indices (e.g., awx-2026.03.04)
  • Configure index lifecycle management
  • Set appropriate retention policies
  • Consider hot/warm/cold architecture
Optimize Mappings:

API Configuration

Get Current Settings

Update Settings

Best Practices

Security

  • Use HTTPS/TLS for transmission
  • Rotate aggregator credentials regularly
  • Restrict access to log data
  • Enable certificate verification in production
  • Use dedicated service accounts

Data Management

  • Set appropriate retention policies
  • Archive old logs to cold storage
  • Implement log rotation and compression
  • Monitor aggregator storage capacity

Monitoring

  • Alert on log aggregator connectivity failures
  • Monitor log volume and rates
  • Track parsing errors in aggregator
  • Set up dashboards for key metrics

Compliance

  • Enable activity stream for audit trail
  • Configure appropriate retention for compliance requirements
  • Implement access controls on log data
  • Document log collection and retention policies

See Also