为了解决公司的项目在集群环境下查找日志不便的问题,我在做过简单调研后,选用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. 【python】函数返回值

  2. cocoapods使用 swift注意事项

    版权声明:本文为博主原创文章,未经博主允许不得转载. 说明:2015年12月2日更新,增加一个可能遇到的问题,优化排版.使用CocoaPods过程中遇到问题,欢迎评论交流. 一.CocoaPods的安 ...

  3. nodejs+mongodb+vue前后台配置ueditor

    笔者在做一个个人博客项目的时候需要一个富文本框输入组件与后台进行交互,但是官方配置里面没有关于nodejs的,于是自己查阅资料研究了一下,最后终于应用到了系统中. 一.后台配置 首先是找到了这个项目: ...

  4. ArcGIS 网络分析[4] 网络数据集深入浅出之连通性、网络数据集的属性及转弯要素

    前面介绍完了如何创建网络数据集.如何使用网络分析功能,当然还有的读者会迷惑于一些更深层次的问题,比如网络数据集的连通性问题等. 因为不可能面面俱到,我只能挑重点来阐述,我觉得网络数据集的连通性.属性和 ...

  5. Oracle数据库中插入日期型数据(to_date的用法)(转载)

    往Oracle数据库中插入日期型数据(to_date的用法) INSERT  INTO  FLOOR  VALUES  ( to_date ( '2007-12-20 18:31:34' , 'YYY ...

  6. for 在项目实战中用的比较多

    for循环编程语言中的语句之一,用于循环执行.for循环是开界的,它的一般形式为: for(; <条件表达式>; ) 语句: 初始化通常是一个赋值语句, 它用来给循环控制变量赋初值: 条件 ...

  7. Anaconda系统中管理程序包(Package)

    列出所有已安装的程序包 conda list 在已安装的程序包中查找某个特定的程序包 conda search package-name 安装程序包 conda install beautiful-s ...

  8. TCP/IP协议栈(三)——linux 向下的报文处理

    应用程序连接服务器时,目的地套接字地址(端口号和IP地址)以参数形式传递给系统调用connect(tcp_v4_connect()).下面逐步介绍初始化该连接 检查内核路由表,查找给定目的地IP地址路 ...

  9. Android与javascript中事件分发机制的简单比较

    在前面两篇博客中,我们讨论了Android中的事件分发的相关内容,那么在本篇博客当中,我们就简单探讨一下html或javascript中的事件分发机制,并进行简单的对比. 在前端中,对事件进行绑定有三 ...

  10. mac pycharm快捷键整理

    转自:http://www.jianshu.com/p/be0bdc02f7da (感谢整理,另外,简书似乎很不错,排版很nice.) Pycharm 快捷键 shift cmd + 展开所有 shi ...