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 the purpose of the Cluster Health API in Elasticsearch?
The Cluster Health API provides information about the health status of an Elasticsearch cluster, including the status of nodes, shards, and indices to help monitor cluster stability and performance.
Click to reveal answer
beginner
What are the possible health status values returned by the Cluster Health API?
The health status can be green (all primary and replica shards are active), yellow (all primary shards are active but some replicas are not), or red (some primary shards are not active).
Click to reveal answer
beginner
How do you request the cluster health status using the Elasticsearch REST API?
You send a GET request to /_cluster/health. For example: GET /_cluster/health returns the overall cluster health.
Click to reveal answer
intermediate
What does the wait_for_status parameter do in the Cluster Health API?
It makes the API call wait until the cluster reaches the specified health status (green, yellow, or red) or until a timeout occurs, useful for monitoring or automation.
Click to reveal answer
intermediate
What key information does the Cluster Health API response include?
The response includes cluster name, status, number of nodes, number of data nodes, active primary shards, active shards, relocating shards, initializing shards, unassigned shards, and timed_out flag.
Click to reveal answer
Which HTTP method is used to check cluster health in Elasticsearch?
ADELETE
BGET
CPUT
DPOST
✗ Incorrect
The Cluster Health API uses the GET method to retrieve health information.
What does a 'yellow' status mean in cluster health?
AAll primary shards are active but some replicas are not
BSome primary shards are not active
CAll primary and replica shards are active
DCluster is offline
✗ Incorrect
Yellow means all primary shards are active but some replica shards are not.
Which parameter makes the Cluster Health API wait for a specific status?
Await_for_nodes
Blevel
Ctimeout
Dwait_for_status
✗ Incorrect
The 'wait_for_status' parameter waits until the cluster reaches the specified health status.
What does the 'timed_out' field in the response indicate?
AThe API call timed out before reaching the desired status
BThe cluster is down
CThe cluster is healthy
DThe API call was successful
✗ Incorrect
The 'timed_out' field shows if the API call timed out waiting for the cluster to reach the requested status.
Which endpoint is used to get health information for a specific index?
A/_cluster/health
B/index_name/_health
C/_cluster/health/index_name
D/_health/index_name
✗ Incorrect
You append the index name to the cluster health endpoint to get health info for that index.
Explain how the Cluster Health API helps monitor an Elasticsearch cluster.
Think about what information you get and how it shows cluster stability.
You got /4 concepts.
Describe the meaning of green, yellow, and red statuses in the Cluster Health API.
Relate the colors to shard availability.
You got /3 concepts.
Practice
(1/5)
1. What does the Elasticsearch Cluster Health API primarily provide?
easy
A. The current health status of the Elasticsearch cluster
B. The list of all documents in the cluster
C. The configuration settings of the cluster nodes
D. The query performance statistics
Solution
Step 1: Understand the purpose of Cluster Health API
The Cluster Health API is designed to report the health status of the Elasticsearch cluster, such as green, yellow, or red status.
Step 2: Compare with other options
Options B, C, and D relate to documents, configuration, and performance, which are not the main focus of the Cluster Health API.
Final Answer:
The current health status of the Elasticsearch cluster -> Option A
Quick Check:
Cluster Health API = Cluster health status [OK]
Hint: Cluster Health API shows cluster status, not data or config [OK]
Common Mistakes:
Confusing cluster health with document data
Thinking it shows node configuration
Assuming it reports query stats
2. Which of the following is the correct syntax to get the cluster health using Elasticsearch REST API?
easy
A. GET /_cluster/health
B. POST /_cluster/health
C. GET /_cluster/status
D. POST /_health/cluster
Solution
Step 1: Recall the correct HTTP method and endpoint
The Cluster Health API uses the GET method with the endpoint /_cluster/health.
Step 2: Eliminate incorrect options
POST is not used for this API, and the endpoint must be exactly /_cluster/health. Options C and D have wrong endpoints.
Final Answer:
GET /_cluster/health -> Option A
Quick Check:
GET + /_cluster/health = Correct syntax [OK]
Hint: Use GET method with /_cluster/health endpoint [OK]
Common Mistakes:
Using POST instead of GET
Wrong endpoint like /_cluster/status
Mixing endpoint parts
3. What will be the output status if the cluster has all primary and replica shards allocated properly?
medium
A. "status": "red"
B. "status": "yellow"
C. "status": "blue"
D. "status": "green"
Solution
Step 1: Understand cluster health statuses
Green means all primary and replica shards are allocated properly, yellow means replicas missing but primaries allocated, red means some primaries missing.
Step 2: Match the condition to status
Since all primary and replica shards are allocated, the status is green.
Final Answer:
"status": "green" -> Option D
Quick Check:
All shards allocated = green status [OK]
Hint: Green means all shards allocated, yellow means some replicas missing [OK]
Common Mistakes:
Confusing yellow with green
Thinking red means healthy
Assuming blue is a valid status
4. You run GET /_cluster/health?level=shards but get an error. What is the likely cause?
medium
A. The query parameter should be detail=shards instead
B. The HTTP method should be POST, not GET
C. The level parameter does not accept 'shards' as a value
D. The endpoint should be /_cluster/status
Solution
Step 1: Check valid values for level parameter
The Cluster Health API accepts level values like 'cluster', 'indices', and 'shards'. However, 'shards' is only supported in newer versions and may cause errors if unsupported.
Step 2: Analyze other options
GET is correct method, endpoint is correct, and detail is not a valid parameter for this API.
Final Answer:
The level parameter does not accept 'shards' as a value -> Option C
Quick Check:
Invalid level value causes error [OK]
Hint: Check if 'level=shards' is supported in your Elasticsearch version [OK]
Common Mistakes:
Using POST instead of GET
Wrong endpoint /_cluster/status
Using invalid query parameters
5. You want to monitor your cluster health and get detailed info about each index's health. Which API call should you use?
hard
A. GET /_cluster/health?level=cluster
B. GET /_cluster/health?level=indices
C. GET /_cluster/state?filter_path=metadata.indices
D. GET /_nodes/stats
Solution
Step 1: Identify the parameter for detailed index health
The level=indices parameter in the Cluster Health API returns health info for each index.
Step 2: Compare with other options
level=cluster gives overall cluster health only; /_cluster/state and /_nodes/stats provide different info unrelated to health per index.
Final Answer:
GET /_cluster/health?level=indices -> Option B
Quick Check:
Use level=indices for per-index health details [OK]
Hint: Use level=indices to get health info per index [OK]