https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html
以上为官网教程地址
接下来的内容为官网翻译+自学过程全记录:
ubuntu 16 ,使用aptget安装
下载并安装公共签名秘钥
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
你可能会需要这个包
apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/e
apt-get install logstah
kibana 和 elasticsearch都可以这样下)
下载在/usr/share中,配置文件在/etc/lostash中
然后开始一波学习!
logstash算批处理层的,不同类型,格式乱七八糟的数据从logstash导入,流出时就可以是标准的json格式。要做到这样的功能,它需要输入,过滤和输出三个功能,对应它的input,filter,output三个元素。
先来尝试一个最基本的例子。
在/logstash目录下:
bin/logstash -e ‘input{ stdin{} } output{ stdout{} }’
前台开启logstash -e参数确保可以直接从命令行指定配置,免去频繁vim更改的烦恼,stdin和stdout是大家熟悉的输入输出流。
输入hello,就返回hello这样。logstash返回时添加上时间戳和ip地址。按ctrl+d退出。
在实际应用情况下,情况会比这复杂些,可能会有一个或多个输入+过滤+输出插件,你可以使用filebeat来吧apache网络日志作为输入,从日志中解析出指定的命名的域,并且把解析后的数据导入一个elasticsearch节点中去
此时你不能再在命令行指定配置了,你需要在一个.con文件中定义你的logstash管道。
下载一个官网的demo玩玩吧。
wget https://download.elastic.co/demos/logstash/gettingstarted/logstash-tutorial.log.gz
gunzip logstash-tutorial.log.gz
在默认的logstash安装中包括了Beats input插件。安装下filebeat,我用的apt-get。改一下配置文件,把刚刚下载的demo的path添加进filebeat.prospectors中。
filebeat.prospectors:
– type: log
paths:
– /path/to/file/logstash-tutorial.log
output.logstash:
hosts: [“localhost:5044”]
用以下命令启动filebeat
sudo ./filebeat -e -c filebeat.yml -d “publish”
啊等晚上再写logstash部分的配置吧-w- 有点懒