1. logstash
1.1logstash介绍
- Logstash是一个开源的服务器端数据处理管道,能够接收,处理,转发日志。支持系统日志,webserver日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型。logstash拥有200多个插件,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。(大多都是Elasticsearch。) Logstash管道有两个必需的元素,输入和输出,以及一个可选元素过滤器。
- 虽然Logstash最初推动了日志收集方面的创新,但是它的功能远远超出了这个用例,任何类型的事件都可以通过大量的输入、过滤器和输出插件来丰富和转换,使用许多原生编解码可以进一步简化摄取过程。Logstash通过利用大量和多种数据来提高你的洞察力。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/673405b6af7296bd4147da744f9fa1ba.png)
- 如上图,Logstash的数据处理过程主要包括:Inputs,Filters,Outputs三部分,另外在Inputs和Outputs中可以使用Codecs对数据格式进行处理。这四个部分均以插件形式存在,用户通过定义pipeline配置文件,设置需要使用的input,filter,output,codec插件,以实现特定的数据采集,数据处理,数据输出等功能。
- 输入:采集各种样式、大小和来源的数据
- Logstash 支持各种输入选择 ,同时从众多常用来源捕捉事件。
- 能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。
- 过滤器:实时解析和转换数据
- 数据从源传输到存储库的过程中,Logstash过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便更轻松、更快速地分析和实现商业价值。
- 利用 Grok 从非结构化数据中派生出结构
- 从 IP 地址破译出地理坐标
- 将 PII 数据匿名化,完全排除敏感字段
- 简化整体处理,不受数据源、格式或架构的影响
- 输出:选择您的存储库,导出您的数据
- 尽管 Elasticsearch 是我们的首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。
- Logstash 提供众多输出选择,您可以将数据发送到您要指定的地方,并且能够灵活地解锁众多下游用例。
- 依赖条件:JAVA
Logstash运行仅仅依赖java运行环境(jre)。各位可以在命令行下运行java -version命令
为了确保成功运行Logstash建议大家使用较近期的jre版本。
1.2logstash的力量
- 用于Elasticsearch和更多的镊取工作
- 具有增强Elasticsearch和Kibana协同的水平可伸缩数据处理管道
- 可插入管道架构
- 混合、匹配和编排不同的输入、过滤器和输出,使之在管道中和谐运行
- 社区可扩展和开发者友好的插件生态系统
- 超过200个插件,加上创建和贡献你自己的灵活性
2. Logstash的安装与配置(一台新的虚拟机)
2.1软件的下载和安装
2.1.1软件的下载
官方网站
[root@server16 ~]# ll ##官网下载
total 334812
-rw-r--r-- 1 root root 170023183 Sep 5 2018 jdk-8u181-linux-x64.rpm
-rw-r--r-- 1 root root 172821011 Mar 12 2020 logstash-7.6.1.rpm
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b0aa055111e83c5d5b7668d5d319e736.png)
2.2.1软件的安装
[root@server16 ~]# rpm -ivh jdk-8u181-linux-x64.rpm
[root@server16 ~]# rpm -ivh logstash-7.6.1.rpm
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ca96e567a0d13b8c1392ed4f677f07c2.png)
2.3 环境变量的配置
[root@server16 opt]# cd /usr/share/logstash/
[root@server16 logstash]# ls
bin Gemfile LICENSE.txt modules vendor
CONTRIBUTORS Gemfile.lock logstash-core NOTICE.TXT x-pack
data lib logstash-core-plugin-api tools
[root@server16 logstash]# cd bin/
[root@server16 bin]# ls
benchmark.sh logstash logstash.lib.sh pqrepair
cpdump logstash.bat logstash-plugin ruby
dependencies-report logstash-keystore logstash-plugin.bat setup.bat
ingest-convert.sh logstash-keystore.bat pqcheck system-install
[root@server16 bin]# pwd
/usr/share/logstash/bin
[root@server16 bin]# cd
[root@server16 ~]# vim .bash_profile
[root@server16 ~]# cat .bash_profile | grep bin
PATH=$PATH:$HOME/b