Bird
Raised Fist0
Apache Airflowdevops~10 mins

Log inspection and troubleshooting in Apache Airflow - Step-by-Step Execution

Choose your learning style10 modes available
Process Flow - Log inspection and troubleshooting
Trigger DAG Run
↓
Task Starts Execution
↓
Logs Generated
↓
Access Logs via UI or CLI
↓
Inspect Logs for Errors or Info
↓
Identify Issue?
No→Wait or Retry
Yes↓
Apply Fix or Adjust Config
↓
Re-run Task or DAG
↓
Verify Logs Again
↓
END
This flow shows how Airflow tasks generate logs during execution, which you inspect to find issues, then fix and re-run tasks to troubleshoot.
Execution Sample
Apache Airflow
airflow tasks logs example_dag example_task 2024-06-01T00:00:00+00:00
This command fetches and displays logs for a specific task instance in Airflow to inspect its execution details.
Process Table
StepActionCommand/Log OutputResult/Next Step
1Trigger DAG runairflow dags trigger example_dagDAG run started, tasks queued
2Task execution startsTask example_task started at 2024-06-01T00:00:00Logs begin recording task progress
3Generate logsINFO - Starting task INFO - Processing data ERROR - File not found: data.csvError detected in logs
4Inspect logsairflow tasks logs example_dag example_task 2024-06-01T00:00:00+00:00Logs show missing file error
5Identify issueMissing data.csv fileDecide to fix missing file
6Fix issueUpload data.csv to expected locationFile available for next run
7Re-run taskairflow tasks run example_dag example_task 2024-06-01T00:00:00Task runs successfully
8Verify logs againINFO - Starting task INFO - Processing data INFO - Task completed successfullyNo errors, troubleshooting complete
9End-Task and DAG run successful
💡 Task logs show error, fix applied, task re-run succeeds, confirming issue resolved
Status Tracker
VariableStartAfter Step 3After Step 6After Step 7Final
Task Statusqueuedfailed (error in logs)fixed (file uploaded)successsuccess
Log Contentemptyerror: File not founderror resolvedsuccess messagessuccess messages
Key Moments - 3 Insights
Why do we check logs after task execution?
Logs show detailed task progress and errors, helping identify what went wrong (see execution_table step 3 and 4).
What does it mean if logs show 'File not found'?
It means the task failed because a required file was missing; this is the root cause to fix (see execution_table step 3).
Why re-run the task after fixing the issue?
To verify the fix works and the task completes successfully, confirmed by logs showing no errors (see execution_table steps 7 and 8).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what error is shown in the logs at step 3?
AFile not found: data.csv
BDatabase connection failed
CTask completed successfully
DPermission denied
💡 Hint
Check the 'Command/Log Output' column at step 3 in the execution_table
At which step does the task status change to 'success'?
AStep 3
BStep 6
CStep 7
DStep 4
💡 Hint
Look at the 'Task Status' row in variable_tracker after each step
If the missing file was not fixed, what would happen at step 7?
ATask would run successfully
BTask would fail again with the same error
CLogs would be empty
DTask would be skipped
💡 Hint
Refer to the error shown at step 3 and the fix applied at step 6 in execution_table
Concept Snapshot
Airflow logs record task execution details.
Use 'airflow tasks logs <dag> <task> <execution_date>' to view logs.
Inspect logs to find errors or info.
Fix issues based on logs, then re-run tasks.
Verify success by checking logs again.
Logs are key for troubleshooting Airflow tasks.
Full Transcript
In Airflow, when you run a DAG, each task generates logs showing what happened during execution. You can fetch these logs using the airflow CLI command for tasks logs. By reading the logs, you can spot errors like missing files or other issues. Once you find the problem, you fix it, for example by uploading a missing file. Then you re-run the task to check if the fix worked. Finally, you look at the logs again to confirm the task completed successfully. This process helps you troubleshoot and fix problems in your Airflow workflows.

Practice

(1/5)
1. What is the main purpose of inspecting logs in Airflow tasks?
easy
A. To schedule new DAG runs
B. To change the task's code automatically
C. To understand what happened during task execution step-by-step
D. To delete old DAGs from Airflow

