📖 Scenario: You are a data engineer managing workflows using Apache Airflow. Sometimes, tasks fail and you need to check the logs to find out what went wrong. This project will guide you through inspecting Airflow task logs and identifying errors.
🎯 Goal: Learn how to locate and read Airflow task logs to troubleshoot failures effectively.
📋 What You'll Learn
Access to Airflow logs directory
Basic understanding of Airflow task and DAG names
Ability to use command line tools to read log files
💡 Why This Matters
🌍 Real World
In real Airflow setups, logs help data engineers quickly find why a task failed and fix issues to keep data pipelines running smoothly.
💼 Career
Knowing how to inspect and troubleshoot Airflow logs is a key skill for data engineers and DevOps professionals managing workflow automation.
Progress0 / 4 steps
1
Identify the log file path
Create a variable called log_path and set it to the string "/usr/local/airflow/logs/example_dag/example_task/2024-06-01T00:00:00+00:00/1.log" which is the exact path to the log file for a specific Airflow task run.
Apache Airflow
Hint
The log path includes the DAG name, task name, execution date, and try number.
2
Set a keyword to search for errors
Create a variable called error_keyword and set it to the string "ERROR" which will be used to find error lines in the log file.
Apache Airflow
Hint
Use uppercase "ERROR" to match typical log error lines.
3
Read the log file and filter error lines
Open the file at log_path, read all lines, and create a list called error_lines that contains only the lines which include the error_keyword string.
Apache Airflow
Hint
Use a list comprehension to filter lines containing the error keyword.
4
Display the error lines
Print the error_lines list to show all error messages found in the log file.
Apache Airflow
Hint
Use print(error_lines) to display the list of error lines.
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
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.
Step 2: Identify the purpose of inspecting logs
Inspecting logs helps to see the step-by-step execution and find errors or confirm success.
Final Answer:
To understand what happened during task execution step-by-step -> Option C
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
Step 1: Recall the correct airflow CLI syntax for logs
The correct command is airflow tasks logs <dag_id> <task_id> <execution_date>.
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.
Final Answer:
airflow tasks logs daily_report process_data 2024-06-01 -> Option A
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
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.
Step 2: Understand the implication for task status
This error causes the task to fail because it cannot complete its work without the file.
Final Answer:
The task failed because it could not find a required file -> Option D
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
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.
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.
Final Answer:
The task has not run yet for that date -> Option B
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
Step 1: Understand the goal of troubleshooting intermittent failures
Intermittent failures require comparing multiple runs to see when and why failures happen.
Step 2: Identify the best log inspection method
Checking logs from several recent runs helps spot patterns or recurring errors causing failure.
Final Answer:
Check logs for multiple recent runs to find patterns of failure -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.