跟着我搭建ELK-⑤logstash7.5安装与使用(单点部署)

我们这里的logstash的作用用来做输出,用于输出到elasticsearch中,采集我们用filebeat具体看下一篇博客。

1. logstash是干什么的。

Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。

  • 采集:输入、过滤器和输出

Logstash 能够动态地采集、转换和传输数据,不受格式或复杂度的影响。利用 Grok 从非结构化数据中派生出结构,从 IP 地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。

  • 输入:采集各种样式、大小和来源的数据

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

  • 过滤器:实时解析和转换数据

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

  • 输出:选择您的存储库,导出您的数据

尽管 Elasticsearch 是我们的首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。

  • 可扩展:以您自己的方式创建和配置管道

Logstash 采用可插拔框架,拥有 200 多个插件。您可以将不同的输入选择、过滤器和输出选择混合搭配、精心安排,让它们在管道中和谐地运行。

2. logstash需要什么环境启动。

1.该项目需要jdk的支持,启动前先检查是否已安装,推荐使用yum方式安装
2.该项目不能用root用户启动,这里我们用前面创建过的es用户

3. logstash安装步骤。

1.下载安装包

  • 官网地址:https://www.elastic.co/cn/downloads/logstash
  • 下载地址:https://artifacts.elastic.co/downloads/logstash/logstash-7.5.1.tar.gz
    我们这里采用wget下载安装包到服务器
# 进入需要安装的文件夹
cd /opt
# 下载安装包
wget 'https://artifacts.elastic.co/downloads/logstash/logstash-7.5.1.tar.gz'

2.解压安装包

# 解压
tar -zxf logstash-7.5.1.tar.gz
# 赋权es用户
chown -R es:es logstash-7.5.1
# 进入es用户
su es

4. 修改logstash配置文件logstash.conf。

  • input为输入模块,此处指定了接收filebeat的端口号
  • filter为过滤模块,这里我使用的是grok插件
    - patterns_dir指定的是我自定义pattern文件的位置,用于进行match匹配,grok本身自带了很多patterns,详情点击
    如果你想自定义一些正则表达式,建议使用grok debugger进行调试:http://grok.qiexun.net
  • output为输出模块,这里使用elasticsearch将日志输出到ElasticSearch。这里需要注意的是,index为logstash创建index的规则,这里每天创建一个index,以日期结尾
# 数据输入监听端口
input {
    beats {
        port => 5044
    }
}

#过滤器,http://grokdebug.herokuapp.com/ 是在线调试logstash filter的工具,你可以在线调试你的过滤规则。

filter {
    grok {
        match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}"}
       
      #因为我们取出了字段,所以不需要原来这个message字段,这个字段里边包含之前beat 输入的所有字段。 
       remove_field => ["message"]
    }
}
output {
  elasticsearch {
    hosts => ["127.0.0.1:9201","127.0.0.1:9202","127.0.0.1:9203"]
    
    #这个是在kibana上的index Patterns 的索引,建议什么服务就用干什么名字,因为beat 提供了些kibana的模板可以导入,导入的模板匹配的时候用的索引是对应服务的名称开头,我们这里通过获取type值进行动态设定索引值。
    index => "%{type}-%{+YYYY.MM.dd}"
    document_type => "nginx"

    #每次20000 发送一次数据到elasticsearch
    flush_size => 20000

    #如果不够20000,没10秒会发送一次数据;、
    idle_flush_time =>10
   }
 }

5. logstash启动。

#进入安装的文件夹
cd /opt/logstash-7.5.1
#后台运行
nohup ./bin/logstash &

相关资源下载
链接:https://pan.baidu.com/s/1EpZqZxYTaloWoLTWNcBjmw  密码:hbpw
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值