Kibana入门教程

news2025/1/19 20:33:54

 一、什么是Kibana  

    Kibana 是一个开源的分析和可视化平台,Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据

  二、安装使用

    ①:下载Kibana Download Kibana Free | Get Started Now | Elastic

    ②:配置Kibana

      Open config/kibana.yml in an editor.

      Set elasticsearch.hosts to point at your Elasticsearch instance.

默认情况下,Kibana 会连接运行在 localhost 上的 Elasticsearch 实例。如果需要连接不同的 Elasticsearch实例,可以修改 kibana.yml 配置文件中的 Elasticsearch URL 配置项并重启 Kibana

如:elasticsearch.hosts: ["http://localhost:9200"]

    ③:运行

      Run bin/kibana (or bin\kibana.bat on Windows)

    ④:访问

      Point your browser at http://localhost:5601

        

    Kibana使用:

      ①:导入数据文件

      

      ②:预览并确认导入

      

       

      ③:创建索引模式

      

      ④:在Discover中查看数据

      

     

      Kibana左侧的Toolbar主要分为一下几块功能:

        Discovery 发现:用于查看和搜索原始数据
        Visualize 可视化:用来创建图表、表格和地图等
        Dashboard:多个图表和合并为一个 Dashboard 仪表盘
        Timelion 时间线:用于分析时序数据,以二维图形的方式展示
        Dev Tools 开发工具:用于进行DSL查询、Query性能分析等
        Management 管理:主要用于创建 Index Patterns,ES中的索引在创建 Index Patterns 之后,才能在 Discover 中被搜索,在 Visualize 和 Dashboard 中制图。

  三、检索

     1、选择日期

    

     2、左侧栏目展示可用的字段列表:

    

  KQL(Kibana Query Language):

    1、根据具体字段检索

       ①:如果只想展示某个字段的内容,则在字段栏目上将鼠标悬停在类别字段上,然后单击 +          

       

       ②:根据字段内容检索

        如根据category字段 

      

         多个字段一起检索

      

         如检索价格字段>=60 且 category为 Women's Clothing 的数据:products.taxless_price >= 60 and category : Women's Clothing

      ③:通过filter:

        

         选择过滤的字段,和值的包含关系:

        

        

         填入值,保存即可检索:

        

    2、检索字符串

      ①:匹配多个字符串,每个字段都会单独匹配。如:force and clean

      ②:匹配单个确切的字符串或者匹配字符串短语,用双引号括起来。如"force and clean"

   Luceue:

     1、根据字段查询

      限定字段全文搜索:field:value

      精确搜索:关键字加上双引号 filed:"value"

    2、通配符

      ? 匹配单个字符

      * 匹配0到多个字符

    3、模糊搜索

      ~:在一个单词后面加上~启用模糊搜索,可以搜到一些拼写错误的单词

    4、近似搜索

      在短语后面加上~,可以搜到被隔开或顺序不同的单词      

      "where select"~5 表示 select 和 where 中间可以隔着5个单词,可以搜到 select password from users where id=1

    5、范围搜索

      mod_date:[20020101 TO 20030101]:查找 mod_date 字段的值介于 20020101 和 20030101 之间的文档

      

   

  Dev Tools:

    Kinaba > Management > Dev Tools

    PUT(修改),POST(添加),DELETE(删除),GET(查询)

    1、GET /   等价于 http://localhost:9200/,对应的curl为:curl -XGET "http://localhost:9200/"  

    2、创建一个索引及文档

      PUT index_name/_doc(type_name)/document_id

      {文档内容}       

    3、简单检索文档

     ①:GET /index_name/type_name/document_id 

      对应的curl:curl -X GET "localhost:9200/megacorp/employee/1?pretty"

      如 GET /megacorp/employee/1  的返回,_source属性里的是原始JSON文档

{
  "_index" : "megacorp",
  "_type" : "employee",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "first_name" : "John",
    "last_name" : "Smith",
    "age" : 25,
    "about" : "I love to go rock climbing",
    "interests" : [
      "sports",
      "music"
    ]
  }
}

     ②:搜索索引下的全部文档:

      GET /megacorp/employee/_search

      curl -X GET "localhost:9200/megacorp/employee/_search?pretty"

      搜索结果放在了hit数组中,一个搜索默认返回10条结果

     ③:根据文档中的属性值搜索

      搜索lastname属性值为Smith的文档,使用q参数:

    

GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "last_name" : "Smith"
        }
    }
}

    4、查询表达式搜索

      查询表达式支持构建更加复杂和健壮的查询

      ①:使用 match 查询属性last_name值为Smith的文档

GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "last_name" : "Smith"
        }
    }
}

      对应curl为:

curl -X GET "localhost:9200/megacorp/employee/_search?pretty" -H 'Content-Type: application/json' -d'
{
    "query" : {
        "match" : {
            "last_name" : "Smith"
        }
    }
}

      ②:使用过滤器filter,搜索last_name属性值为Smith、age属性值大于30的文档

