Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Why logging tracks server behavior
📖 Scenario: You are managing a web server using nginx. To understand how your server behaves and to troubleshoot issues, you need to set up logging. Logs help you see what requests your server receives and how it responds.
🎯 Goal: Learn how to enable and configure basic logging in nginx to track server behavior.
📋 What You'll Learn
Create a basic nginx server block configuration
Add an access log directive with a specific log file path
Add an error log directive with a specific log file path and log level
Print the final server block configuration
💡 Why This Matters
🌍 Real World
Web servers use logging to record all requests and errors. This helps system administrators understand traffic patterns and fix problems quickly.
💼 Career
Knowing how to configure logging in nginx is a key skill for DevOps engineers and system administrators managing web infrastructure.
Progress0 / 4 steps
1
Create a basic nginx server block
Create a server block in nginx configuration with listen 80; and server_name example.com; inside server { }.
Nginx
Hint
Use server { } block with listen 80; and server_name example.com;.
2
Add access log directive
Inside the existing server { } block, add an access_log directive with the path /var/log/nginx/access.log.
Nginx
Hint
Use access_log /var/log/nginx/access.log; inside the server block.
3
Add error log directive with log level
Inside the server { } block, add an error_log directive with the path /var/log/nginx/error.log and log level warn.
Nginx
Hint
Use error_log /var/log/nginx/error.log warn; inside the server block.
4
Print the final nginx server block configuration
Print the complete server block configuration exactly as written, including listen, server_name, access_log, and error_log directives.
Nginx
Hint
Use a print statement to display the full server block configuration.
Practice
(1/5)
1. Why does nginx keep logs of server activity?
easy
A. To slow down the server performance
B. To record what the server does and any problems it encounters
C. To delete old files automatically
D. To increase the server's memory usage
Solution
Step 1: Understand the purpose of logging
Logging is used to keep a record of server actions and errors for monitoring and troubleshooting.
Step 2: Identify the correct reason for nginx logging
nginx logs server activity to help administrators track behavior and fix issues.
Final Answer:
To record what the server does and any problems it encounters -> Option B
Quick Check:
Logging = record server actions and errors [OK]
Hint: Logging tracks server actions and errors for monitoring [OK]
Common Mistakes:
Thinking logging slows server down
Confusing logging with file deletion
Assuming logging increases memory use
2. Which of the following is the correct nginx directive to enable access logging?
easy
A. access_log /var/log/nginx/access.log;
B. log_access /var/log/nginx/access.log;
C. enable_access_log /var/log/nginx/access.log;
D. accesslog /var/log/nginx/access.log;
Solution
Step 1: Recall nginx logging syntax
The correct directive to enable access logging is access_log followed by the log file path.
Step 2: Compare options to correct syntax
Only access_log /var/log/nginx/access.log; uses the exact directive access_log with proper syntax.
3. Given this nginx log entry: 127.0.0.1 - - [10/Oct/2023:13:55:36 +0000] "GET /index.html HTTP/1.1" 200 1024 "-" "Mozilla/5.0", what does the status code 200 indicate?
medium
A. The requested page was not found
B. The server encountered an internal error
C. The request was successful
D. The client is unauthorized
Solution
Step 1: Understand HTTP status codes in logs
Status code 200 means the server successfully processed the request.
Step 2: Match code to meaning
200 means success; 404 means not found; 500 means server error; 401 means unauthorized.
Final Answer:
The request was successful -> Option C
Quick Check:
200 = success status code [OK]
Hint: 200 means success in HTTP status codes [OK]
Common Mistakes:
Confusing 200 with error codes
Mixing client and server error codes
Ignoring status code meaning
4. You notice nginx error logs are empty even though the server has issues. Which configuration mistake could cause this?
medium
A. Missing error_log directive or wrong file path
B. Using access_log instead of error_log
C. Setting error_log level to crit instead of error
D. All of the above
Solution
Step 1: Check error log directive presence and path
If error_log is missing or points to wrong file, errors won't be recorded.
Step 2: Verify correct directive and log level
Using access_log won't capture errors. Also, setting log level too high (like crit) may miss error messages.
Final Answer:
All of the above -> Option D
Quick Check:
Error logs need correct directive, path, and level [OK]
Hint: Check error_log directive, path, and level carefully [OK]
Common Mistakes:
Confusing access_log with error_log
Ignoring log file path correctness
Setting log level too high
5. How can proper nginx logging help improve server security?
hard
A. By tracking suspicious requests and detecting attacks early
B. By automatically blocking all IP addresses
C. By deleting old log files to save space
D. By increasing server CPU usage
Solution
Step 1: Understand logging role in security
Logs record all requests, including suspicious ones, helping identify attacks or unauthorized access.
Step 2: Identify how logs improve security
By analyzing logs, admins can detect patterns of attacks and respond quickly to protect the server.
Final Answer:
By tracking suspicious requests and detecting attacks early -> Option A
Quick Check:
Logging helps detect attacks early [OK]
Hint: Logs reveal suspicious activity for quick security response [OK]