ELK指的是由Elastic公司提供的三个开源组件Elasticsearch、Logstash和Kibana。

  Logstash:开源的服务器端数据处理管道,能够同时 从多个来源采集数据、转换数据,然后将数据发送到您最喜欢的 “存储库” 中。(我们的存储库当然是 Elasticsearch。)

  Elasticsearch:一个分布式的 RESTful 风格的搜索和数据分析引擎。

  Kibana:能够可视化 Elasticsearch 中的数据并操作 Elastic Stack(ELK Stack从5.x开始称作Elastic Stack)

本文介绍ELK在win10 64ibit系统下的安装和简单配置,更多信息见:

  Elastic官网

  官方文档

  elasticsearch中文文档

注:ELK6.x需要java 8,不支持java 9

Logstash安装:

  下载地址:https://www.elastic.co/cn/downloads/logstash

  下载zip文件并解压文件到你的磁盘中,接下来让我们来验证安装是否正确。通过cmd切换到安装目录下,运行一个最基础的logstash pipeline:

输入logstash -e "" 之后, 稍等片刻,logstash开始启动。在信息的末尾会出现如下提示:

我们输入“hello”后键入回车键,会发现控制台信息更新,内容如下。

看到这里,我们的安装就成功了。

logstash命令行支持两种方式加载配置项

logstash -e

  logstash -e "" 等同于 logstash -e "input {stdin {}} output {stdout { codec => rubydebug }}"

logstash -f 

  加载指定配置文件,启动logstash,如 H:\elk\logstash-6.1.1\bin>logstash -f ../logstash-test.conf

更多配置,使用logstash -f 或logstash -f或者logstash --help查看。

logstash pipeline有两个必备元素,input and output,还有一个可选元素filter.通过input插件载入数据,filter插件按照指定修改数据,最后使用output将数据输出在指定的位置。

下面是一个简单的logstash.conf示例,将指定目录下符合匹配规则的文件,转存储到elasticsearch :

input {
  file {
    path =>["D:/logs/**/*.log*","D:/logs/**/*.log"]#指定输入文件路径,支持数组
    #add_field => {"test"=>"test"} #添加自定义字段
    #tags => "tag1" #标签
    #exclude => "xxx.log" #排除文件
    start_position => "beginning" #监听文件的起始位置
    sincedb_path => "NUL" #logstash默认是增量读取的,此项配置表示文件读取进度的记录。在window下值为"NUL",linux下为"/dev/null"时,表示每次都从头开始读取文件,在正式环境中一定要关闭
    codec => multiline { 
      pattern => "^\[" #正则匹配条件,作为判断是否和前一行合并的依据
      negate => true #boolean类型,设置正向匹配还是反向匹配,默认是false,可选
      what => "previous" #设置未匹配的内容是向前合并还是向后合并,previous, next 两个值选择,必选
    }
  }
}
output {
  elasticsearch {
    hosts => "localhost:9200" #指定转存储目标,我们使用的是elasticsearch
  }
}
好吧,我们的elasticsearch还没有安装接下来我们下载并安装elasticsearchkibana
各自解压后进入elasticsearch的config目录,修改elasticsearch.yml,放开network.host的注释,指定一个ip以通知其他应用。我这里设置成0.0.0.0。
修改kibana下的kibana.yml,设置elasticsearch.url为"http://localhost:9200"。
依次启动elasticsearch,kibana,然后使用上面的配置文件启动logstash
访问http://localhost:5601
使用discover,可以看到message中可以看到包含多行日志的message。

