一. kibana安装

1.到官网或是用brew下载kibana 安装包,这边我们选择在官网下载对应的安装包 https://www.elastic.co/cn/downloads/kibana

2.解压缩到对应的目录下,我们解压缩到了 /usr/local/kibana-6.5.2-darwin-x86_64

解压缩后的相关目录如下:

  1. kibana-6.5.2-darwin-x86_64 ls
  2. LICENSE.txt bin node package.json webpackShims
  3. NOTICE.txt config node_modules plugins
  4. README.txt data optimize src

3.快速启动

cd 到对应的bin目录下,执行nohup sh kibana &

查看启动日志:

  1. {"type":"response","@timestamp":"2018-12-19T11:20:30Z","tags":[],"pid":8563,"method":"post","statusCode":200,"req":{"url":"/api/console/proxy?path=_template&method=GET","method":"post","headers":{"host":"localhost:5601","connection":"keep-alive","content-length":"0","accept":"text/plain, */*; q=0.01","origin":"http://localhost:5601","kbn-version":"6.5.2","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36","referer":"http://localhost:5601/app/kibana","accept-encoding":"gzip, deflate, br","accept-language":"zh-CN,zh;q=0.9,en;q=0.8"},"remoteAddress":"::1","userAgent":"::1","referer":"http://localhost:5601/app/kibana"},"res":{"statusCode":200,"responseTime":22,"contentLength":9},"message":"POST /api/console/proxy?path=_template&method=GET 200 22ms - 9.0B"}

可以看到绑定端口为5601

4.查看进程

执行ps -ef|grep node

  1. 501 8563 2099 0 6:43下午 ttys000 0:27.66 ./../node/bin/node --no-warnings ./../src/cli

5.浏览器访问 http://localhost:5601/app/kibana 进入Dev Tools界面

二.CURD

1.document数据格式

面向文档的搜索分析引擎

(1)应用系统的数据结构都是面向对象的,复杂的
(2)对象数据存储到数据库中,只能拆解开来,变为扁平的多张表,每次查询的时候还得还原回对象格式,相当麻烦
(3)ES是面向文档的,文档中存储的数据结构,与面向对象的数据结构是一样的,基于这种文档数据结构,es可以提供复杂的索引,全文检索,分析聚合等功能
(4)es的document用json数据格式来表达

2.简单的集群管理

(1)快速检查集群的健康状况

es提供了一套api,叫做cat api,可以查看es中各种各样的数据

GET /_cat/health?v

  1. epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
  2. 1545272412 02:20:12 elasticsearch green 1 1 1 1 0 0 0 0 - 100.0%

如何快速了解集群的健康状况?green、yellow、red?

green:每个索引的primary shard和replica shard都是active状态的

yellow:每个索引的primary shard都是active状态的,但是部分replica shard不是active状态,处于不可用的状态

red:不是所有索引的primary shard都是active状态的,部分索引有数据丢失了

(2)快速查看集群中有哪些索引

  1. GET /_cat/indices?v
  1. health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
  2. green open .kibana_1 4OzsBQhJROuREyl8ZadWCQ 1 0 3 0 11.9kb 11.9kb

(3)简单的索引操作

创建索引:PUT /test_index?pretty

  1. health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
  2. green open .kibana_1 4OzsBQhJROuREyl8ZadWCQ 1 0 3 0 11.9kb 11.9kb
  3. yellow open test_index QmrZBLhPQkG41DSt-rLzfQ 5 1 0 0 1.1kb 1.1kb

删除索引:DELETE /test_index?pretty

  1. health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
  2. green open .kibana_1 4OzsBQhJROuREyl8ZadWCQ 1 0 3 0 11.9kb 11.9kb

3、document的CRUD操作

  1. epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
  2. 1545275286 03:08:06 elasticsearch yellow 1 1 6 6 0 0 5 0 - 54.5%

