一、下载:
可以到这边下载最新包:https://www.elastic.co/downloads/logstash
不过要特别注意:你所选的安装包和对应的jdk安装包要匹配!!!!!!(我因为没注意,耽误了好久)
二、安装:
- 首先必须安装jdk:Linux下查看jdk安装路径版本、安装jdk、配置环境变量
- 安装:我这边下载的是logstash-2.3.4.tar.gz包,直接解压即可:
tar -xf logstash-2.3.4.tar.gz
三、调试:
在所解压目录下(我这边是/usr/local/logstash-2.3.4/bin),输入命令:./logstash -e "",然后命令行会变成等待输入状态,随便输入如:Hello World!能够得到如下图则安装成功:
PS:具体命令可以参考:http://kibana.logstash.es/content/logstash/get_start/daemon.html
四、小案例:
将moitor1.log中的内容读取后,输出到指定的monitor2.log中:
1、写一个配置文件logstash.conf(这里我写在了logstash-2.3.4根目录下):
input{
file{
# 要读取的日志文件,可用*通配符匹配 例如["/tmp/log4j/*.log"]
path=>["/usr/local/tmp/monitor1.log"]
# 从文件读取日志的间隔,单位:秒
stat_interval=>5
}
}
# 输出日志
output{
file{
# 要读取的日志文件,可用*通配符匹配 例如["/tmp/log4j/*.log"]
path=>["/usr/local/tmp/monitor2.log"]
message_format => "%{message}"
}
# 输出到终端
stdout{
codec => rubydebug
}
}
1、如下图我们会发现monitor1.log中是有内容的,而monitor2.log是空的:
2、启动logstash:bin/logstash -f logstash.conf
3、新开一个命令行工具(忘了nohup启动了),到tmp目录下先在此查看文件情况:
4、vi编辑monitor1.log(模拟日志输出,变化),并在此查看文件情况:
5、在服务端可以看到,logstash输入的内容: