搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(一) Logstash demo演示

来源:互联网 发布:windows一键还原官网 编辑:程序博客网 时间:2024/05/18 08:29
关于ELK的介绍在这里就不多说了,网上一大堆,直接上干货,先把Logstash跑起来!
  1. 运行环境—— 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跑起来,输入以下命令

  1. ./bin/logstash -e 'input{stdin{}} output{stdout{}}'  

看到途中圈选的 Pipeline main started则说明启动成功!接下来做个简单的测试

5、在前面终端接着输入 “Hello”,可以看到Logstash 将输入字符串的时间、主机名称 内容都格式化输出了



6、接着来体验Logsatsh的JSON格式,在终端同时按下 Crtl+C 退出当前Logstash,然后输入以下命令启动Logstash

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

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

)原理剖析

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

  1. ./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),这个我们在下一更接续介绍......


阅读全文
0 0