(1)新增:新增文档,建立索引

  1. PUT /index/type/id
  2. {
  3. "json数据"
  4. }
  5.  
  6. PUT /ecommerce/product/1
  7. {
  8. "name" : "gaolujie yagao",
  9. "desc" : "gaoxiao meibai",
  10. "price" : 30,
  11. "producer" : "gaolujie producer",
  12. "tags": [ "meibai", "fangzhu" ]
  13. }
  14.  
  15. {
  16. "_index": "ecommerce",
  17. "_type": "product",
  18. "_id": "1",
  19. "_version": 1,
  20. "result": "created",
  21. "_shards": {
  22. "total": 2,
  23. "successful": 1,
  24. "failed": 0
  25. },
  26. "created": true
  27. }
  28.  
  29. PUT /ecommerce/product/2
  30. {
  31. "name" : "jiajieshi yagao",
  32. "desc" : "youxiao fangzhu",
  33. "price" : 25,
  34. "producer" : "jiajieshi producer",
  35. "tags": [ "fangzhu" ]
  36. }
  37.  
  38. PUT /ecommerce/product/3
  39. {
  40. "name" : "zhonghua yagao",
  41. "desc" : "caoben zhiwu",
  42. "price" : 40,
  43. "producer" : "zhonghua producer",
  44. "tags": [ "qingxin" ]
  45. }

es会自动建立index和type,不需要提前创建,而且es默认会对document每个field都建立倒排索引,让其可以被搜索

(2)查询:检索文档

  1. GET /index/type/id
  2. GET /ecommerce/product/1
  3.  
  4. {
  5. "_index": "ecommerce",
  6. "_type": "product",
  7. "_id": "1",
  8. "_version": 1,
  9. "found": true,
  10. "_source": {
  11. "name": "gaolujie yagao",
  12. "desc": "gaoxiao meibai",
  13. "price": 30,
  14. "producer": "gaolujie producer",
  15. "tags": [
  16. "meibai",
  17. "fangzhu"
  18. ]
  19. }
  20. }

(3)修改:替换文档

  1. PUT /ecommerce/product/1
  2. {
  3. "name" : "jiaqiangban gaolujie yagao",
  4. "desc" : "gaoxiao meibai",
  5. "price" : 30,
  6. "producer" : "gaolujie producer",
  7. "tags": [ "meibai", "fangzhu" ]
  8. }
  9.  
  10. {
  11. "_index": "ecommerce",
  12. "_type": "product",
  13. "_id": "1",
  14. "_version": 1,
  15. "result": "created",
  16. "_shards": {
  17. "total": 2,
  18. "successful": 1,
  19. "failed": 0
  20. },
  21. "created": true
  22. }
  23.  
  24. {
  25. "_index": "ecommerce",
  26. "_type": "product",
  27. "_id": "1",
  28. "_version": 2,
  29. "result": "updated",
  30. "_shards": {
  31. "total": 2,
  32. "successful": 1,
  33. "failed": 0
  34. },
  35. "created": false
  36. }
  37.  
  38. PUT /ecommerce/product/1
  39. {
  40. "name" : "jiaqiangban gaolujie yagao"
  41. }

替换方式有一个不好,即使必须带上所有的field,才能去进行信息的修改

(4)修改:更新文档

  1. POST /ecommerce/product/1/_update
  2. {
  3. "doc": {
  4. "name": "jiaqiangban gaolujie yagao"
  5. }
  6. }
  7.  
  8. {
  9. "_index": "ecommerce",
  10. "_type": "product",
  11. "_id": "1",
  12. "_version": 8,
  13. "result": "updated",
  14. "_shards": {
  15. "total": 2,
  16. "successful": 1,
  17. "failed": 0
  18. }
  19. }

(5)删除:删除文档

  1. DELETE /ecommerce/product/1
  2.  
  3. {
  4. "found": true,
  5. "_index": "ecommerce",
  6. "_type": "product",
  7. "_id": "1",
  8. "_version": 9,
  9. "result": "deleted",
  10. "_shards": {
  11. "total": 2,
  12. "successful": 1,
  13. "failed": 0
  14. }
  15. }
  16.  
  17. {
  18. "_index": "ecommerce",
  19. "_type": "product",
  20. "_id": "1",
  21. "found": false
  22. }

