kibana搜索日志,kibana实时展示日志
日志查询神器 Kibana简单使用
Kibana 是通向 Elastic 产品集的窗口。 它可以在 Elasticsearch 中对数据进行视觉探索和实时分析。
时间过滤既按照时间范围查询document内容,如查询最近一个小时、最近一天、当天的数据等。也支持具体的时间范围查询(精确到毫秒)。
1).Time Range范围查询
条件查询Kibana支持两种方式查询。
1).通过Add Filter 按钮 添加过滤条件查询如下所示。
ToolBar工具按钮包含
可视化 (Visualize) 功能可以为您的 Elasticsearch 数据创建可视化控件。然后,您就可以创建仪表板将这些可视化控件整合到一起展示。
线形图,区域图和条形图允许您在 X/Y 轴上绘制数据。绘制数据之前首先需要明确X轴Y轴的数据指标是什么,只有确定了XY轴指标之后才能进行绘制。下边我以Vertical Bar(垂直柱形图)为例。
Markdown 控件是一个文本输入字段,支持 Github 风格的 Markdown 文本。Kibana 会渲染输入到该字段的文本,并把结果展示在仪表板上。
语法教程参见:
每个时间序列可视化生成器又包含5个子可视化页面
Kibana 仪表板(Dashboard) 展示保存的可视化结果集合。
示例如下:
Options:选项
filebeat+elasticsearch+logstash+kibana收集系统日志(docker)
我们这里用到的是 filebeat+elk(elasticsearch+logstash+kibana) 来进行系统日志的收集。filebeat安装在各个服务器中,Logstash+ElasticSearch+Kibana安装在一台专门用于基础服务的服务器上。
Filebeat是一个轻量级的托运人,用于转发和集中日志数据. Filebeat作为代理安装在服务器上,监视您指定的日志文件或位置,收集日志事件,并将它们转发到 ElasticSearch 或 Logstash 进行索引.
官方中文文档:
Logstash是一个开源的服务器端数据处理管道,可以同时从多个数据源获取数据,并对其进行转换,然后将其发送到你最喜欢的“存储”。
官方中文文档:
Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene? 基础之上。Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库--无论是开源还是私有。
官方中文文档:
《Elasticsearch:权威指南》:
Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。
官方中文文档:
nginx.conf中设置日志文件格式:
修改完成后,通过 sudo nginx -t 来检查配置文件是否正确,然后 sudo nginx -s reload 来重启
filebeat各系统安装教程详见官方文档。
我这里安装的deb包(rpm包也同样),配置文件在 /etc/filebeat/filebeat.yml ,
filebeat命令:
参数介绍:
在/usr/local/文件夹下依次创建logstash/conf.d/logstash.conf
grok正则在线验证地址:
正则代表的含义:
配置成功后,执行如下命令重启docker中的logstash (有时会重启失败,多试几次吧)
在浏览器中输入 进入kibana
然后如下设置
然后创建 index pattern
然后选择@timestamp
最后在Discover标签页就可以看到了
kibana搜索简易指南
在搜索栏输入要查询的关键词,如 login ,会返回所有字段值中包含 login 的文档
或者使用双引号将多个关键词包起来作为一个短语搜索,如 "like Gecko"
注意:
以以下字段进行说明
field:value 限定字段全文搜索
filed:"value" 精确搜索:关键字加上双引号
http.code:404 搜索http状态码为404的文档
根据字段本身是否存在
_exists_:http 返回结果中需要有http字段
_missing_:http 不能含有http字段
以上字符当作值搜索的时候需要用\转义
? _ 不能用作第一个字符,例如:?text _text
es支持部分正则功能,性能较差, 只有keyword类型的字段支持正则表达式
quikc~ brwn~ foks~
:在一个单词后面加上 启用模糊搜索,可以搜到一些拼写错误的单词
first~ 这种也能匹配到 frist
还可以设置编辑距离(整数),指定需要多少相似度
cromm~1 会匹配到 from 和 chrome
默认2,越大越接近搜索的原始值,设置为1基本能搜到80%拼写错误的单词
在短语后面加上~,可以搜到被隔开或顺序不同的单词
"where select"~5 表示 select 和 where 中间可以隔着5个单词,可以搜到 select password from users where id=1
数值/时间/IP/字符串 类型的字段可以对某一范围进行查询
使用^使一个词语比另一个搜索优先级更高,默认为1,可以为0~1之间的浮点数,来降低优先级
·+apache -jakarta test aaa bbb :结果中必须存在apache,不能有jakarta,剩余部分尽量都匹配到
以下使用nginx日志进行搜索展示, kibana中查询语句,