logstash入门安装+官方教程


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 logstahkibana 和 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- 有点懒