ElasticSearch(四)kibana实现CURD的更多相关文章

  1. ELK( ElasticSearch+ Logstash+ Kibana)分布式日志系统部署文档

    开始在公司实施的小应用,慢慢完善之~~~~~~~~文档制作 了好作运维同事之间的前期普及.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 软件下载地址: https://www.e ...

  2. ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台

    一.前言 1.ELK简介 ELK是Elasticsearch+Logstash+Kibana的简称 ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进 ...

  3. ELKF安装使用教程。elasticsearch+logstash+kibana+filebeta。

    近期因工作需要学习了ELKF的安装和使用.网络上的中文我看大部分也比较老版本了,我想写一下,希望能给他人带来一点帮助.小弟不才,有错位之处,还请大家原谅指点. ELKF就是:elasticsearch ...

  4. ELK(Logstash+Elasticsearch+Kibana)的原理和详细搭建

    一. Elastic Stack Elastic Stack是ELK的官方称呼,网址:https://www.elastic.co/cn/products ,其作用是“构建在开源基础之上, Elast ...

  5. ELK (Elasticsearch , Logstash, Kibana [+FileBeat])

    ELK 简述: ELK 是: Elasticsearch , Logstash, Kibana 简称, 它们都是开源软件. Elasticsearch[搜索]是个开源分布式基于Lucene的搜索引擎, ...

  6. Elasticsearch+Logstash+Kibana搭建分布式日志平台

    一.前言 编译安装 1.ELK简介 下载相关安装包地址:https://www.elastic.co/cn/downloads ELK是Elasticsearch+Logstash+Kibana的简称 ...

  7. 用ElasticSearch,LogStash,Kibana搭建实时日志收集系统

    用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 介绍 这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中.kibana ...

  8. 打开ElasticSearch、kibana、logstash的正确方式

    作者:玩世不恭的Coder时间:2020-03-08说明:原创不易,本文为原创文章,未经允许不可转载,转载前请联系作者 打开ElasticSearch.kibana.logstash的正确方式 前言一 ...

  9. Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana)收集日志

    简述 本文用于记录如何使用Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana) 收集Docker容器日志,使用EFK,可以无侵入代码,获得灵活, ...

  10. (1)ElasticSearch搭配Kibana在linux环境的部署

    1.简介 这个章节主要介绍ElasticSearch+Kibana两个组件在linux环境的部署步骤,以及在部署过程中遇到问题解决,暂就不涉及集群部署知识点,后面章节再详细讲解这块.下面让我们来简单了 ...

随机推荐

  1. 部分转 Java读取ini配置

    转自: http://www.cnblogs.com/Jermaine/archive/2010/10/24/1859673.html 读取ini的配置的格式如下: [section1] key1=v ...

  2. LeetCode OJ——Minimum Depth of Binary Tree

    http://oj.leetcode.com/problems/minimum-depth-of-binary-tree/ 贡献了一次runtime error,因为如果输入为{}即空的时候,出现了c ...

  3. 001为什么Linux使用~作为家目录?为什么vim用hjkl作为方向键?

  4. Spring Tool Suite(STS)安装

    Spring Tool Suite是一个基于Eclipse的开发环境,可以自定义用于开发Spring应用程序.它提供了一个随时可用的环境来实现,调试,运行和部署Spring应用程序,包括Pivotal ...

  5. liteos事件(六)

    1. 概述 1.1 基本概念 事件是一种实现任务间通信的机制,可用于实现任务间的同步,但事件通信只能是事件类型的通信,无数据传输.一个任务可以等待多个事件的发生:可以是任意一个事件发生时唤醒任务进行事 ...

  6. BZOJ——1620: [Usaco2008 Nov]Time Management 时间管理

    Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 920  Solved: 569[Submit][Status][Discuss] Description ...

  7. Springboot 集成 Thymeleaf 及常见错误

    Thymeleaf模板引擎是springboot中默认配置,与freemarker相似,可以完全取代jsp,在springboot中,它的默认路径是src/main/resources/templat ...

  8. nodeJS一些事儿

    node-webkit:开发桌面+WEB混合型应用的神器[大漠穷秋] 展望未来 其实这条路老早就有人在走 网上有很多人在争论,未来究竟是原生的应用会胜出,还是WEB APP会胜出,实际上这两者并不是你 ...

  9. jenkins执行单元测试,会产生大量临时文件,要及时删除,不然会把inode耗尽

    jenkins的build命令:clean test -U findbugs:findbugs pmd:pmd sonar:sonar -Djava.io.tmpdir=/tmp/ -Dsonar.p ...

  10. HDU 5304(Eastest Magical Day Seep Group's Summer-环加外向树生成树计数)[Template:Kirchhoff矩阵]

    Eastest Magical Day Seep Group's Summer Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 655 ...