Solution

  1. Step 1: Understand what logs represent in Airflow

    Logs record the detailed events and outputs of each task run, showing what happened inside the task.
  2. Step 2: Identify the purpose of inspecting logs

    Inspecting logs helps to see the step-by-step execution and find errors or confirm success.
  3. Final Answer:

    To understand what happened during task execution step-by-step -> Option C
  4. Quick Check:

    Logs show task execution details = A [OK]
Hint: Logs tell the story of task steps and errors [OK]
Common Mistakes:
  • Thinking logs change task code
  • Confusing logs with scheduling
  • Believing logs delete DAGs
2. Which command correctly shows logs for a task named process_data in DAG daily_report for date 2024-06-01?
easy
A. airflow tasks logs daily_report process_data 2024-06-01
B. airflow logs show daily_report process_data 2024-06-01
C. airflow show logs daily_report process_data 2024-06-01
D. airflow task logs daily_report process_data 2024-06-01

Solution

  1. Step 1: Recall the correct airflow CLI syntax for logs

    The correct command is airflow tasks logs <dag_id> <task_id> <execution_date>.
  2. Step 2: Match the command with given task and date

    airflow tasks logs daily_report process_data 2024-06-01 matches the syntax exactly with correct order and spelling.
  3. Final Answer:

    airflow tasks logs daily_report process_data 2024-06-01 -> Option A
  4. Quick Check:

    Correct airflow logs command = A [OK]
Hint: Use 'airflow tasks logs DAG task date' exactly [OK]
Common Mistakes:
  • Swapping 'tasks' and 'logs' words
  • Using 'show' or 'task' incorrectly
  • Wrong command order
3. You run airflow tasks logs sales_report generate_summary 2024-06-02 and see an error about missing file. What does this log output indicate?
medium
A. The task succeeded without issues
B. The DAG did not run on that date
C. The Airflow scheduler is down
D. The task failed because it could not find a required file

Solution

  1. Step 1: Analyze the log error message about missing file

    An error about a missing file means the task tried to access a file that does not exist or is not reachable.
  2. Step 2: Understand the implication for task status

    This error causes the task to fail because it cannot complete its work without the file.
  3. Final Answer:

    The task failed because it could not find a required file -> Option D
  4. Quick Check:

    Missing file error means task failure = C [OK]
Hint: Missing file error means task failure [OK]
Common Mistakes:
  • Assuming task succeeded despite error
  • Confusing DAG run status with task logs
  • Thinking scheduler status is shown in task logs
4. You try to view logs with airflow tasks logs my_dag my_task 2024-06-05 but get a 'No logs found' message. What is the most likely cause?
medium
A. The DAG is paused
B. The task has not run yet for that date
C. Airflow is not installed
D. The command syntax is incorrect

Solution

  1. Step 1: Understand what 'No logs found' means in Airflow

    This message usually means no logs exist because the task has not executed for the given date.
  2. Step 2: Check other options for plausibility

    The command syntax is correct, Airflow installed is unrelated, and paused DAGs still keep logs from past runs.
  3. Final Answer:

    The task has not run yet for that date -> Option B
  4. Quick Check:

    No logs means no task run yet = D [OK]
Hint: No logs means task not run yet for that date [OK]
Common Mistakes:
  • Assuming command syntax error
  • Thinking Airflow is missing
  • Confusing paused DAG with no logs
5. You want to troubleshoot why your Airflow task data_cleanup in DAG weekly_maintenance fails intermittently. Which approach best helps you find the root cause using logs?
hard
A. Check logs for multiple recent runs to find patterns of failure
B. Delete all logs to force fresh logging
C. Restart Airflow scheduler without checking logs
D. Change the DAG schedule to run more often

Solution

  1. Step 1: Understand the goal of troubleshooting intermittent failures

    Intermittent failures require comparing multiple runs to see when and why failures happen.
  2. Step 2: Identify the best log inspection method

    Checking logs from several recent runs helps spot patterns or recurring errors causing failure.
  3. Final Answer:

    Check logs for multiple recent runs to find patterns of failure -> Option A
  4. Quick Check:

    Compare multiple logs to find failure patterns = B [OK]
Hint: Compare logs from several runs to spot failure patterns [OK]
Common Mistakes:
  • Deleting logs loses important info
  • Restarting scheduler ignores root cause
  • Changing schedule doesn't fix errors
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