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
Recall & Review
beginner
What is monitoring in DevOps?
Monitoring is the process of continuously checking the health and performance of systems using tools that collect and display data like CPU usage, memory, and errors.
Click to reveal answer
intermediate
Define observability and how it differs from monitoring.
Observability is the ability to understand the internal state of a system by analyzing its outputs like logs, metrics, and traces. Unlike monitoring, it helps find unknown problems, not just known issues.
Click to reveal answer
beginner
Name the three main types of data used in observability.
The three main types are: 1. Metrics - numbers showing system performance 2. Logs - detailed event records 3. Traces - records of requests moving through services
Click to reveal answer
beginner
Why is alerting important in monitoring?
Alerting notifies the team immediately when something goes wrong, so they can fix issues before users notice problems.
Click to reveal answer
beginner
Give an example of a popular monitoring tool and one observability tool.
Which data type in observability shows the path of a request through multiple services?
AAlerts
BLogs
CMetrics
DTraces
✗ Incorrect
Traces record the journey of a request across different parts of a system.
What is the main goal of monitoring?
ATo fix bugs in code
BTo continuously check system health and performance
CTo deploy new software versions
DTo write documentation
✗ Incorrect
Monitoring focuses on tracking system health and performance metrics.
Which of these is NOT a typical observability data type?
ABackups
BMetrics
CTraces
DLogs
✗ Incorrect
Backups are not part of observability data; they are copies of data for recovery.
Alerting helps teams by:
AAutomatically fixing issues
BBacking up data
CNotifying when problems occur
DWriting code
✗ Incorrect
Alerting sends notifications so teams can respond quickly to issues.
Which tool is commonly used for monitoring metrics?
APrometheus
BJaeger
CGit
DDocker
✗ Incorrect
Prometheus is a popular tool for collecting and querying metrics.
Explain in your own words the difference between monitoring and observability.
Think about how monitoring is like watching a dashboard, while observability is like investigating a mystery.
You got /3 concepts.
List and describe the three main types of data used in observability.
Imagine metrics as speedometers, logs as diaries, and traces as travel maps.
You got /3 concepts.
Practice
(1/5)
1. What is the main purpose of monitoring in a software system?
easy
A. To check if the system is working right now
B. To predict future system failures
C. To change system configurations automatically
D. To write new features for the system
Solution
Step 1: Understand monitoring's role
Monitoring is about checking the current state of the system to see if it is working properly.
Step 2: Compare options to definition
Only To check if the system is working right now matches this purpose. Other options describe different activities like prediction, automation, or development.
Final Answer:
To check if the system is working right now -> Option A
Quick Check:
Monitoring = check current system state [OK]
Hint: Monitoring = check system now, not future or changes [OK]
Common Mistakes:
Confusing monitoring with observability
Thinking monitoring predicts future issues
Assuming monitoring changes system behavior
2. Which of the following is a correct example of a monitoring tool?
easy
A. Visual Studio Code
B. Prometheus
C. Dockerfile
D. GitHub
Solution
Step 1: Identify monitoring tools
Prometheus is a popular open-source monitoring tool used to collect and query metrics.
Step 2: Check other options
GitHub is for code hosting, Dockerfile is for container setup, and Visual Studio Code is a code editor, none are monitoring tools.
Final Answer:
Prometheus -> Option B
Quick Check:
Prometheus = monitoring tool [OK]
Hint: Prometheus is a classic monitoring tool name [OK]
Common Mistakes:
Confusing code tools with monitoring tools
Thinking Dockerfile is a monitoring tool
Mixing development tools with monitoring
3. Given this Prometheus query: up{job="api-server"} == 1, what does it show?
medium
A. The total number of api-server jobs
B. All api-server jobs that are down
C. All api-server jobs that are currently up (running)
D. The CPU usage of api-server jobs
Solution
Step 1: Understand the query meaning
The metric up is 1 when a target is up (running), 0 if down. The filter {job="api-server"} selects only api-server jobs.
Step 2: Interpret the comparison
The query checks where up == 1, so it shows api-server jobs currently running.
Final Answer:
All api-server jobs that are currently up (running) -> Option C
Quick Check:
up == 1 means running targets [OK]
Hint: up == 1 means service is running [OK]
Common Mistakes:
Thinking up == 1 means down
Confusing metric with count
Assuming it shows CPU usage
4. You see this error in your monitoring setup: error parsing query: unexpected token. What is the most likely cause?
medium
A. Server hardware failure
B. Network failure between server and client
C. Monitoring tool is not installed
D. Syntax error in the query expression
Solution
Step 1: Analyze the error message
The message says "error parsing query" and "unexpected token", which means the query syntax is wrong.
Step 2: Rule out other causes
Network failure, missing tool, or hardware failure would cause different errors, not parsing errors.
Final Answer:
Syntax error in the query expression -> Option D
Quick Check:
Parsing error = syntax mistake [OK]
Hint: Parsing errors mean syntax mistakes in queries [OK]
Common Mistakes:
Assuming network or hardware issues cause parsing errors
Ignoring the error message details
Thinking the tool is missing
5. You want to improve observability by adding tracing to your microservices. Which approach best helps you understand why requests fail inside your system?
hard
A. Use distributed tracing to follow requests across services
B. Add more CPU and memory to servers
C. Increase the frequency of monitoring alerts
D. Write more unit tests for each service
Solution
Step 1: Understand observability and tracing
Observability helps explain why things happen. Distributed tracing tracks requests across services to find where failures occur.
Step 2: Evaluate options for observability
Adding resources or alerts or tests does not directly show why requests fail inside the system.
Final Answer:
Use distributed tracing to follow requests across services -> Option A
Quick Check:
Tracing = understand request flow and failures [OK]
Hint: Tracing shows request path and failure reasons [OK]