[Elasticsearch - CLI] Health check Elasticsearch cluster
Điều đầu tiên bạn cần biết về Elasticsearch cluster của mình trước khi thực hiện bất kỳ thao tác nào là tình trạng sức khỏe của nó. Có nhiều cách để thu thập thông tin này, nhưng cách đơn giản và tiện lợi nhất là sử dụng Cluster APIs, đặc biệt là cluster health endpoint.
$ http https://localhost:9200/_cluster/health
Lưu ý: trong hướng dẫn này có sử dụng http
command, vui lòng cài đặt httpie-cli (https://github.com/httpie/cli) or dùng bất cứ http-cli nào bạn thích!
Kết quả:
{
"active_primary_shards": 0,
"active_shards": 0,
"active_shards_percent_as_number": 100.0,
"cluster_name": "es-catalog",
"delayed_unassigned_shards": 0,
"initializing_shards": 0,
"number_of_data_nodes": 3,
"number_of_in_flight_fetch": 0,
"number_of_nodes": 3,
"number_of_pending_tasks": 0,
"relocating_shards": 0,
"status": "green",
"task_max_waiting_in_queue_millis": 0,
"timed_out": false,
"unassigned_shards": 0
}
Điểm quan trọng cần chú ý ở đây là status indicator. Nếu trạng thái là "green"
, có nghĩa là tất cả shards đã được phân bổ đầy đủ và cluster đang hoạt động ổn định. 🎉
Tuy nhiên, nếu bạn thấy trạng thái "yellow"
hoặc "red"
, thì có thể có một số vấn đề cần khắc phục.
Ví dụ, nếu cluster chuyển sang red, điều đó có nghĩa là một số primary shards không thể được gán cho bất kỳ node nào, điều này có thể làm gián đoạn hoạt động tìm kiếm hoặc ghi dữ liệu. Dưới đây là một ví dụ về red status:
{
"active_primary_shards": 5,
"active_shards": 5,
"active_shards_percent_as_number": 20.0,
"cluster_name": "es-catalog",
"delayed_unassigned_shards": 0,
"initializing_shards": 0,
"number_of_data_nodes": 1,
"number_of_in_flight_fetch": 0,
"number_of_nodes": 1,
"number_of_pending_tasks": 0,
"relocating_shards": 0,
"status": "red",
"task_max_waiting_in_queue_millis": 0,
"timed_out": false,
"unassigned_shards": 20
}
Nếu cluster của bạn chuyển sang red, điều đó có nghĩa là chắc chắn có vấn đề cần khắc phục. Elasticsearch cung cấp một số APIs hữu ích để hỗ trợ bạn kiểm tra sâu hơn, bao gồm:
- Cluster Statistics API
- Cluster State API
- Cluster Node Level Statistics API
- Cluster Node Indices Statistics API
Ngoài ra, còn có một nhóm API quan trọng khác gọi là Cat APIs. Khác với các API thông thường trả về dữ liệu dưới dạng JSON, Cat APIs hiển thị thông tin ở dạng văn bản thu gọn, dễ đọc trên terminal.
Vậy là chúng ta đã tìm hiểu cách kiểm tra tình trạng sức khỏe của Elasticsearch cluster. Trong phần tiếp theo, chúng ta sẽ tìm hiểu về Indices và cách chúng ta có thể sử dụng chúng để tổ chức dữ liệu trong Elasticsearch. 🚀
All rights reserved
Bình luận