Cách Kiểm Tra Tình Trạng Sức Khỏe Cụm Elasticsearch Bằng CLI
Khi làm việc với cụm Elasticsearch, việc đầu tiên bạn cần nắm rõ là tình trạng sức khỏe của cụm đó. Để thực hiện bất kỳ thao tác nào, tình trạng sức khỏe là một yếu tố hàng đầu. Có nhiều phương pháp để thu thập thông tin sức khỏe của cụm, nhưng cách đơn giản và hiệu quả nhất là sử dụng Cluster APIs, đặc biệt là cluster health endpoint.
Thực hiện Kiểm Tra Sức Khỏe Cụm
Để kiểm tra sức khỏe của cụm, bạn chỉ cần thực hiện lệnh sau trên terminal của mình:
$ http https://localhost:9200/_cluster/health
Lưu ý: Đảm bảo rằng bạn đã cài đặt httpie-cli
từ dự án GitHub của httpie hoặc sử dụng bất kỳ công cụ CLI HTTP khác mà bạn thích!
Kết Quả Trả Về
Khi bạn thực hiện lệnh trên, một kết quả JSON sẽ được trả về, tương tự như sau:
{
"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
}
Ý Nghĩa Của Trạng Thái
Điểm quan trọng cần lưu ý là status indicator. Nếu trạng thái là "green", điều đó có nghĩa là tất cả các shards đã được phân bổ đầy đủ và cụm đang hoạt động ổn định. 🎉
Tuy nhiên, nếu bạn thấy trạng thái "yellow" hoặc "red", căng thẳng có vẻ đang xảy ra và có thể cần khắc phục ngay lập tức.
Trạng thái đỏ (Red Status)
Nếu cụm của bạn chuyển sang trạng thái 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ể gây gián đoạn hoạt động tìm kiếm hoặc ghi dữ liệu. Dưới đây là ví dụ về trạng thái đỏ:
{
"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
}
Khi cụm ở trạng thái đỏ, bạn cần phải ngay lập tức điều tra nguyên nhân và khắc phục các vấn đề phát sinh. Elasticsearch cung cấp nhiều APIs hữu ích giúp bạn kiểm tra kỹ càng 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 đượ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 cho phép bạn xem thông tin ở dạng văn bản đơn giản, dễ đọc và thân thiện hơn với người dùng trên terminal.
Kết Luận
Với những thông tin trên, bạn đã nắm rõ cách kiểm tra tình trạng sức khỏe của cụm Elasticsearch. Trong phần tiếp theo, chúng ta sẽ nghiên cứu về Indices và cách chúng ta có thể sử dụng chúng để tổ chức dữ liệu trong Elasticsearch. 🚀