一、logstash介绍
Logstash是一个开源的数据收集引擎,可以水平伸缩,而且logstash是整个ELK当中拥有最多插件的一个组件,其可以接收来自不同源的数据并统一输入到指定的且可以是不同目的地。
logstash收集日志基本流程: input-->codec-->filter-->codec-->output
1.input:从哪里收集日志。
2.filter:发出去前进行过滤
3.output:输出至Elasticsearch或Redis消息队列
4.codec:输出至前台,方便边实践边测试
5.数据量不大日志按照月来进行收集
官方文档:https://www.elastic.co/guide/en/logstash/current/index.html
二、logstash的安装
2.1、安装logstash
root@linux-node1 ~]# wget https://artifacts.elastic.co/downloads/logstash/logstash-6.0.0.rpm
[root@linux-node1 ~]# yum install -y logstash-6.0.0.rpm #依赖java安装
[root@linux-node1 ~]# rpm -ql logstash #查看yum安装路径
#node2节点安装logstash
[root@linux-node2 ~]# yum install -y logstash-6.0.0.rpm
[root@linux-node1 ~]# ll /etc/logstash/conf.d/ #logstash的主配置目录
总用量 0
三.LogStash使用
3.1 标准输入、标准输出插件
[root@saltstack02 ~]# /usr/share/logstash/bin/logstash -e 'input { stdin {} } output { stdout{} }'
3.2 标准输入、标准输出插件,输出显示json格式
[root@saltstack02 ~]# /usr/share/logstash/bin/logstash -e 'input { stdin{} } output { stdout{ codec =rubydebug } }'
3.3 标准输入、输出测试输出到文件
[root@saltstack02 ~]# /usr/share/logstash/bin/logstash -e 'input { stdin {} } output { file { path => "/tmp/test-%{YYY.MM.dd}.log"} }'
3.4 测试输出到elasticsearch
[root@saltstack02 ~]# /usr/share/logstash/bin/logstash -e 'input { stdin {} } output { elasticsearch { hosts => ["10.0.0.22:9200"] index => "logstash-test-%{+YYYY.MM.dd}" } }'
[root@saltstack02 ~]# ll /data/elkdata/nodes/0/indices/
total 0
drwxr-xr-x 8 elasticsearch elasticsearch 65 Jun 20 17:30 qdsZPfY9R5ay9BImUDeRvw