logstash安装与基础用法

如果搭建elk,建议先安装好elasticsearchcentos

来自官网,版本为2.3缓存

wget -c https://download.elastic.co/logstash/logstash/packages/centos/logstash-2.3.4-1.noarch.rpm
rpm -ivh logstash-2.3.4-1.noarch.rpm

logstash的配置文件为/etc/sysconfig/logstash,本文不须要修改它,默认便可elasticsearch

日志位于/var/log/logstash/测试

为防止重复解析,logstash会记录文件的解析进度到/var/lib/logstash/.sincedb_xxxxxxx,若是但愿重复解析(好比测试的时候)记得删除这里的缓存url

解析日志相关的配置文件放到/etc/logstash/conf.d/,默认文件夹是空的,这个是须要本身写的,下面先来一个简单的:spa

mkdir -p /data/logs/
touch /data/logs/test.log

vi /etc/logstash/conf.d/first.conf(意思是解析test.log内容,输出到标准输出,这里会重定向输出到/var/log/logstash/logstash.stdout)日志

input {
    file {
        path => "/data/logs/test.log"
    }
}
output {
    stdout {}
}

启动logstashcode

/etc/init.d/logstash start

在test.log中追加信息,而后查看输出blog

echo 'hello world 1' >> /data/logs/test.log
echo 'hello world 2' >> /data/logs/test.log
tail /var/log/logstash/logstash.stdout 

能够看到追加的信息被logstash以必定格式输出到了stdout索引

下面来个复杂的日志文件,下载官方的测试log:https://download.elastic.co/demos/logstash/gettingstarted/logstash-tutorial.log.gz

而后解压到/data/logs/logstash/logstash-tutorial.log

新加一个日志解析配置:

vi /etc/logstash/conf.d/second.conf

input {
    file {
        path => "/data/logs/logstash/*.log"
        start_position => beginning
        ignore_older => 0
    }
}
output {
    stdout {}
}

能够看到指定文件那里能够用匹配模式指定

start_position:默认是从文件末尾开始解析(监控)

ignore_older:默认超过24小时的日志不解析,0表示不忽略任何过时日志

重启logstash,能够看到logstash-tutorial.log的解析结果会输出到stdout

输出到stdout并无用,咱们如今把结果存储到elasticsearch:

output {
    elasticsearch {}
    stdout {}
}
若elasticsearch不是在本机
elasticsearch {

hosts => "192.168.1.111"
}
若elasticsearch不是默认端口9200
elasticsearch {
hosts => "192.168.1.111:9292"
}

先中止logstash,清空解析缓存,再启动

/etc/init.d/logstash stop
rm -rf /var/lib/logstash/*
/etc/init.d/logstash start

在elasticsearch中查询能够看到多了一个索引logstash-2016.11.25,数据已经存储在里面

(并且是解析过的,ip、url、时间等,解析是用的过滤器filter,这里没有配置单应该用的是默认filter:grok)

基础用法至此结束

相关文章
相关标签/搜索