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
Kibana Setup and Connection
📖 Scenario: You are setting up Kibana to visualize data stored in Elasticsearch. Kibana needs to connect to your Elasticsearch cluster to fetch and display data.
🎯 Goal: Set up a basic Kibana configuration file to connect to a local Elasticsearch instance and verify the connection by checking the cluster health.
📋 What You'll Learn
Create a Kibana configuration file with the Elasticsearch URL
Set a timeout value for the connection
Write a command or script to check the Elasticsearch cluster health
Print the cluster health status to confirm connection
💡 Why This Matters
🌍 Real World
Kibana is a popular tool to visualize and analyze data stored in Elasticsearch. Setting up the connection correctly is the first step to use Kibana dashboards.
💼 Career
Many jobs in data analysis, DevOps, and backend development require configuring and troubleshooting Elasticsearch and Kibana connections.
Progress0 / 4 steps
1
Create Kibana configuration with Elasticsearch URL
Create a file named kibana.yml and add the line elasticsearch.hosts: ["http://localhost:9200"] to specify the Elasticsearch URL.
Elasticsearch
Hint
This line tells Kibana where to find Elasticsearch. Use the exact URL http://localhost:9200.
2
Add connection timeout setting
In the kibana.yml file, add the line elasticsearch.requestTimeout: 30000 to set the connection timeout to 30 seconds.
Elasticsearch
Hint
This setting controls how long Kibana waits for a response from Elasticsearch.
3
Check Elasticsearch cluster health
Write a shell command to check the Elasticsearch cluster health by sending a GET request to http://localhost:9200/_cluster/health using curl.
Elasticsearch
Hint
The -s option makes curl silent except for the output.
4
Print cluster health status
Use the curl command output and print only the status field from the JSON response using jq. The command should be curl -s http://localhost:9200/_cluster/health | jq -r '.status'.
Elasticsearch
Hint
This command prints the cluster health status like green, yellow, or red.
Practice
(1/5)
1. What is the main requirement before starting Kibana to ensure it works properly?
easy
A. The browser must be Internet Explorer
B. Kibana must be installed on a different server
C. Elasticsearch must be running
D. A database connection must be configured
Solution
Step 1: Understand Kibana's dependency
Kibana is a visualization tool that requires Elasticsearch to provide data.
Step 2: Confirm service requirement
Without Elasticsearch running, Kibana cannot fetch or display data.
Final Answer:
Elasticsearch must be running -> Option C
Quick Check:
Kibana needs Elasticsearch running [OK]
Hint: Remember: Kibana shows data from Elasticsearch only [OK]
Common Mistakes:
Thinking Kibana works standalone without Elasticsearch
Confusing Kibana with a database
Assuming any browser works without checking compatibility
2. Which setting in kibana.yml specifies the Elasticsearch server address?
easy
A. elasticsearch.hosts
B. server.port
C. kibana.index
D. logging.dest
Solution
Step 1: Identify configuration purpose
The kibana.yml file configures Kibana settings including connection details.
Step 2: Locate Elasticsearch host setting
The setting elasticsearch.hosts defines the URL(s) of Elasticsearch nodes Kibana connects to.
Final Answer:
elasticsearch.hosts -> Option A
Quick Check:
Elasticsearch server address = elasticsearch.hosts [OK]
Hint: Look for 'elasticsearch.hosts' in kibana.yml [OK]
What URL should you open in your browser to access Kibana?
medium
A. http://localhost:9200
B. http://localhost:9200/kibana
C. http://localhost:5601/elasticsearch
D. http://localhost:5601
Solution
Step 1: Identify Kibana server port
The setting server.port: 5601 means Kibana listens on port 5601.
Step 2: Determine correct URL
To access Kibana, open the browser at http://localhost:5601. Port 9200 is for Elasticsearch, not Kibana.
Final Answer:
http://localhost:5601 -> Option D
Quick Check:
Kibana URL uses server.port = 5601 [OK]
Hint: Kibana runs on server.port, default 5601 [OK]
Common Mistakes:
Opening Elasticsearch port 9200 instead of Kibana port
Appending /kibana or /elasticsearch incorrectly
Confusing ports between services
4. You started Kibana but get a connection error. Which of these is the most likely cause?
medium
A. Elasticsearch service is not running
B. Kibana is running on port 9200
C. Browser cache is full
D. Kibana.yml file is missing
Solution
Step 1: Understand connection error cause
Kibana depends on Elasticsearch; if Elasticsearch is down, Kibana cannot connect.
Step 2: Evaluate other options
Kibana does not run on port 9200 (Elasticsearch default). Browser cache or missing config file usually cause different errors.
Final Answer:
Elasticsearch service is not running -> Option A
Quick Check:
Connection error = Elasticsearch down [OK]
Hint: Check Elasticsearch service status first [OK]
Common Mistakes:
Assuming Kibana runs on Elasticsearch port
Blaming browser cache for connection errors
Ignoring Elasticsearch service status
5. You want to connect Kibana to a remote Elasticsearch server at http://192.168.1.100:9200. Which is the correct elasticsearch.hosts setting in kibana.yml?
hard
A. elasticsearch.hosts: ["http://localhost:9200"]
B. elasticsearch.hosts: ["http://192.168.1.100:9200"]
C. elasticsearch.hosts: "192.168.1.100:5601"
D. elasticsearch.hosts: ["https://192.168.1.100:5601"]
Solution
Step 1: Identify remote Elasticsearch URL
The remote server address is http://192.168.1.100:9200, which is the default Elasticsearch port.
Step 2: Set elasticsearch.hosts correctly
The setting must be a list with the full URL including protocol and port: ["http://192.168.1.100:9200"].
Step 3: Eliminate incorrect options
elasticsearch.hosts: ["http://localhost:9200"] points to localhost, not remote. Options C and D use wrong ports or protocols for Elasticsearch.
Final Answer:
elasticsearch.hosts: ["http://192.168.1.100:9200"] -> Option B
Quick Check:
Remote Elasticsearch URL in elasticsearch.hosts list [OK]
Hint: Use full URL with http and port 9200 in elasticsearch.hosts [OK]