今天继续给大家介绍Linux运维相关知识,本文主要内容是Logstash的部署与简单应用。
一、Logstash部署
Logstash的下载可以在Elastic官网上进行,下载网址为:https://www.elastic.co/cn/downloads/logstash,网页页面如下所示:
我们下载Logstash的RPM包后,直接执行命令:
yum -y localinstall logstash-6.8.1.rpm
这样,Logstash就安装完成了。
二、Logstash命令与模块简介
在Logstash安装完成后,我们来进行以下Logstash的简单应用,一方面是为了测试Logstash的安装情况,与Elasticsearch的对接情况;另一方面也是为了简单学习以下Logstash的简单使用。
但是,在这之前,我们需要
Logstash的命令在/usr/share/logstash/bin/目录下,因此,为了方便使用,我们可以将上述路径写入/etc/profile文件下。/etc/profile中的相关配置如下所示:
注意,完成上述配置后,别忘了执行命令:
source /etc/profile
使得配置生效哦
Logstash命令使用-e参数(余下的参数我们将会在后面的文章中讲到)可以指定具体的指令,Logstash分为input输入、output输出和filter过滤三个部分,其中filter过滤部分可以省略,而input和output部分则必须存在,在input和output部分,我们可以采用多个不同的模块,从而实现不同的功能。下面,我们就来简单接触一下Logstash。
三、Logstash简单应用
(一)标准输入输出
首先,我们来测试一下Logstash的标准输入输出。
执行命令:
logstash -e 'input{stdin{}} output{stdout{codec=>rubydebug}}'
在该命令中,我们的输入和输出调用了标准输入输出模块,标准输入输出模块,可以使Logstash读取屏幕中我们的键盘输入内容,并将结果直接打印在屏幕上。
注意,Logstash命令执行比较缓慢,所以在上述命令执行时,还请耐心等待!
如果您的硬件资源较差,可能需要等待一段相当长的时间!
执行后,结果如下:
这时,我们可以看到上图中有成功打开Logstash字样,这样就表示Logstash正常运行了,这时我们需要手动输入一个任意字符,然后观察现象,结果如下所示:
可以看到,Logstash已经将我们的输入内容打印在了屏幕上,并且转化为了JSON格式。这说明我们的Logstash进行标准输入输出实战成功!
注意:我们在执行Logstash命令后,该命令不会自动退出,我们需要在确定Logstash执行完毕(一般是简单Successfully)后,直接收到Ctrl+C退出。
(二)输出到文件
接下来,我们尝试让Logstash将结果输出的文件中,执行命令:
logstash -e "input{stdin{}} output{file{path=>‘/tmp/logstash_test}’}"
在上述命令中,我们使用了Logstash的标准输入模块和文件模块,使Logstash读取屏幕上键盘的输入,并将其输出到我们指定的文件中。
该命令执行结果如下所示:
我们查看文件中的内容,结果如下:
可以看出,我们的Logstash的输入已经输出到了文件中,Logstash的文件输出成功!
(三)输出到Elasticsearch
最后,我们来尝试让我们的Logstash输出到Elasticsearch中。
执行命令:
logstash -e 'input{stdin{}} output{elasticsearch{hosts=>["192.168.136.101:9200"],index=>"logstash-test"}}'
在该命令中,我们使用了logstash的标准输入和elasticsearch模块,该命令可以使得我们在屏幕中的键盘输入输出到在Elasticsearch中。在elasticsearch模块中,hosts参数指定了Elasticsearch的IP和端口号,index指定了索引名称,该命令执行结果如下:
在Elasticsearch的Head插件中,我们点击刷新,可以看到我们的索引,如下所示:
我们可以在数据浏览中查看数据,结果如下所示:
可以看出,Elasticsearch中的数据,正是我们在Logstash中输入的数据,可以看出,我们的Logstash输出的Elasticsearch模块成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200