首先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 } }'