使用elk转存储日志的更多相关文章

  1. ELK+kafka构建日志收集系统

    ELK+kafka构建日志收集系统   原文  http://lx.wxqrcode.com/index.php/post/101.html   背景: 最近线上上了ELK,但是只用了一台Redis在 ...

  2. ELK+Kafka 企业日志收集平台(一)

    背景: 最近线上上了ELK,但是只用了一台Redis在中间作为消息队列,以减轻前端es集群的压力,Redis的集群解决方案暂时没有接触过,并且Redis作为消息队列并不是它的强项:所以最近将Redis ...

  3. ELK搭建实时日志分析平台之一ElasticSearch搭建

    文:铁乐与猫 系统:CentOS Linux release 7.3.1611 (Core) 注:我这里为测试和实验方便,ELK整套都装在同一台服务器环境中了,生产环境的话,可以分开搭建在不同的服务器 ...

  4. ELK之收集日志到mysql数据库

    写入数据库的目的是持久化保存重要数据,比如状态码.客户端浏览器版本等,用于后期按月做数据统计等. 环境准备 linux-elk1:10.0.0.22,Kibana ES Logstash Nginx ...

  5. ELK + kafka 分布式日志解决方案

    概述 本文介绍使用ELK(elasticsearch.logstash.kibana) + kafka来搭建一个日志系统.主要演示使用spring aop进行日志收集,然后通过kafka将日志发送给l ...

  6. ELK +Nlog 分布式日志系统的搭建 For Windows

    前言 我们为啥需要全文搜索 首先,我们来列举一下关系型数据库中的几种模糊查询 MySql : 一般情况下LIKE 模糊查询  SELECT * FROM `LhzxUsers` WHERE UserN ...

  7. ELK对nginx日志进行流量监控

    ELK对nginx日志进行流量监控 一.前言 线上有一套ELK单机版,版本为5.2.1.现在想把nginx访问日志接入到elk里,进行各个域名使用流量带宽的统计分析.要把nginx日志传输到elk上, ...

  8. 基于Centos 7.4 搭建ELK整合SpringBoot日志收集

    基于Centos 7.4搭建es7.12.0+logstash-7.12.0+kibana-7.12.0(ELK)整合SpringBoot日志收集 注:Skywalking和logstash可共用一个 ...

  9. ELK Stack企业日志平台文档

                                          ELK Stack企业日志平台文档           实验环境 主机名 IP地址 配置 系统版本 用途 controlno ...

随机推荐

  1. MPSOC之3——centos环境配置及petalinux安装及使用

    ubuntu虽然能正常安装,但是build时会出现闪退情况,闪退后一切归零,没啥错误提示,改用centos来安装petalinux. 0.环境 vmware pro 14,centos 7.3 pet ...

  2. Tencent社会招聘scrapy爬虫 --- 已经解决

    1.用 scrapy 新建一个 tencent 项目 2.在 items.py 中确定要爬去的内容 # -*- coding: utf- -*- # Define here the models fo ...

  3. CS:APP3e 深入理解计算机系统_3e bomblab实验

    bomb.c /*************************************************************************** * Dr. Evil's Ins ...

  4. Redis持久化方式

    Snapsotting(快照)方式 snapsotting是默认方式,(把数据做一个备份,将数据存储在文件) 这种方式将内存中数据照快照方式写到二进制文件中.默认的文件名为"dump.rdb ...

  5. 37、mysql初识

    之前我们写代码需要存取信息时用的是文件可是用文件存取数据非常局限,今天我们将走进一个新的世界mysql 一.数据库由来 之前所学,数据要永久保存,比如用户注册的用户信息,都是保存于文件中,而文件只能存 ...

  6. Parallels Desktop 12 for Mac 破解版

    Parallels Desktop for Mac 是功能最强大灵活度最高的虚拟化方案,无需重启即可在同一台电脑上随时访问Windows和Mac两个系统上的众多应用程序.从仅限于PC的游戏到生产力软件 ...

  7. 网口做trunk

    首先发现这个服务器的两个网口对应的交换机端口 ailixin-asw2960>en ailixin-asw2960#terminal monitor 查看端口的状态 ailixin-asw296 ...

  8. 【Uva10559】Blocks(区间DP)

    Description 题意:有一排数量为N的方块,每次可以把连续的相同颜色的区间消除,得到分数为区间长度的平方,然后左右两边连在一起,问最大分数为多少. \(1\leq N\leq200\) Sol ...

  9. echarts中如何使用timeline组件

    1.吃碗面 这里关于echarts3 官网的示例我不得不吐槽一下,逼格真高!一小部分示例动不动数据就是国家统计局搞出来的,你脸真大.当然他们做的示例的确是很好,这一点毫无疑问.当我看了echarts3 ...

  10. java小技术之生成二维码

    把我们需要的链接或者内容生成二维码其实是一件非常容易的事情,有很多办法可以实现,这里我们采用JS方法生成. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTM ...