Referensi

Referensi Lengkap _cat API

Endpoint _cat menyajikan informasi cluster dalam bentuk tabel teks yang ringkas dan mudah dibaca manusia. Halaman ini membahas parameter umum dan menjelaskan kolom utama tiap endpoint penting pada Elasticsearch dan OpenSearch.

Kenapa _cat?

Sebagian besar respons Elasticsearch berformat JSON yang detail tetapi sulit dipindai dengan mata. Endpoint _cat (kependekan dari compact and aligned text) dirancang khusus untuk dibaca manusia: hasilnya berupa tabel teks selaras yang ideal untuk inspeksi cepat di terminal atau Console nusabet88.

Gunakan _cat untuk diagnosis manual. Untuk otomatisasi/monitoring, pilih ?format=json atau endpoint JSON terstruktur.

Parameter Umum

Parameter berikut berlaku untuk hampir semua endpoint _cat.

# ?v  — tampilkan header kolom
GET /_cat/indices?v

# ?help — daftar semua kolom yang tersedia
GET /_cat/nodes?help

# ?h=  — pilih kolom tertentu saja
GET /_cat/nodes?v&h=name,node.role,heap.percent,cpu

# ?s=  — urutkan (tambahkan :desc untuk turun)
GET /_cat/indices?v&s=store.size:desc

# ?format=json&pretty — output JSON terformat
GET /_cat/indices?format=json&pretty

# bytes & time units — paksa satuan agar konsisten
GET /_cat/indices?v&bytes=gb
GET /_cat/recovery?v&time=s
ParameterFungsi
vTampilkan baris header nama kolom (verbose).
helpTampilkan daftar kolom yang tersedia + deskripsi.
h=Pilih kolom yang ditampilkan, dipisah koma.
s=Urutkan berdasarkan kolom; tambahkan :desc.
format=jsonKembalikan JSON, bukan teks (untuk skrip).
bytes=Satuan ukuran: b, kb, mb, gb.
time=Satuan waktu: s, ms, m, h.

_cat/health

Ringkasan kesehatan cluster dalam satu baris.

GET /_cat/health?v
KolomArti
statusgreen (semua shard OK), yellow (replica belum teralokasi), red (ada primary hilang).
node.total / node.dataJumlah total node dan node data.
shards / priTotal shard aktif dan jumlah primary.
relo / init / unassignShard yang sedang dipindah, diinisialisasi, dan belum teralokasi.
active_shards_percentPersentase shard aktif terhadap total.

_cat/nodes

Daftar node beserta beban dan perannya.

GET /_cat/nodes?v&s=heap.percent:desc
KolomArti
nameNama node.
node.rolePeran: m (master-eligible), d (data), i (ingest), c (coordinating).
masterTanda * pada node master aktif.
heap.percentPersentase pemakaian heap JVM.
ram.percentPersentase pemakaian RAM sistem.
cpu / load_1mPenggunaan CPU dan load average 1 menit.
Jika heap.percent sering di atas 85%, pertimbangkan tuning. Lihat Tuning JVM Heap.

_cat/indices

Daftar index dengan ukuran, jumlah dokumen, dan status kesehatan.

GET /_cat/indices?v&s=store.size:desc&bytes=mb
KolomArti
healthKesehatan index: green / yellow / red.
statusopen atau close.
indexNama index.
pri / repJumlah primary dan replica per primary.
docs.count / docs.deletedJumlah dokumen dan dokumen terhapus (belum di-merge).
store.size / pri.store.sizeTotal ukuran (termasuk replica) dan ukuran primary saja.

_cat/shards

Distribusi setiap shard ke node, berguna untuk mendiagnosis shard yang belum teralokasi.

GET /_cat/shards?v&s=state
# Hanya shard yang belum teralokasi
GET /_cat/shards?v&h=index,shard,prirep,state,unassigned.reason
KolomArti
index / shardNama index dan nomor shard.
prirepp (primary) atau r (replica).
stateSTARTED, INITIALIZING, RELOCATING, atau UNASSIGNED.
docs / storeJumlah dokumen dan ukuran shard.
nodeNode yang menampung shard.
unassigned.reasonAlasan shard belum teralokasi (mis. NODE_LEFT).

_cat/allocation

Jumlah shard dan penggunaan disk per node — kunci untuk diagnosis disk watermark.

