1.LogStash入门教程

首先Logstash需要依赖JDK 1.7+版本,请确认服务器是否安装了正确的JDK并配置了ClassPath。

Logstash提供了一个启动脚本,通过该脚本启动服务。

可以在该文件中配置JAVA_OPTS和LS_JAVA_OPTS配置JVM,JMS(如果想通过JMS监控的话)相关的参数。

下载并启动服务

curl -O https://download.elasticsearch.org/logstash/logstash/logstash-{logstash_version}.tar.gz
tar -zxvf logstash-1.5.0.tar.gz
cd logstash-{logstash_version}
启动服务,并启用控制台输入模式,输出方式为控制台
bin/logstash -e 'input { stdin { } } output { stdout {} }'

 在控制台看到的结果是:

hello world
2015-05-28T01:22:14.405+0000 0.0.0.0 hello world

通过Ctrl+C退出程序

执行以下命令:    

启动服务,并启用控制台输入,输出方式为RubyDebug。
bin/logstash -e 'input { stdin { } } output {
stdout { codec => rubydebug }
  }'

返回的结果是这样的

输入:goodnight moon
输出:{
  "message" => "goodnight moon",
  "@timestamp" => "2015-05-28T23:48:05.335Z",
  "@version" => "1",
  "host" => "my-laptop"
}

当输出方式为RubyDebug情况下,Logstash会自动输出一个JSON格式的结果。并自动添加了当前的系统时间,版本号,及Host信息。

在大多数使用Logstash的场景下,都会选择使用ElasticSearch作为数据存储。

那么如何配置Logstash的数据输出的ElasticSearch中呢?非常的简单,

执行以下命令,并输入任何数据,就可以在ElasticSearch中查看数据了。

bin/logstash -e 'input { stdin { } } output { elasticsearch { host => localhost } }'

通过浏览器访问地址,查看数据。

 http://localhost:9200/_search?pretty

配置多种Logstash数据方式,如在控制台打印并输出到ElasticSearch中。

bin/logstash -e 'input { stdin { } } output { elasticsearch { host => localhost } stdout { } }'
bin/logstash -e 'input { stdin { } } output { elasticsearch { host => localhost } stdout { codec => rubydebug } }'

  

猜你喜欢

转载自corejava2008.iteye.com/blog/2215543