为了解决公司的项目在集群环境下查找日志不便的问题,我在做过简单调研后,选用Elastic公司的Elastic Stack产品作为我们的日志收集,存储,分析工具。

Elastic Stack是ELK(Elasticsearch,Logstash,Kibana)从5版本开始的新名称,那么的他们都能干什么?参见下图:

我们使用logstash来收集日志,Elasticsearch存储日志,Kibana用来搜索并展示可视化的页面给用户。

ok,本章重点讲Kibana在linux下的安装,假设你已经安装了Elasticsearch,logstash。

使用cat /etc/centos-release查看系统版本:

  CentOS Linux release 7.2.1511 (Core) 

使用cat /proc/version 查看系统内核

  Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015

由于我的服务器环境无法连接外网,这里采用rpm的方式安装,那么首先我们需要先准备好rpm,从官网下载kibana-6.1.2-x86_64.rpm文件。官网下载页传送门:

  https://www.elastic.co/downloads/kibana

下载完成后,使用rpm命令安装

  rpm -ivh /elk/kibana-6.1.2-x86_64.rpm

安装完毕,使用systemd来将kibana设置为开机启动

  sudo /bin/systemctl daemon-reload

  sudo /bin/systemctl enable kibana.service

如果需要外网访问,将kibaba.yml中的server.host设置为0.0.0.0,接下来我们启动服务

  sudo systemctl start kibana.service

使用IP:5601访问kibana,界面如下:

默认打开discover面板。但我们首先需要到management中创建Index Pattern。符合规则的Index Pattern将被用来匹配elasticsearch数据库中的index。例如,我创建了一个logstash-*的Index Pattern,能匹配到logstash-2018.01.18

简单配置后,接下来我们就可以去discover菜单查询数据了。

在右上角有时间选项点击可以展开更多选择,默认展示最近15分钟,根据需要选择。

kibana支持Lucene query sysntax,此外Kuery为kibana指定的查询语言。

在搜索栏输入任意字符,Kibana将使用message作为默认字段,将输入字符进行分词检索。注意:如需要使用中文分词,需要使用插件进行相关配置。

指定字段检索

  message:injected

将输入字符使用双引号包起来,则输入字符会作为一个短语搜索

  path:"/logs/xxxx/springframework.log"

如下字符需要使用\进行转义:

  + - && || ! () {} [] ^" ~ * ? : \

通配符:

  ? 匹配单个字符

  * 匹配0到多个字符

近似搜索:

  "charA charB"~10 表示charA前后10个词内出现charB

范围搜索:

  [ ] 表示端点数值包含在范围内,{ } 表示端点数值不包含在范围内

  数值类型示例,100到200:length:[100 TO 200]

  日期类型示例,6小时之内:date:{"now-6h" TO "now"}

      y years
      M months
      w weeks
      d days
      h hours
      H hours
      m minutes
      s seconds

  相关函数和示例:

      and path:"springframework*" AND @timestamp:["now-1h" TO "now"]

      orpath:"springframework*" OR @timestamp:["now-1h" TO "now"]

      not:NOT path:"springframework*"  或者   !path:"springframework*" 

      is path:"springframework*" 

      range : @timestamp:["now-1h" TO "now"]

      exists: _exists_:path  ##必须存在path字段

      

  

      

  

