iralance / myblog

notes
0 stars 0 forks source link

elk环境搭建篇-Logstash #39

Open iralance opened 6 years ago

iralance commented 6 years ago

Logstash是一个收集,处理和转发事件和日志消息的工具

安装

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.2.zip
unzip logstash-6.2.2.zip

使用

1.命令行输入内容然后让logstash输出内容 进入bin目录下

./logstash -e 'input { stdin { } } output { stdout {} }'

在控制台输入123,然后logstash输出如下:

123
2018-04-01T08:12:01.073Z qianleideMacBook-Pro.local 123

2.命令行输入内容然后让logstash以某种格式输出

./logstash -e 'input { stdin { } } output { stdout { codec => rubydebug } }'  

在控制台输入123,然后logstash输出如下:

123
{
"host" => "qianleideMacBook-Pro.local",
"@version" => "1",
"message" => "123",
"@timestamp" => 2018-04-01T08:13:42.355Z
}

命令解释: codec 指定了数据输出类型是rubydebug类型,还可以是json类型等等 3.使用过滤器解析日志存到es中,以加载目录的方式运行


mkdir conf.d
cd conf.d
vim logstash-nginx.conf
#以nginx的日志为demo
input {
file {  
path => "/Users/qianlei/code/wwwlogs/t55.log"          
start_position => beginning  
}  
}  

filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}

output { elasticsearch { hosts => ["localhost:9200"] } stdout { codec => rubydebug } }

运行命令

./bin/logstash -f conf.d


![loh](https://user-images.githubusercontent.com/4393443/38171298-59083fb2-35c9-11e8-8dfb-521fdb90787e.png)