3.logstash 安装部署
1. logstash环境准备及安装
Logstash是一个开源的数据收集引擎,可以水平伸缩,而且logstash整个ELK当中拥有最多插件的一个组件,其可以接收来自不同来源的数据并统一输出到指定的且可以是多个不同目的地。
1.1 环境准备:
关闭防火墙和selinux,并且安装java环境
systemctl stop firewalld systemctl disable firewalld sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config yum install jdk-8u121-linux-x64.rpm java -version shutdown -r now # 重启
1.2 安装logstash
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.3.rpm yum localinstall -y logstash-5.6.3.rpm chown logstash.logstash -R /usr/share/logstash/data/queue
2. 测试logstash
下面命令是交互式的,然后logstash启动有点慢,得等log飞一会儿
2.1测试标准输入和输出
/usr/share/logstash/bin/logstash -e 'input { stdin{} } output { stdout{ codec => rubydebug }}' #标准输入和输出
输入hello,生成下面的内容
hello { "@timestamp" => 2017-04-20T02:30:01.600Z, #当前事件的发生时间, "@version" => "1", #事件版本号,一个事件就是一个ruby对象 "host" => "linux-host3.exmaple.com", #标记事件发生在哪里 "message" => "hello" #消息的具体内容 }
2.2测试输出到文件
/usr/share/logstash/bin/logstash -e 'input { stdin{} } output { elasticsearch {hosts => ["192.168.56.11:9200"] index => "mytest-%{+YYYY.MM.dd}" }}'
2.3elasticsearch服务器验证收到数据
/usr/share/logstash/bin/logstash -e 'input { stdin{} } output { elasticsearch {hosts => ["192.168.56.11:9200"] index => "mytest-%{+YYYY.MM.dd}" }}'
收集日志不能有type参数