28.Kibana基础-1

28.1 Kibana简介

  • Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。
  • Kibana可以用来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。
  • 可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。
  • Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。

28.2 访问Kibana

  • Kibana是一个Web应用程序,你可以通过5601来访问它。例如:localhost:5601 或 者 http://YOURDOMAIN.com:5601
  • 当访问Kibana时,默认情况下,Discover页面加载时选择了默认索引模式。时间过滤器设置为最近15分钟,搜索查询设置为match-all(*)


28.3 用Elasticsearch连接到Kibana

  • 默认情况下,Kibana连接允许在localhost上的Elasticsearch实例。为了连接到一个不同的Elasticsearch实例,修改kibana.yml中Elasticsearch的URL,然后重启Kibana。
  • 为了配置你想要用Kibana访问的Elasticsearch索引:
    • 访问Kibana UI。例如,localhost:56011 或者 http://YOURDOMAIN.com:5601
    • 指定一个索引模式来匹配一个或多个你的Elasticsearch索引。当你指定了你的索引模式以后,任何匹配到的索引都将被展示出来。
    • 点击“Next Step”以选择你想要用来执行基于时间比较的包含timestamp字段的索引。如果索引没有基于时间的数据,那么选择“I don’t want to use the Time Filter”选项。
    • 点击“Create index pattern”按钮来添加索引模式。第一个索引模式自动配置为默认的索引默认,以后当有多个索引模式的时候,就可以选择将哪一个设为默认。

28.4 Lucene查询语法

  • Kibana查询语言基于Lucene查询语法。
  • 为了执行一个文本搜索,可以简单的输入一个文本字符串。例如,如果想搜索web服务器的日志,可以输入关键字"safari",这样就可以搜索到所有有关"safari"的字段
  • 为了搜索一个特定字段的特定值,可以用字段的名称作为前缀。例如,输入"status:200",将会找到所有status字段的值是200的文档
  • 为了搜索一个范围值,可以用括号范围语法,[START_VALUE TO END_VALUE]。例如,为了找到状态码是4xx的文档,可以输入status:[400 TO 499]
  • 为了指定更改复杂的查询条件,可以用布尔操作符 AND , OR , 和 NOT。例如,为了找到状态码是4xx并且extension字段是php或者html的文档,可以输入status:[400 TO 499] AND (extension:php OR extension:html)
  • 查询界面


28.5 Kibana查询(KQL)语法

  • response:200 将匹配response字段的值是200的文档。
  • 用引号引起来的一段字符串叫短语搜索。
    • 例如,message:"Quick brown fox" 将在message字段中搜索"quick brown fox"这个短语。
    • 如果没有引号,将会匹配到包含这些词的所有文档,而不管它们的顺序如何。
    • 这就意味着,会匹配到"Quick brown fox",而不会匹配"quick fox brown"。(引号引起来作为一个整体)
  • 查询解析器将不再基于空格进行分割。
    • 多个搜索项必须由明确的布尔运算符分隔。注意,布尔运算符不区分大小写。
  • 在Lucene中,response:200 extension:php 等价于 response:200 and extension:php。
    • 这将匹配response字段值匹配200并且extenion字段值匹配php的文档。
  • 如果把中间换成or,那么response:200 or extension:php将匹配response字段匹配200 或者 extension字段匹配php的文档。
  • 默认情况下,and 比 or 具有更高优先级。
    • response:200 and extension:php or extension:css 将匹配response是200并且extension是php,或者匹配extension是css而response任意
  • 括号可以改变这种优先级
    • response:200 and (extension:php or extension:css) 将匹配response是200并且extension是php或者css的文档
  • 还有一种简写的方式:
    • response:(200 or 404) 将匹配response字段是200或404的文档。字符值也可以是多个,比如:tags:(success and info and security)
  • 还可以用not
    • not response:200 将匹配response不是200的文档
    • response:200 and not (extension:php or extension:css) 将匹配response是200并且extension不是php也不是css的文档
  • 范围检索和Lucene有一点点不同
    • 代替 byte:>1000,我们用byte > 1000
    • 有效的操作符>, >=, <, <= 都是
  • response:* 将匹配所有存在response字段的文档
  • 通配符查询也是可以的。
    • machine.os:win* 将匹配machine.os字段以win开头的文档,像"windows 7"和"windows 10"这样的值都会被匹配到。
  • 通配符也允许我们一次搜索多个字段,例如,假设我们有machine.os和
    machine.os.keyword两个字段,我们想要搜索这两个字段都有"windows 10",那么我们可以这样写"machine.os*:windows 10"

大数据视频推荐:
腾讯课堂
CSDN
ELK入门精讲
AIOps智能运维实战
ELK7 stack开发运维
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容