目录
  1. 1. logstash
    1. 1.1. logstash介绍
    2. 1.2. logstash安装
    3. 1.3. logstash配置解析
    4. 1.4. logstash启动
logstash安装与应用

logstash

logstash介绍

logstash是一个开源的数据收集引擎,可以动态的将不同数据源的数据统一收集,并将数据按自定义配置规则标准化输入到指定输出源。

logstash安装

  1. 下载安装
1
2
3
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.4.2.tar.gz
tar -zxvf logstash-7.4.2.tar.gz -C /opt/elk/
cd logstash-7.4.0
  1. 配置文件
1
2
3
4
5
6
7
8
9
10
11
ls config/*

-rw-r--r-- 1 gnome gnome 2.0K 9月 27 18:20 jvm.options # jvm选项
-rw-r--r-- 1 gnome gnome 5.0K 9月 27 18:20 log4j2.properties # 日志配置
-rw-r--r-- 1 gnome gnome 342 9月 27 18:20 logstash-sample.conf # logstash配置样例
-rw-r--r-- 1 gnome gnome 8.1K 9月 27 18:20 logstash.yml # logstash配置,一般不用管
-rw-r--r-- 1 gnome gnome 3.1K 9月 27 18:20 pipelines.yml
-rw-r--r-- 1 gnome gnome 1.7K 9月 27 18:20 startup.options # logstash启动选项

# 我们一般是复制logstash-sample.conf,重命名为我们想要的配置文件名,最终的配置都是在新的conf文件。
# 一般我们只需要更改conf配置文件就行了,其他默认。

logstash配置解析

详细配置请查看官方文档
logstash配置主要是用ruby写过滤器(官方推荐尽量使用ruby脚本)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
input {
file{
path => "/opt/elk/logstash-7.4.0/test/*"
start_position => "beginning"
}
}

filter {

ruby {
path => "/opt/elk/logstash-7.4.0/config/filter_file.rb"

}

# mutate{
# remove_field => ["input","agent","ecs","log","@version","fields","sort"]
# }

}

output {
elasticsearch {
user => elastic
password => changeme
pool_max => 1000
pool_max_per_route => 200
hosts => ["127.0.0.1:9200"]
index => "logstash-to-es-test-%{+YYYY.MM.dd}"
}

}

ruby脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
require 'rubygems'
require 'json'
require 'pp'


def register(params)
@message = params["message"]
end

def filter(event)
# 获取message中的数据
message = event.get("message")

# 开始对message信息过滤

path = event.get('path')
filename = path.split('/')[path.split('/').length-1]
name = filename.split('.')[0]

if message != nil
event.set("filename" , name)
event.set("message" , message)
return [event]
else
return []
end

logstash启动

  1. 编写启动脚本
1
2
3
#! /bin/bash

/opt/elk/logstash-7.4.0/bin/logstash -f /opt/elk/logstash-7.4.0/config/filter_file.conf
文章作者: rack-leen
文章链接: http://yoursite.com/2019/11/26/%E5%B7%A5%E5%85%B7%E5%AE%89%E8%A3%85%E4%B8%8E%E9%83%A8%E7%BD%B2/logstash%E5%AE%89%E8%A3%85%E4%B8%8E%E5%BA%94%E7%94%A8/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 rack-leen's blog
打赏
  • 微信
  • 支付宝

评论