Essential Dev Tools Commands for Elasticsearch & OpenSearch Administrators
As an Elasticsearch administrator, using the Dev Tools Console in Kibana can significantly simplify cluster management and troubleshooting. Below is a curated list of useful commands to monitor and manage your Elasticsearch environment effectively.
1. Node and Disk Allocation
Check the distribution of shards and disk usage across nodes:
GET /_cat/allocation?v&h=node,host,shards,diskTotal,diskUsed,diskAvail,diskPercent&s=node
2. Field Data Statistics
View memory usage for field data, which can help diagnose performance issues:
GET /_cat/fielddata?v&h=id,host,node,field,size
3. Cluster Health Overview
Basic cluster health summary with status, number of nodes, and shards:
GET /_cat/health?v
Detailed cluster health with additional metrics:
GET _cluster/health
4. Indices Overview
List indices with their storage size (in MB) and primary store size, sorted by index name:
GET /_cat/indices?v&h=index,store.size,pri.store.size&s=index&bytes=mb
Filter indices with a health status of yellow
:
GET /_cat/indices?v&health=yellow
5. Node Attributes
View node-level attributes, such as custom tags or roles:
GET /_cat/nodeattrs?v
For specific attributes (e.g., name and value):
GET /_cat/nodeattrs?v&h=name,value
6. Node Information
Comprehensive node details, including IP, port, heap usage, and load:
GET /_cat/nodes?v&h=id,ip,name,port,v,m,r,dt,du,da,j,u,l,rc,rp,rm,heapCurrent,heapPercent,heapMax&s=u
Filter nodes and sort by name:
GET /_cat/nodes?v&h=ip,name,r&s=name
7. Pending Tasks
View cluster tasks that are awaiting execution:
GET /_cat/pending_tasks?v
8. Recovery Information
Monitor shard recovery processes:
GET _cat/recovery?v
For detailed recovery metrics:
GET _cat/recovery?v&h=i,s,t,ty,st,rep,snap,f,fp,b,bp
Include source and target host information:
GET _cat/recovery?v&h=i,s,t,ty,st,shost,thost,f,fp,b,bp
9. Snapshot Repositories
List all snapshot repositories:
GET /_cat/repositories?v
10. Thread Pool Metrics
Monitor generic thread pool activity, such as active threads, rejected tasks, and completed tasks:
GET /_cat/thread_pool/generic?v&h=id,name,active,rejected,completed
11. Segment Information
Get segment details to analyze shard segments and optimize performance:
GET /_cat/segments?v
Conclusion
These Dev Tools commands are essential for monitoring and troubleshooting Elasticsearch clusters, especially in large-scale deployments. Using them regularly can help maintain cluster health, optimize performance, and identify potential bottlenecks. For detailed information on each command and additional options, refer to the official Elasticsearch documentation.