备注360第五天
学习Elastic思路,如果先学Elasticsearch,只能学习基本语法,没有实战项目。实战思路,改造现有项目的搜索模块,借用logstash搜集数据,转换到Elasticsearch上,完成实战内容。
logstash学习参考内容,官方博客:如何安装 Elastic 栈中的 Logstash_Elastic 中国社区官方博客的博客-优快云博客
Logstash 是一个功能强大的工具,可与各种部署集成。 它提供了大量插件,可帮助你解析,丰富,转换和缓冲来自各种来源的数据。
Logstash 是一个数据流引擎:
- 它是用于数据物流的开源流式 ETL(Extract-Transform-Load)引擎
- 在几分钟内建立数据流管道
- 具有水平可扩展及韧性且具有自适应缓冲
- 不可知的数据源
- 具有 200 多个集成和处理器的插件生态系统
- 使用 Elastic Stack 监视和管理部署
Logstash 主要包含三个方面
- 输入(inputs)
- 过滤器(filters)
- 输出(outputs)
接下来进行安装
java环境略过
安装Logstash
注意:在这里,我们以安装版本7.3为例。如果你想安装其它的版本,请把下面的数字改为相应的版本信息进行下载及安装。 我们必须安装和 Elasticsearch 版本一致的 Logstash。除了下面的命令之外,我们也可以在地址 Download Logstash Free | Get Started Now | Elastic 直接下载安装。在下面我们使用 7.3.0 版本为例来进行安装。如果你想安装其它的版本,直接在命令行中替换命令行中的 7.3.0 为你想要的版本号码。
curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-7.3.0.tar.gz
tar -xzvf logstash-7.3.0.tar.gz
至此,Logstash 的安装以及完成。
我们怎么检查我们的 Logstash 安装是正确的呢?
首先,让我们通过运行最基本的 Logstash 管道来测试你的 Logstash 安装。
Logstash 管道有两个必需元素,输入和输出,以及一个可选元素 filter。 输入插件使用来自源的数据,过滤器插件在你指定时修改数据,输出插件将数据写入目标。
要测试 Logstash 安装,请运行最基本的 Logstash 管道。 例如:
cd logstash-7.3.0
bin/logstash -e 'input { stdin { } } output { stdout {} }'
等Logstash完成启动后,我们在stdin里输入一下文字,我们可以看到如下的输出:
如果你在你的 Terminal 中看到和我一样的输出,说明你的 Logstash 安装时成功的。
我们也可以创建一个自己的 logstash.conf 文件,并存于你的文件系统的一个目录下。这个 logstash.conf 的文件内容如下:
logstash.conf 这里我是添加到了config下
input {
stdin{ }
}
output {
stdout {
codec => rubydebug
}
}
然后,我们可以使用如下的命令来运行我们的 logstash:
./bin/logstash -f ./config/logstash.conf
通过这样的 -f 选项,我们可以启动任何一个我们喜欢路径的 longstash 配置文件。这个文件可能并不存在于当前的 Logstash 的安装目录中。以后我们的 Logstash 整个安装目录被删除,那么我们的配置文件也将在这里。
我们也可以通过如下的配置文件,把我们在 terminal 上输入的信息输出到一个文件中:
input {
stdin{}
}
output {
file {
path => "./output.log"
}
}
如果用相对路径,会基于启动命令的目录来定位文件,如果在logstash根目录运行,文件就会生成到根目录,如果是在bin目录下运行的,就会生成到bin目录下