Bird
Raised Fist0
Apache Airflowdevops~3 mins

Why Audit logging in Apache Airflow? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if you could instantly know who changed what and when, without asking anyone?

The Scenario

Imagine you run a busy kitchen where many chefs add ingredients to dishes. Without notes, if a dish tastes wrong, you can't tell who added what or when.

The Problem

Manually tracking every change or action is slow and easy to forget. It's hard to find mistakes or prove what happened, especially when many people work together.

The Solution

Audit logging automatically records every important action with details like who did it and when. This creates a clear history that helps find issues and improve trust.

Before vs After
✗ Before
print('User X started task Y at time Z')
✓ After
audit_logger.log(user='X', action='start_task', task='Y', timestamp='Z')
What It Enables

Audit logging makes it easy to track changes, find problems fast, and keep your system honest and reliable.

Real Life Example

In Airflow, audit logs show who triggered workflows or changed schedules, helping teams quickly spot errors or unauthorized changes.

Key Takeaways

Manual tracking is slow and error-prone.

Audit logging automatically records detailed action histories.

This helps teams find issues and maintain trust easily.

Practice

(1/5)
1. What is the main purpose of audit logging in Apache Airflow?
easy
A. To speed up task execution
B. To manage Airflow plugins
C. To store DAG definitions
D. To record user actions for security and troubleshooting

Solution

  1. Step 1: Understand audit logging concept

    Audit logging is designed to keep track of user actions and system events.
  2. Step 2: Identify its purpose in Airflow

    This helps with security monitoring and troubleshooting issues by reviewing what happened.
  3. Final Answer:

    To record user actions for security and troubleshooting -> Option D
  4. Quick Check:

    Audit logging = record user actions [OK]
Hint: Audit logs track user actions for security [OK]
Common Mistakes:
  • Confusing audit logs with performance logs
  • Thinking audit logs store DAG code
  • Assuming audit logs speed up tasks
2. Which section in airflow.cfg should you modify to enable audit logging?
easy
A. [core]
B. [logging]
C. [scheduler]
D. [webserver]

Solution

  1. Step 1: Locate airflow.cfg configuration file

    This file contains sections for different Airflow components.
  2. Step 2: Identify the section for logging settings

    The [logging] section controls log-related configurations including audit logging.
  3. Final Answer:

    [logging] -> Option B
  4. Quick Check:

    Audit logging config is under [logging] [OK]
Hint: Audit logging is set in [logging] section [OK]
Common Mistakes:
  • Choosing [core] which is for general settings
  • Selecting [scheduler] which controls scheduling
  • Picking [webserver] which manages UI settings
3. Given this snippet from airflow.cfg:
[logging]
audit_log_enabled = True
audit_log_location = /var/log/airflow/audit.log

What will happen when a user triggers a DAG run?
medium
A. User action will be recorded in /var/log/airflow/audit.log
B. DAG will fail to start due to missing audit log
C. No audit log will be created because audit_log_enabled is False
D. Audit logs will be stored in the default Airflow logs folder

Solution

  1. Step 1: Check audit_log_enabled value

    It is set to True, so audit logging is active.
  2. Step 2: Check audit_log_location setting

    Logs will be saved to /var/log/airflow/audit.log as specified.
  3. Final Answer:

    User action will be recorded in /var/log/airflow/audit.log -> Option A
  4. Quick Check:

    Enabled True + location set = logs saved there [OK]
Hint: Enabled True means logs go to specified location [OK]
Common Mistakes:
  • Assuming logs go to default folder ignoring config
  • Thinking audit_log_enabled is False
  • Believing DAG fails without audit log
4. You enabled audit logging but no logs appear in the specified file. Which is the most likely cause?
medium
A. Airflow scheduler is not running
B. audit_log_enabled is set to False
C. The audit_log_location path is incorrect or lacks write permission
D. DAGs are not defined properly

Solution

  1. Step 1: Verify audit_log_enabled setting

    If it was False, no logs would be created, but question states it is enabled.
  2. Step 2: Check file path and permissions

    If the path is wrong or Airflow lacks permission to write, logs won't appear.
  3. Final Answer:

    The audit_log_location path is incorrect or lacks write permission -> Option C
  4. Quick Check:

    Wrong path or no write permission blocks logs [OK]
Hint: Check file path and permissions first [OK]
Common Mistakes:
  • Assuming scheduler not running causes no audit logs
  • Blaming DAG definitions for audit logging issues
  • Ignoring file system permissions
5. You want to ensure audit logs do not fill up disk space. Which approach is best to manage audit logging in Airflow?
hard
A. Configure log rotation on the audit_log_location file
B. Disable audit logging completely
C. Store audit logs in the Airflow database
D. Manually delete audit logs daily

Solution

  1. Step 1: Understand audit log growth risk

    Audit logs can grow large and fill disk space if unmanaged.
  2. Step 2: Choose best management method

    Configuring log rotation automatically archives and deletes old logs safely.
  3. Step 3: Evaluate other options

    Disabling logs loses audit trail; storing in DB is not default; manual deletion is error-prone.
  4. Final Answer:

    Configure log rotation on the audit_log_location file -> Option A
  5. Quick Check:

    Log rotation prevents disk full from audit logs [OK]
Hint: Use log rotation to manage audit log size [OK]
Common Mistakes:
  • Disabling audit logs instead of managing size
  • Relying on manual deletion which is unreliable
  • Assuming database storage is default or better
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard