美文网首页ELK文集
搭建ELK(ElasticSearch+Logstash+Kib

搭建ELK(ElasticSearch+Logstash+Kib

作者: 933952e4f1d6 | 来源:发表于2017-09-12 11:15 被阅读100次

    关于ELK的介绍在这里就不多说了,网上一大堆,直接上干货,先把Logstash跑起来!

    运行环境—— Vmware 12 + Centos7 + Logstash5.5.1

    一)运行Logstash
    1、首先在官网下载Logstash,这里我选择的是5.5.1版本,点击下载Logstash,如果是在Linux上运行,就下载TAR.GZ,如果是Windows,就下载ZIP sha1,这里我下载了GZ压缩包。

    2、通过FTP软件上传下载好的压缩包,我这里是虚拟机,直接拖拽到虚拟机里即可,这里我把它放到了 /home/husen 目录下



    3、解压压缩包,进入logstash目录



    4、先来个最简单的把Logstash跑起来,输入以下命令
    ./bin/logstash -e 'input{stdin{}} output{stdout{}}'

    看到途中圈选的 Pipeline main started则说明启动成功!接下来做个简单的测试
    5、在前面终端接着输入 “Hello”,可以看到Logstash 将输入字符串的时间、主机名称 内容都格式化输出了


    6、接着来体验Logsatsh的JSON格式,在终端同时按下 Crtl+C 退出当前Logstash,然后输入以下命令启动Logstash
    ./bin/logstash -e 'input{stdin{}} output{stdout{codec => rubydebug}}'

    7、启动成功之后,再次输入 Hello ,可以看到这次输入的字符串以JSON格式输出了,很有趣,有么有!



    二)原理剖析
    Logstash就是用来收集日志的,刚刚在终端的输入其实就模拟在收集日志的过程,当然还可以从 文件、Redis、Log4J等等地方实时收集日志;
    而刚刚终端的输出,就是模拟了将收集的日志格式化后输出的场景。在时间使用时,Logstash一般将格式化后的日志输出到ElasticSearch搜索引擎。

    ./bin/logstash -e 'input{stdin{}} output{stdout{codec => rubydebug}}'

    这条命令的含义是:
    1、-e代表执行的意思,其实在我们写 ./bin/logstash -e 'input{stdin{}} output{stdout{}}' 的时候-e后面不写也可以,会执行默认配置;
    2、input即输入的意思,input里面即是输入的方式,这里选择了stdin,就是标准输入(从终端输入),也可以选择文件(file)、redis等等;
    3、output即输出的意思,output里面是输出的方式,这里选择了stdout,就是标准输出(输出到终端),也可以选择elasticSearch、redis等等;
    4、这里的codec是个插件,表明格式。这里放在stdout中,定义了输出的格式,rubydebug是专门用来做测试的格式,一般用来在终端输出JSON格式。

    其实我们在这里在忽略了Logstash最重要的一个过滤器(Filter),这个我们在下一更接续介绍......

    相关文章

      网友评论

        本文标题:搭建ELK(ElasticSearch+Logstash+Kib

        本文链接:https://www.haomeiwen.com/subject/pkccsxtx.html