Logstash学习1-logstash的简单例子

如何安装ELK

Redis插件

1. 安装好logstash后。
2. 最简单的logstash。
logstash -e 'input { stdin { } } output { stdout {} }'
直到看到"Pipeline main started"。说明启动成功。这个例子,stdin控制台输入作为数据来源,stdout作为数据结果。
输入 hello
可以看到
2016-11-24T12:28:25.047Z cangyue hello
3.配置filebeat,发送日志到logstashedit
注意:filebeat是一个为了可靠性和低延迟率而设计的轻量输入插件。在典型的案例中,一般和logstash的实例运行在不同服务器。
4.下载filebeat
https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.0.1-darwin-x86_64.tar.gz
修改filebeat.yml
filebeat.prospectors:
- input_type: log
paths:
- /path/to/file/logstash-tutorial.log
output.logstash:
hosts: ["localhost:5043"]
运行
./filebeat -e -c filebeat.yml -d "publish"
5.在logstash的根目录下配置test.conf,先输入下面基本结构。
input {
   beats {
port => "5043" --添加beats的输入插件
  }
} output {
  stdout { codec => rubydebug } --运行实例时可以打印到控制台。
}
6.测试运行

logstash -f test.conf --config.test_and_exit --会打印出错误并且会自动退出

7.测试显示ok的话。运行:

logstash -f first-pipeline.conf --config.reload.automatic --这个配置可以使修改配置文件的时候自动读取配置而无需重启logstash。

8.采用grok。配置中添加

filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}"}
}
}

9.指向elasticsearch。

elasticsearch {
hosts => [ "localhost:9200" ]
}

10.删除filebeat下面的data/registry文件。

11.重启filebeat。

12.测试语句:

curl 'localhost:9200/_cat/indices?v' --查看elastic中所有的文档索引

curl -XGET 'localhost:9200/logstash-$Date/_search?pretty&q=response=200' --$Date替换为天时间。形如2016.11.25

curl -XDELETE 'localhost:9200/logstash-2016.11.28' --删除一个索引,所有数据都会消失。

q=response=200 -> 这里放插叙条件。前面部分为时间logstash-$Date

 

posted @ 2016-11-24 20:33  無限大  阅读(4479)  评论(0编辑  收藏  举报