Elastic Stack之kibana入门的更多相关文章

  1. Elastic Stack之kibana使用

    Elastic Stack之kibana使用 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客数据流走向:FileBeat ===>Redis  ===>log ...

  2. Elastic Search和Kibana入门

    一.ES配置 二.ES本地快速搭建集群 查看ES集群 查看node详细情况 三.Kibana配置 修改kibana的es配置 访问localhost:5601端口 四.Elasticsearch 术语 ...

  3. ES 集中式日志分析平台 Elastic Stack(介绍)

    一.ELK 介绍 ELK 构建在开源基础之上,让您能够安全可靠地获取任何来源.任何格式的数据,并且能够实时地对数据进行搜索.分析和可视化. 最近查看 ELK 官方网站,发现新一代的日志采集器 File ...

  4. 集中式日志分析平台 Elastic Stack(介绍)

    一.ELK 介绍 二.ELK的几种常见架构 >>ELK 介绍<< ELK 构建在开源基础之上,让您能够安全可靠地获取任何来源.任何格式的数据,并且能够实时地对数据进行搜索.分析 ...

  5. Elastic Stack核心产品介绍-Elasticsearch、Logstash和Kibana

    Elastic Stack 是一系列开源产品的合集,包括 Elasticsearch.Kibana.Logstash 以及 Beats 等等,能够安全可靠地获取任何来源.任何格式的数据,并且能够实时地 ...

  6. 浅尝 Elastic Stack (一) Elasticsearch、Kibana、Beats 安装

    Elastic Stack 包括 Elasticsearch.Kibana.Beats 和 Logstash,也称为 ELK Stack.能够安全可靠地获取任何来源.任何格式的数据,然后实时地对数据进 ...

  7. Elastic Stack(ElasticSearch 、 Kibana 和 Logstash) 实现日志的自动采集、搜索和分析

    Elastic Stack 包括 Elasticsearch.Kibana.Beats 和 Logstash(也称为 ELK Stack).能够安全可靠地获取任何来源.任何格式的数据,然后实时地对数据 ...

  8. 使用 Spring Cloud Sleuth、Elastic Stack 和 Zipkin 做微服务监控

    关于迁移微服务架构,最常被提及的挑战莫过于监控.每个微服务应独立于其他服务的运行环境,所以他们之间不会共享如数据源.日志文件等资源. 然而,较容易的查看服务的调用历史,并且能够查看多个微服务的请求传播 ...

  9. Elastic Stack学习

    原文链接 Elastic Stack简称ELK,在本教程你将学习如何快速搭建并运行Elastic Stack. 首先你要安装核心开源产品: Elasticsearch: Kibana: Beats: ...

随机推荐

  1. J2EE: JCA (Java Connector Architecture) [转]

    JCA (J2EE 连接器架构,Java Connector Architecture)是对J2EE标准集的重要补充.因为它注重的是将Java程序连接到非Java程序和软件包中间件的开发.连接器特指基 ...

  2. spring -boot s-tarter 详解

    Starter POMs是可以包含到应用中的一个方便的依赖关系描述符集合.你可以获取所有Spring及相关技术的一站式服务,而不需要翻阅示例代码,拷贝粘贴大量的依赖描述符.例如,如果你想使用Sprin ...

  3. .net 图片无损压缩

    命名空间: using System.Drawing.Imaging; using System.Drawing; using System.Drawing.Drawing2D; #region Ge ...

  4. OpenCASCADE构造一般曲面

    OpenCASCADE构造一般曲面 eryar@163.com Abstract. 本文主要介绍常见的曲面如一般柱面(拉伸曲面).旋转面在OpenCASCADE中的构造方法,由此思考一般放样算法的实现 ...

  5. .Net版InfluxDB客户端使用时的一些坑

    1.如果应用程序是WebAPi,则需要使用同步版的InfluDB客户端 2.如果应用程序是Winform或Console程序或Windows服务,则使用同步或异步版客户端都可以,建议用异步版 3.如果 ...

  6. scrollTop的兼容性

    各浏览器下 scrollTop的差异 IE6/7/8: 对于没有doctype声明的页面里可以使用 document.body.scrollTop 来获取 scrollTop高度 : 对于有docty ...

  7. xamarin android布局

    xamarin android布局练习(1) xamarin android布局练习,基础非常重要,首先要学习的就是android的布局练习,xamarin也一样,做了几个xamarin androi ...

  8. 4.Nginx的URL重写应用

    Nginx的URL重写应用 nginx的URL重写模块是用得比较多的模块之一,所以我们需要好好地掌握运用.常用的URL重写模块命令有if,rewrite,set,break等. if命令 if用于判断 ...

  9. find 命令的误差估值与单位调整

    一.命令简介 find 命令的 -size 参数 单位b(不是byte而是block).c.w.k.M.G.默认是单位b ,也就是1block = 512byte = 0.5kb (文件系统ext4) ...

  10. .net 委托的使用方法以及使用委托的好处

    使用方法: //无返回值无参数委托的定义方法 public delegate void NoReturnPara(); 给委托赋值的几种方式 //实例化委托,并传入方法 NoReturbNoPara ...