GET /megacorp/employee/_search
{
    "query" : {
        "bool": {
            "must": {
                "match" : {
                    "last_name" : "smith" 
                }
            },
            "filter": {
                "range" : {
                    "age" : { "gt" : 30 } 
                }
            }
        }
    }
}

    5、全文搜索

     Elasticsearch会在全文属性上搜索并返回相关性最强的结果,区别于传统关系数据库的一条记录要么匹配要么不匹配

     如在`about` 属性上搜索 “rock climbing” 

GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "about" : "rock climbing"
        }
    }
}

     返回结果:

{
  "took" : 67,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 2,
      "relation" : "eq"
    },
    "max_score" : 1.4167401,
    "hits" : [
      {
        "_index" : "megacorp",
        "_type" : "employee",
        "_id" : "1",
        "_score" : 1.4167401,     # 相关性得分
        "_source" : {
          "first_name" : "John",
          "last_name" : "Smith",
          "age" : 25,
          "about" : "I love to go rock climbing",
          "interests" : [
            "sports",
            "music"
          ]
        }
      },
      {
        "_index" : "megacorp",
        "_type" : "employee",
        "_id" : "2",
        "_score" : 0.4589591,     # 相关性得分
        "_source" : {
          "first_name" : "Jane",
          "last_name" : "Smith",
          "age" : 32,
          "about" : "I like to collect rock albums",
          "interests" : [
            "music"
          ]
        }
      }
    ]
  }
}

      Elasticsearch 默认按照相关性得分排序,即每个文档跟查询的匹配程度。第一个最高得分的结果很明显:John Smith 的 about 属性清楚地写着 “rock climbing”   

      但为什么 Jane Smith 也作为结果返回了呢?原因是她的 about 属性里提到了 “rock” 。因为只有 “rock” 而没有 “climbing” ,所以她的相关性得分低于 John 的

    6、短语搜索

      找出一个属性中的独立单词是没有问题的,但有时候想要精确匹配一系列单词或者_短语_ 。 比如, 我们想执行这样一个查询,仅匹配同时包含 “rock” 和 “climbing” ,并且 二者以短语 “rock climbing” 的形式紧挨着文档

      为此对 match 查询稍作调整,使用一个叫做 match_phrase 的查询: 

GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    }
}

    7、高亮搜索

      在搜索结果中高亮显示部分文本片段,以便让用户知道为何该文档符合查询条件

      使用highlight参数即可:

GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    },
    "highlight": {
        "fields" : {
            "about" : {}
        }
    }
}

    8、聚合搜索

      Elasticsearch 有一个功能叫聚合(aggregations),允许我们基于数据生成一些精细的分析结果。聚合与 SQL 中的 GROUP BY 类似但更强大。

      聚合使用aggs,如聚合搜索文档中所有age的值:

GET /megacorp/employee/_search
{
  "aggs": {
    "all_ages": {
      "terms": { "field": "age" }
    }
  }
}

      结果:

{
  ...
  "aggregations" : {
    "all_ages" : {
      "doc_count_error_upper_bound" : 0,
      "sum_other_doc_count" : 0,
      "buckets" : [ # age 所有出现的值,及出现改之文档的个数
        {
          "key" : 25,   
          "doc_count" : 1
        },
        {
          "key" : 32,
          "doc_count" : 1
        },
        {
          "key" : 35,
          "doc_count" : 1
        }
      ]
    }
  }
}  

    Elasticsearch搜索语法中文文档:检索文档 | Elasticsearch: 权威指南 | Elastic

  

    9、清空索引数据

POST index_name/_delete_by_query
{
  "query": {
    "match_all": {}
  }
}

更多API:https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/93129.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

社招前端常考手写面试题总结

