1 集群健康
在Elasticsearch集群中可以監(jiān)控統(tǒng)計很多信息,但是只有一個是最重要的:集群健康(cluster health)。集群健康有三種狀態(tài):green潦牛、yellow或red漩符。
##在一個沒有索引的空集群中運(yùn)行如上查詢,將返回這些信息:
? ~ curl '192.168.91.221:9200/_cat/health?v'
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1481852119 09:35:19 es-cluster green 3 3 0 0 0 0 0 0 - 100.0%
status字段提供一個綜合的指標(biāo)來表示集群的的服務(wù)狀況沾谜。三種顏色各自的含義:
| 顏色 | 意義 |
| ------------- |:---------------------------:|
| green | 所有主要分片和復(fù)制分片都可用
| yellow | 所有主要分片可用,但不是所有復(fù)制分片都可用
| red | 不是所有的主要分片都可用
PS:注意: 即使集群狀態(tài)為紅色胀莹,它仍然提供正常的操作功能(即:它會在現(xiàn)有存活分片中執(zhí)行搜索請求)基跑,但是需要我們盡快修復(fù)故障分片,防止查詢數(shù)據(jù)的丟失嗜逻;
2 節(jié)點列表
2.1使用如下api查看節(jié)點信息:
? ~ curl '192.168.91.221:9200/_cat/nodes?v'
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.91.223 18 97 0 0.00 0.00 0.00 di - es-node3
192.168.91.222 17 97 0 0.00 0.00 0.00 mdi - es-node2
192.168.91.221 33 38 0 0.00 0.00 0.00 mdi * es-node1
我們可以從返回結(jié)果中看出節(jié)點名稱涩僻、節(jié)點角色、是否主節(jié)點等信息栈顷;
創(chuàng)建索引
2.2創(chuàng)建索引:
? ~ curl -XPUT '192.168.91.221:9200/users?pretty'
{
"acknowledged" : true,
"shards_acknowledged" : true
}
-----------------------------------------------------------
? ~ curl -XPUT '192.168.91.221:9200/test?pretty'
{
"acknowledged" : true,
"shards_acknowledged" : true
}
2.3刪除users和test索引:
curl -XDELETE '192.168.91.221:9200/users?pretty'
curl -XDELETE '192.168.91.221:9200/test?pretty'
執(zhí)行上述操作返回:
{
"acknowledged" : true
}
2.4查看索引列表:
使用如下api查看索引列表:
? ~ curl '192.168.91.221:9200/_cat/indices?v'
執(zhí)行上述操作返回:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open test dVgI7sJcT6Ga29a3gclRIQ 5 1 0 0 1.2kb 650b
green open users 1eRMSqOvRO-P7ab1lz_qvQ 5 1 0 0 1.2kb 650b
如果集群中沒有索引:
? ~ curl '192.168.91.221:9200/_cat/indices?v'
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
3索引查詢
首先我們向users索引中插入一條數(shù)據(jù):
? ~ curl -XPUT '192.168.91.221:9200/users/external/1?pretty' -d '
{
"name": "John Doe"
}'
執(zhí)行上述操作返回:
{
"_index" : "users",
"_type" : "external",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 2,
"failed" : 0
},
"created" : true
}
? ~
再去查詢users中的數(shù)據(jù):
? ~ curl -XGET '192.168.91.221:9200/users/external/1?pretty'
{
"_index" : "users",
"_type" : "external",
"_id" : "1",
"_version" : 1,
"found" : true,
"_source" : {
"name" : "John Doe"
}
}
? ~