Logstash 初探

Logstash

Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。

集中、转换和存储你的数据

Logstash是一个开源的服务器端数据处理管道,可以同时从多个数据源获取数据,并对其进行转换,然后将其发送到你最喜欢的“存储”。(当然,我们最喜欢的是Elasticsearch)

INPUTS (输入插件): 采集各种格式、大小和来源的数据

      数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash 支持各种输入选择 ,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。

 

 FILTERS (过滤器插件):实时解析和转换数据 

      数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便更轻松、更快速地分析和实现商业价值。

Logstash 能够动态地转换和解析数据,不受格式或复杂度的影响:

  • 利用 Grok 从非结构化数据中派生出结构
  • 从 IP 地址破译出地理坐标
  • 将 PII 数据匿名化,完全排除敏感字段
  • 整体处理不受数据源、格式或架构的影响

我们丰富的过滤库给数据过滤提供了无限的可能性。

OUTPUTS(输出插件):选择你的存储,导出你的数据

       尽管 Elasticsearch 是我们的首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。Logstash 提供众多输出选择,您可以将数据发送到您要指定的地方,并且能够灵活地解锁众多下游用例。

8f5ab29cd25707d7594a565bd4d75404386.jpg

 

安装Logstach

1、安装JDK

Logstach是基于Java开发是一个Java程序,运行在Jvm中,所以第一步要安装JDK。

yum install -y java-1.8.0-openjdk-devel

2、下载Logstach

https://www.elastic.co/cn/downloads/logstash,是Logstach的官方站点,如果需要下载最新的版本,进入官网下载即可。可以下载到本地电脑然后再导入CentOS中,也可以直接在CentOS中下载。

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.5.4.rpm

2、安装Logstach

# 执行安装命令

rpm -ivh logstash-6.5.4.rpm

warning: logstash-6.5.4.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Preparing...                ########################################### [100%]
   1:logstash               ########################################### [100%]
Using provided startup.options file: /etc/logstash/startup.options
Successfully created system startup script for Logstash

# 查看下logstash的安装目录

rpm -ql logstash

# 创建一个软连接,每次执行命令的时候不用在写安装路劲(默认安装在/usr/share下)

ln -s /usr/share/logstash/bin/logstash /bin/

好,马上开始我们的第一个例子:

首先,让我们通过最基本的Logstash管道来测试一下刚才安装的Logstash。Logstash管道有两个必需的元素,输入和输出,以及一个可选元素过滤器。输入插件从数据源那里消费数据,过滤器插件根据你的期望修改数据,输出插件将数据写入目的地。

 

接下来我们输入最基本的管道,例如:

# 执行logstash的命令

logstash -e 'input { stdin { } } output { stdout {} }'                 # -e是允许命令行指定配置

# 运行成功以后输入:

hello world

然后启动后,输入hello world

# 注:
#   -e          执行操作
#   input       标准输入
#   { input }   插件
#   output      标准输出
#   { stdout }  插件  
#
# 通过rubydebug来输出下更详细的信息
logstash -e 'input { stdin { } } output { stdout {codec => rubydebug} }'

# 执行成功输入:
爱上一匹野马,可我家里没有草原

# stdout输出的结果:

# 如果标准输出还有Elasticsearch中都需要保留应该怎么玩,看下面
logstash -e 'input { stdin { } } output { elasticsearch { hosts => ["192.168.1.111:9200"] } stdout { codec => rubydebug }}'

# 运行成功以后输入:
爱上一匹野马,可我的家里没有草原

# 返回的结果(标准输出中的结果):

ef7ca6581a856a053f9bfb2aec550773efd.jpg

参考资料

转载于:https://my.oschina.net/u/2403594/blog/2993997

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值