GET /_cat/allocation?v
KolomArti
shardsJumlah shard di node tersebut.
disk.used / disk.availDisk terpakai dan tersisa.
disk.percentPersentase pemakaian disk (picu watermark).
nodeNama node.

_cat/recovery

Memantau proses pemulihan/pemindahan shard, termasuk progresnya.

GET /_cat/recovery?v&active_only=true
KolomArti
typeJenis recovery: store, peer, snapshot.
stageTahap: init, index, translog, done.
bytes_percent / files_percentPersentase byte dan file yang sudah dipulihkan.
source_node / target_nodeNode asal dan tujuan.

_cat/thread_pool

Status thread pool tiap node — penting untuk mendeteksi penolakan (rejection) akibat beban.

GET /_cat/thread_pool?v&h=node_name,name,active,queue,rejected
GET /_cat/thread_pool/search,write?v
KolomArti
nameNama pool (search, write, get, dll).
activeThread yang sedang aktif.
queueTugas yang antre menunggu thread.
rejectedTugas yang ditolak karena antrean penuh — indikasi overload.

_cat/segments & _cat/fielddata

segments menampilkan detail segment Lucene; fielddata menampilkan pemakaian memori fielddata per field.

GET /_cat/segments/logs-2026?v
GET /_cat/fielddata?v&s=size:desc
KolomArti
segment / size(segments) Nama segment dan ukurannya.
committed / searchable(segments) Apakah segment sudah di-commit dan dapat dicari.
field / size(fielddata) Field dan memori fielddata yang dipakainya.
Banyaknya segment kecil menurunkan performa. Pertimbangkan _forcemerge pada index read-only untuk menggabungkannya.

Endpoint Lain yang Berguna

# Daftar alias dan index targetnya
GET /_cat/aliases?v

# Jumlah dokumen total cluster atau per index
GET /_cat/count?v
GET /_cat/count/logs-2026?v

# Tugas cluster yang sedang menunggu (idealnya kosong)
GET /_cat/pending_tasks?v

# Node master aktif saat ini
GET /_cat/master?v

# Atribut kustom tiap node (mis. zona/rak)
GET /_cat/nodeattrs?v
EndpointKegunaan
/_cat/aliases?vMemetakan alias ke index targetnya.
/_cat/count?vMenghitung total dokumen cluster atau index.
/_cat/pending_tasks?vAntrean tugas cluster; nilai tinggi menandakan master sibuk.
/_cat/master?vMengidentifikasi node master aktif.
/_cat/nodeattrs?vMenampilkan atribut node untuk awareness allocation.

Poin Penting

  • Selalu tambahkan ?v agar kolom punya header yang jelas.
  • Pakai ?help untuk menemukan kolom, lalu ?h= untuk memilihnya.
  • Urutkan dengan ?s=kolom:desc untuk menemukan index/node terberat.
  • Untuk skrip dan monitoring gunakan ?format=json, bukan output teks.

FAQ _cat API

Apa fungsi utama _cat API?

Endpoint _cat memberikan output tabular yang ringkas dan mudah dibaca manusia (compact and aligned text), berbeda dengan endpoint JSON biasa. Tujuannya untuk inspeksi cepat di terminal atau Console, bukan untuk dikonsumsi aplikasi.

Kenapa output _cat saya tidak punya nama kolom?

Tambahkan parameter ?v (verbose). Tanpa ?v, _cat hanya menampilkan baris data. Dengan ?v akan muncul baris header sehingga setiap kolom jelas maknanya.

Bagaimana cara tahu kolom apa saja yang tersedia?

Tambahkan ?help di akhir endpoint, misalnya GET /_cat/indices?help. Elasticsearch akan menampilkan daftar semua kolom beserta alias dan deskripsinya, lalu Anda bisa memilihnya dengan ?h=kol1,kol2.

Apakah _cat cocok dipakai untuk monitoring otomatis?

Untuk otomatisasi gunakan format=json (mis. ?format=json) atau langsung endpoint JSON seperti _cluster/health. _cat dirancang untuk dibaca manusia; format teksnya bisa berubah antar versi.

Pantau Cluster Secara Visual

nusabet88 menyajikan data _cat dalam tabel interaktif yang bisa diurut dan difilter, tanpa perlu mengingat parameter. Pasang via Docker.

Panduan Instalasi