Quản lý và Theo dõi Elasticsearch Cluster

Trạng thái Cluster

Trạng thái Sức khỏe

Để kiểm tra trạng thái sức khỏe của cluster:
GET /_cat/health?v
Phản hồi:
[
  {
    "epoch" : "1604385398",
    "timestamp" : "06:36:38",
    "cluster" : "es65",
    "status" : "yellow",
    "node.total" : "1",
    "node.data" : "1",
    "shards" : "1340",
    "pri" : "1340",
    "relo" : "0",
    "init" : "0",
    "unassign" : "40",
    "pending_tasks" : "0",
    "max_task_wait_time" : "-",
    "active_shards_percent" : "97.1%"
  }
]
Vô hiệu hóa thời gian hiển thị:
GET /_cat/health?v&ts=false
Theo dõi quá trình phục hồi của cluster:
% while true; do curl localhost:9200/_cat/health; sleep 120; done
Nếu quá trình phục hồi kéo dài vài giờ, bạn sẽ thấy số lượng phân đoạn chưa được phân bổ giảm mạnh. Nếu số này không thay đổi, có thể có vấn đề.

Chi tiết Trạng thái Cluster

GET _cluster/health
GET /_cluster/health/es-7.7.0-2020.10.23.09.14
Trả về kết quả nếu cluster đạt trạng thái yellow trong vòng 50 giây:
GET /_cluster/health?wait_for_status=yellow&timeout=50s
Lấy thông tin chi tiết về phân đoạn:
GET /_cluster/health/twitter?level=shards
Phản hồi:
{
  "cluster_name" : "es65",
  "status" : "yellow",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 1113,
  "active_shards" : 1113,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 10,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 99.10952804986643
}
Tham số yêu cầu:
Tham số Mô tả
level Có thể là `cluster`, `indices` hoặc `shards`. Xác định mức độ chi tiết của thông tin trạng thái được trả về. Mặc định là `cluster`.
wait_for_status `green`, `yellow` hoặc `red`. Đợi (cho đến khi hết thời gian chờ) cho đến khi trạng thái cluster thay đổi thành trạng thái được cung cấp hoặc tốt hơn. Mặc định không đợi bất kỳ trạng thái nào.
wait_for_no_relocating_shards Một giá trị boolean để kiểm soát việc đợi (cho đến khi hết thời gian chờ) cho đến khi cluster không còn chuyển phân đoạn. Mặc định là `false`.
wait_for_no_initializing_shards Một giá trị boolean để kiểm soát việc đợi (cho đến khi hết thời gian chờ) cho đến khi cluster không còn khởi tạo phân đoạn. Mặc định là `false`.
wait_for_active_shards Một số nguyên để kiểm soát số lượng phân đoạn hoạt động cần đợi, `all` để đợi tất cả phân đoạn hoạt động trên cluster, hoặc `0` để không đợi. Mặc định là `0`.
wait_for_nodes Yêu cầu đợi cho đến khi số lượng N nút chỉ định sẵn sàng. Nó cũng chấp nhận các toán tử như `>=N`, `<=N`, `>N` và `
timeout Một tham số dựa trên thời gian, nếu cung cấp một `wait_for_XXX`, điều khiển thời gian chờ đợi. Mặc định là `30s`.
master_timeout Một tham số dựa trên thời gian, dùng để kiểm soát thời gian chờ đợi khi không tìm thấy hoặc mất kết nối với nút chính. Nếu không cung cấp, nó sẽ sử dụng cùng giá trị với `timeout`.
local Nếu là `true`, trả về thông tin của nút cục bộ và không cung cấp trạng thái từ nút chính. Mặc định là `false`.

Thống kê Cluster

Cho phép lấy thông tin thống kê từ góc nhìn toàn diện về cluster. API này trả về các chỉ số cơ bản của chỉ mục (số lượng phân đoạn, kích thước lưu trữ, sử dụng bộ nhớ) và thông tin về các nút hiện tại trong cluster (số lượng, vai trò, hệ điều hành, phiên bản JVM, sử dụng bộ nhớ, CPU và các plugin đã cài đặt).
GET /_cluster/stats?human&pretty
GET /_cluster/stats/nodes/{ten_nut}

Phân bổ

Phân bổ không gian

Cung cấp một bản chụp về số phân đoạn được phân bổ cho mỗi nút dữ liệu và lượng không gian đĩa mà chúng sử dụng.
GET /_cat/allocation?v
Phản hồi:
shards disk.indices disk.used disk.avail disk.total disk.percent host        ip          node
  1296       36.7gb    50.6gb     96.8gb    147.5gb           34 192.168.0.1 192.168.0.1 node02
    26                                                                                   UNASSIGNED

Fielddata

Hiển thị lượng bộ nhớ heap mà fielddata đang sử dụng trên mỗi nút dữ liệu trong cluster.
GET /_cat/fielddata?v
Hiển thị lượng bộ nhớ mà một trường cụ thể đang sử dụng:
GET /_cat/fielddata?v&fields=type

Số lượng tài liệu hoạt động

GET /_cat/count?v
GET /_cat/count/twitter?v

Thông tin về Node

Lọc Node

Một số lệnh cấp cluster có thể hoạt động trên một tập hợp con của các node, tập hợp con này có thể được chỉ định bằng bộ lọc node. Ví dụ, quản lý tác vụ, trạng thái node và thông tin node đều có thể báo cáo kết quả từ một nhóm các node đã được lọc thay vì tất cả các node.
# Không cung cấp bộ lọc, mặc định chọn tất cả các node
GET /_nodes

# Chọn tất cả các node
GET /_nodes/_all

# Chọn node cục bộ
GET /_nodes/_local

# Chọn node chính
GET /_nodes/_master

# Chọn node thông qua tên node, hỗ trợ ký tự đại diện
GET /_nodes/ten_nut_di_dong
GET /_nodes/ten_nut_di_*

# Chọn node thông qua IP, hỗ trợ ký tự đại diện
GET /_nodes/10.0.0.3,10.0.0.4
GET /_nodes/10.0.0.*

# Chọn node thông qua vai trò
GET /_nodes/_all,master:false
GET /_nodes/data:true,ingest:true
GET /_nodes/coordinating_only:true

# Chọn node thông qua thuộc tính tùy chỉnh (ví dụ như `node.attr.rack: 2` trong tệp cấu hình)
GET /_nodes/rack:2
GET /_nodes/ra*:2
GET /_nodes/ra*:2*

Thông tin Master

GET /_cat/master?format=json
Phản hồi:
[
  {
    "id" : "B-M3lfhbQfS88kIq64pECQ",
    "host" : "192.168.0.1",
    "ip" : "192.168.0.1",
    "node" : "node02"
  }
]

Thuộc tính Node

GET /_cat/nodeattrs?v

Thông tin Node

Hiển thị cấu trúc cluster, thông tin về các node khác nhau.
GET /_cat/nodes?v

Thống kê Node

Cho phép lấy thông tin thống kê từ một hoặc nhiều (hoặc tất cả) các node cluster.
GET /_nodes/stats?human&pretty
GET /_nodes/id_nut1,id_nut2/stats

Thông tin Chỉ mục

Thống kê Chỉ mục

Thông tin thống kê cấp chỉ mục cung cấp về các hoạt động khác nhau diễn ra trên chỉ mục. Cung cấp thông tin về phạm vi cấp chỉ mục (mặc dù hầu hết các thông tin thống kê cũng có thể được truy xuất ở cấp độ node).

Danh sách Chỉ mục

GET /_cat/indices?v

Phân đoạn

Thông tin chi tiết

Cung cấp thông tin chi tiết về phân đoạn nào nằm trên các node nào. Nó sẽ cho biết đó là phân đoạn chính hay phụ, số lượng tài liệu, dung lượng trên đĩa và node chứa nó.
GET _cat/shards?v
GET _cat/shards/twitt*

Phân đoạn chưa được phân bổ

GET _cat/shards?h=index,shard,prirep,state,unassigned.reason

Segment

Thông tin cơ bản

Cung cấp thông tin cơ bản về các segment trong phân đoạn chỉ mục.
GET /_cat/segments?v

Cấu hình Cluster

Lấy cấu hình

GET /_cluster/settings
GET /_cluster/settings?include_defaults=true

Cấu hình cố định

PUT /_cluster/settings
{
    "persistent" : {
        "indices.recovery.max_bytes_per_sec" : "50mb"
    }
}

Cấu hình tạm thời

PUT /_cluster/settings?flat_settings=true
{
    "transient" : {
        "indices.recovery.max_bytes_per_sec" : "20mb"
    }
}

Khôi phục cấu hình

PUT /_cluster/settings
{
    "transient" : {
        "indices.recovery.max_bytes_per_sec" : null
    }
}

Tác vụ

Tác vụ chờ xử lý

GET /_cat/pending_tasks?v

Tác vụ Quản lý

Cho phép lấy thông tin về các tác vụ đang chạy trên một hoặc nhiều node trong cluster.
GET _tasks 
GET _tasks?nodes=id_nut1,id_nut2 
GET _tasks?nodes=id_nut1,id_nut2&actions=cluster:* 

Luồng

Luồng nhóm

GET /_cat/thread_pool?v

Plugin

GET /_cat/plugins?v&s=component&h=name,component,version,description

Thẻ: Elasticsearch cluster-monitoring health-check allocation statistics

Đăng vào ngày 5 tháng 9 lúc 02:51