Which statement best describes the difference between monitoring and observability in a software system?
Think about how each helps with known vs unknown problems.
Monitoring focuses on collecting specific metrics and alerting on known issues. Observability provides deeper insight by combining logs, metrics, and traces to understand unknown problems.
Given the Prometheus query rate(http_requests_total[5m]), what does the output represent?
Consider what rate() function calculates in Prometheus.
The rate() function calculates the per-second average increase of a counter over the specified time window, here 5 minutes.
Which Prometheus alert rule configuration will correctly trigger an alert when CPU usage exceeds 80% for 5 minutes?
groups:
- name: cpu_alerts
rules:
- alert: HighCPUUsage
expr: avg(rate(cpu_seconds_total[1m])) by (instance) > 0.8
for: 5m
labels:
severity: critical
annotations:
summary: "CPU usage is above 80%"
description: "Instance {{ $labels.instance }} CPU usage is above 80% for more than 5 minutes."Look for the expression that calculates CPU usage rate averaged per instance over a short interval and checks if it exceeds 0.8 (80%).
Option D uses avg(rate(cpu_seconds_total[1m])) by (instance) which calculates the average CPU usage rate per instance over 1 minute, then alerts if above 0.8 for 5 minutes.
You notice that some traces in your distributed tracing system are missing logs from certain services. What is the most likely cause?
Think about what is required for logs to appear in traces from each service.
If services are not instrumented correctly, they won't send logs to the tracing system, causing missing logs in traces.
Arrange the following steps in the correct order to implement observability effectively in a new microservices project.
Start by defining goals, then instrument, then collect data, then alert.
First define KPIs and SLOs to know what to measure, then instrument services, set up collection platform, and finally create alerts.