ELK Stack (2)——Elasticsearch 常用API与数据操作

tanglu 1049 2019-10-07

通过curl命令可以调用ES API接口,方便集群与数据的管理,比如查看集群节点状态、索引状态、管理集群节点和索引及元数据、执行增删改查操作、其他高级操作等。下面是一些常用的API命令:


1、打印指定API下所有功能

直接调用API可以打印出该API下的所有功能,比如图中的indices就是一个用于检查所有索引的功能、health用于检查集群状态

catapi1.png


2、查看ES集群健康状态

使用_cluster/health API可以打印出集群当前状态信息。green代表主分片与副本分片都分配正常;yellow代表主分片正常,有副本分片未正常分配;red代表有主分片未分配 。如果集群成为red状态,需要检查是否有集群离线,如果有离线节点,通过重启恢复即可。如果是索引问题,则需要删除错误索引。


http://localhost:9200/_cluster/health  #如果状态非green,可以关注unassigned_shard查看未分配的分片数
http://localhost:9200/_cluster/health?pretty #加上pretty会将内容格式化再输出,更美观

http://localhost:9200/_cat/health  
http://localhost:9200/_cat/health?v  #?v可以让显示信息更详尽

http://localhost:9200/_cluster/state?pretty #可以看主节点信息等

GET /_cluster/allocation/explain  #集群red的原因


3、查询Elasticsearch所有节点列表


curl http://localhost:9200/_cat/nodes?v


4、查询Elasticsearch所有索引


curl http://localhost:9200/_cat/indices?v


5、为Elasticsearch创建索引或数据,数据需要是json格式,如果对已存在数据进行操作会进行覆盖,属于updated

curl -XPUT "10.4.0.221:9200/nginx_web_log.2019.03.01"  #新增一个索引nginx_web_log.2019.03.01
curl -XPUT "10.4.0.221:9200/nginx_web_log.2019.03.01/users/1{
  "name":"tanglu",
  "age": 30
}"


6、查询Elasticsearch数据

curl -XGET http://ip:9200//nginx_web_log.2019.03.01/users/1  #返回的source就是ES里的数据


7、删除Elasticsearch中的索引或者数据

curl -XDELETE http://ip:9200/nginx_web_log.2019.03.*  #支持通配符


8、ES数据备份与迁移

elasticdump --input=http://源IP:9200/索引名 --output=http://目标IP:9200/索引名 --type=settings
elasticdump --input=http://源IP:9200/索引名 --output=http://目标IP:9200/索引名 --type=mapping
elasticdump --input=http://源IP:9200/索引名 --output=http://目标IP:9200/索引名 --type=data


下面是更贴近实际操作的curl命令,插入了两条数据


#为blog索引新增两条记录,指定type为article,ID为2和3
curl -XPUT -H "Content-Type: application/json" 'localhost:9201/blog/article/2?pretty' -d '
{
  "title": "test",
  "content":"testsfsdfdsfdsf",
  "PV":10
}'

curl -XPUT -H "Content-Type: application/json" 'localhost:9201/blog/article/3?pretty' -d '
{
  "title": "test",
  "content":"testsfsdfdsfdsf",
  "PV":23
}'
版权声明
本站所有文章均为原创,转载请注明出处!小站维护不易,如果对您有所帮助,希望能点击一下站内广告,谢谢!
上一篇:ELK Stack (1)——Elasticsearch 6安装与配置教程
下一篇:ELK Stack (2) ——Logstash 6 安装与配置教程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

微信二维码