手写 Promise const PENDING "pending"; const RESOLVED "resolved"; const REJECTED "rejected";function MyPromise(fn) {// 保存初始化状态var self this;// 初始化状态this.state PENDING;// 用于保存 resolve 或者 rejected 传入的值…

【Python机器学习】使用决策树模型预测消费者未来消费行为实战(附源码和数据集 超详细)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一个预测未来消费行为的示例,即已经采集了过去消费行为的信息,并用来建立一个模型以对未来的消费行为进行预测。该示例简要演示了数据预处理、提取特征、选择模型、训练模型、评估模型、应用等阶段&a…

ModStartCMS v5.4.0 输入过滤增强,导入导出支持

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 功能特性 丰富的模块市…

【Java初阶】面向对象三大特性之继承

一、继承 理解继承 Cat继承了Animal类,其中:Animal类称为父类/基类或超类,Cat可以称为Animal的 子类/派生类,继承之后,子类可以复用父类中成员,子类在实现时只需关心自己新增加的成员即可 Java中不支持多继…

DBCO-PEG24-O-amine,DBCO-PEG24-O-NH2,二苯并环辛炔-二十四聚乙二醇-O-氨基

DBCO-PEG24-O-amine中叠氮化物和DBCO基团,DBCO 点击化学可以在水性缓冲液中运行,也可以在有机溶剂取决于底物分子的性质。带有 PEG 臂的试剂会增加化合物的亲水性。DBCO 试剂已应用于生物偶联、标记和化学生物学。 DBCO系列产品包括可用于进一步连接的DB…

机器学习回归模型相关重要知识点总结

回归分析为许多机器学习算法提供了坚实的基础。在这篇文章中,我们将总结 10 个重要的回归问题和5个重要的回归问题的评价指标。 一、线性回归的假设是什么 线性:自变量(x)和因变量(y)之间应该存在线性关系&…

PYNQ -z2 与 PC主板网口直连上网 可ping通外网

文章目录1.下载映像文件并烧录到板子2. 将usb和网线连接到电脑上3.将网络改为共享模式4. 使用xshell新建串口通信连接到板子5. 更改板子ip与PC 同一网段6. 通过ip地址访问7. 访问外网1.下载映像文件并烧录到板子 可以参考 烧录镜像 2. 将usb和网线连接到电脑上 3.将网络改为共…

【轻量级开源ROS 的机器人设备(5)】--(1)拟议的框架——µROS节点

前文链接: 【轻量级开源ROS 的机器人设备(4)】--(3)通信实现 【轻量级开源ROS 的机器人设备(4)】--(2)通信实现 【轻量级开源ROS 的机器人设备(4&#xff…

Docker+Jenkins+Gitee+Harbor+WebHooks实现CI/CD!

🎶 文章简介:DockerJenkinsGiteeHarborWebHooks实现CI/CD! 💡 创作目的:DockerJenkinsGiteeHarborWebHooks实现CI/CD! ☀️ 今日天气:天气有些阴沉 📝 每日一言:如果你执…

【设计模式】策略模式

【设计模式】策略模式 文章目录【设计模式】策略模式一:策略模式简介二:策略模式使用场景三:策略模式总结四:策略模式实战一:策略模式简介 在策略模式(Strategy Pattern)中,一个类的…

[附源码]Node.js计算机毕业设计房地产销售系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

怎么把图片转换成excel文件?

作为一个办公人员,难免会遇到图片里面有一些内容数据,需要编辑成Excel表格。如果我们按照上面图片表格,创建一个新的文件,这样就非常费时费力,还容易出错。其实小伙伴们如果需要,可以借助软件直接把图片变成…

聚观早报 | 百度 APP 上线疫情指数;辣条第一股卫龙在港上市

今日要闻:百度 APP 上线疫情指数;辣条第一股卫龙在港上市;特斯拉股价大跌引投资者不满;苹果将允许下载第三方商店;京东调集快递小哥驰援北京百度 APP 上线疫情指数 近日,百度 APP 正式上线「疫情指数」&…

CRM客户管理系统源码带手机端+Uniapp小程序源码+调试部署视频

一套Java大型CRM客户关系管理源码带手机端和小程序源码(带调试部署视频) 了解CRM源码更多信息可私信我。 相关技术: 1. 前端:Vue 2. 后端:Spring boot 3. 数据库:MySQL 4.小程序端:UNIAPP …

C++画图之GOC编程 第6课 通天云梯

Goc编程第一课 Goc编程第一课_哔哩哔哩_bilibili Goc编程第一课扩展加复习 Goc编程第一课扩展加复习_哔哩哔哩_bilibili Goc编程第二课 Goc编程第二课_哔哩哔哩_bilibili Goc编程第三课 Goc编程第三课_哔哩哔哩_bilibili Goc编程第四课 Goc编程第四课_哔哩哔哩_bilibili G…

程序员开发10年无法突破架构师?那是因为这个环节没做对

“架构师”对于程序员来讲,一定是大部分程序员所追求以及渴望达到的一个高度。那么,到底需要达到什么要求才能算是架构师呢?下面为大家分享一张Java架构师的岗位职责图,大家可以先看看参考参考。 从图中可以看出,架构师…

机器学习~从入门到精通(一)knn算法数据集处理训练模型

一、机器学习的概念 机器学习的概念: 重点在于学习 ,区别于让机器去执行我们定义好的规则 我们让机器去学习,也就是具备一定的预测能力,需要我们给机器大量的数据,以及给定对于这些数据 机器如何去看待的规则&#x…

小程序框架与生命周期

目录 框架 响应的数据绑定 页面管理 基础组件 丰富的 API 逻辑层 App Service 小程序的生命周期 注册页面 使用 Page 构造器注册页面 在页面中使用 behaviors 使用 Component 构造器构造页面 页面的生命周期 页面路由 页面栈 路由方式 注意事项 模块化 模块化…

P2P之ICE协议(二)

名词解释 Transport Address:包含IP、port和传输协议。 Candidate:除了Transport Address 外还包括类型、优先级、foundation还有Base。 Base:Host candidate 关联一个 Server reflexive candidate 。 ICE的建连过程 ICE实现NAT穿透的所要…

影像组学——一个入门级汇报

影像组学1 相关综述2 发展历程3 研究背景4 影像组学工作流程5 临床应用6 影像组学的问题及挑战7 发展趋势1 相关综述 1. Radiomics the process and the challenges 2. Radiomics Extracting more information from medicalimages 3. Integrating pathomics with radiomics an…