Advanced Monitoring & Observability test (Advanced)
40 questions · 40 minutes · Free
OpenTelemetry, scaling observability and incident response.
Take the Advanced Monitoring & Observability test
What it covers
- OpenTelemetry
- High-cardinality metrics
- Scaling Prometheus
- Incident response
- Postmortems
Interview format
- Questions: 40 questions — 24 multiple choice, 12 multi-answer, 4 predict-the-output
- Time: 40 minutes, timed from the first question
- Difficulty: Advanced
- Skill area: DevOps & cloud
- Price: Free
Earn a certificate
The Advanced Monitoring & Observability test is one of the 8 tests of the DevOps Engineer: Advanced learning path. Pass it and the other 7 tests at 70% or more and readyforhires issues you a verifiable certificate in your name, with its own code and verify link to share or add to LinkedIn.
Sample questions
5 sample questions from the Advanced Monitoring & Observability test, with the answers. Samples are taken out of the live test, so you will not meet these when you sit it.
Which of the following is a widely used open-source monitoring tool that supports metrics collection, querying, and alerting, making it suitable for advanced monitoring and observability use cases?
- Prometheus
- Grafana
- Elasticsearch
- Fluentd
Answer: A. Prometheus
Prometheus is a widely used open-source monitoring tool designed for reliability, scalability, and performance. It supports metrics collection, querying, and alerting, making it suitable for advanced monitoring and observability use cases. Other tools like Grafana are visualization tools, Elasticsearch is a search engine, and Fluentd is a data collector, which makes them less appropriate for the primary monitoring task.
In a distributed system using OpenTelemetry, which approach should be used to ensure proper trace correlation across multiple services?
- Use the same trace ID across all services involved in the request
- Use unique trace IDs for each service to avoid conflicts
- Ignore trace IDs and rely on logs for correlation
- Use span IDs instead of trace IDs for correlating spans across services
Answer: A. Use the same trace ID across all services involved in the request
In a realistic project scenario, OpenTelemetry trace correlation ensures that all spans across different services are linked by using the same trace ID. This allows for end-to-end visibility of a request as it flows through various components of a distributed system. Options that suggest using different trace IDs, ignoring trace IDs, or using span IDs for correlation are incorrect as they do not align with the principles of trace correlation.
You are monitoring a large cluster with over 10,000 instances, and you want to optimize the performance of your PromQL query to avoid excessive resource usage. Which of the following is the best practice for aggregating metrics across instances?
- Use the `count by (job)` function to aggregate metrics across instances
- Filter metrics with `unless` before aggregation to reduce result size
- Use `rate()` on individual time series instead of aggregating first
- Apply `topk()` on unaggregated metrics to limit results
Answer: A. Use the `count by (job)` function to aggregate metrics across instances
Using aggregation functions like `count by (job)` helps reduce the number of time series processed, which improves query performance. Other options may lead to inefficient queries or incorrect results in the context of high-cardinality metrics.
Which of the following is an effective PromQL query optimization technique to reduce computational overhead and improve performance?
- Selecting all labels without any filtering is the most efficient way to optimize queries.
- Using the 'on' clause without specifying labels always increases query performance.
- Using 'without' to remove labels has no impact on query performance.
- Using the 'by' clause to group results by label reduces cardinality and improves performance.
Answer: D. Using the 'by' clause to group results by label reduces cardinality and improves performance.
Using the 'by' clause allows PromQL to group results by specific labels, reducing the overall number of time series processed and improving query performance. Other options, such as using 'without' or 'on' without context, may not optimize performance or could even degrade it. Selecting all labels without filtering also increases computational overhead.
Which of the following statements is true regarding PromQL query optimization?
- Using the 'on' clause in a join operation always increases query execution time.
- Using the 'by' clause to group by a specific label reduces the number of time series processed in the query.
- Using the 'or' operator between two metrics merges their time series and reduces query processing time.
- Using the 'without' clause increases the number of time series processed in the query.
Answer: B. Using the 'by' clause to group by a specific label reduces the number of time series processed in the query.
In PromQL, using the 'by' clause to group by a specific label helps reduce the number of time series processed in the query, which improves performance. Other options may not directly contribute to query optimization or may be incorrect in terms of how PromQL behaves.
Frequently asked questions
- How many questions are in the Advanced Monitoring & Observability test?
- 40 questions (24 multiple choice, 12 multi-answer, 4 predict-the-output), with 40 minutes to answer them.
- What does the Advanced Monitoring & Observability test cover?
- OpenTelemetry, High-cardinality metrics, Scaling Prometheus, Incident response, Postmortems.
- Is the Advanced Monitoring & Observability test free?
- Yes. It is free to take with a readyforhires account.
- What level is the Advanced Monitoring & Observability test?
- Advanced, in DevOps & cloud.