28.Kibana基础-1
2022-05-11 本文已影响0人
大勇任卷舒
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开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通