ES安装

使用kibana的时候,需要进行调试,尽管公司提供了比较合适的调试平台,但是还是自己搭建可以学习更多的知识。

以下是自ES官网翻译过来,中间添加了自己遇到的一些坑。如有错误,敬请指正。

1.下载

首先按照操作系统下载Logstash,本人选用的ubuntu64位系统。下载完成后解压/安装。

2.安装

logstash的文件目录如下

--logstash-5.0.2

----bin(存放logstash相关执行文件)

----config(存放与java/log4j/启动/文件/链接相关文件)

----lib(logstash是使用ruby开发的,这里存放相关rb文件,运行程序使用)

还有其他的一些文件,就没做深入研究。

坑:5.0.2版本目前必须支持jdk1.8以上版本,如果版本不够,后面运行会报错。请确保jdk版本足够;

3.测试运行

首先测试下是否好用。进入文件主目录,运行如下:

bin/logstash -e 'input { stdin { } } output { stdout {} }'

此语句是将你在终端输入的原封不动的打印出来。如果运行正常,输入‘hello world’,终端会输出'hello world'。说明安装成功;

4.安装、配置Filebeat。

一般日志的搜集,是通过对某个日志文件夹的监听进行的。filebeat可以监控日志目录的变更情况,并将结果发送给logstash。

当然,你也可以直接在input中配置直接file节点,不过本文还是按照官网来的。

首先下载FileBeat,解压/安装到某个路径。

打开FileBeat主目录下砸filebeat.yml,这个是filebeat的监听设置文件,先进行基本的设置:

filebeat.prospectors:
- input_type: log
  paths:
# 填写你要解析的日志文件的绝对路径!
 - /home/lz/logstash/logstash-5.0.2/logTest/test.log
output.logstash:
  hosts: ["localhost:5043"]

完成上述配置后,对上述配置进行发布:

sudo ./filebeat -e -c filebeat.yml -d "publish"

这时filebeat会尝试连接5043端口,但是在logstash启动连接之前,filebeat会提示连接端口失败,忽略即可。

5.初步配置logstash的conf

建议大家在logstash的主目录下面建立个conf的文件,存放.conf文件。

conf文件是logstash的主要解析文件,一般分为三部分 input、filter、output。具体会在另外一篇wiki中说明。

新建first-pipelin.conf,填入以下配置:

input {
#从filebeat5043端口获取日志数据
 beats {
        port => "5043"
    }
}
# The filter part of this file is commented out to indicate that it is
# optional.
# filter {
#
# }
output {
#标准控制台输出
 stdout { codec => rubydebug }
}

然后进行测试,测试语句无误:

bin/logstash -f first-pipeline.conf --config.test_and_exit

如果语句无问题,会显示如下:

root@lz-Latitude-E5440:~/logstash/logstash-5.0.2# ./bin/logstash -f ./conf/first-pipeline.conf --config.test_and_exit
Sending Logstash's logs to /home/lz/logstash/logstash-5.0.2/logs which is now configured via log4j2.properties
Configuration OK
[2016-12-04T18:23:44,940][INFO ][logstash.runner          ] Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash

坑:此处如果报错,一般都是conf语法错误引起。

123132

如果正常,继续执行如下输出指令:

bin/logstash -f first-pipeline.conf --config.reload.automatic

这里正常执行,会打印很多消息,就不粘贴出来了。

坑:如果想要修改测试日志内容,需要首先删除掉filebeat目录下data/registry,然后重新对filebeat.yml发布。

7.使用ES输出;

下载安装ES,启动bin/elasticsearch。

坑:主要不要使用sudo启动!

浏览器中打开http://localhost:9200/,可以显示即正常;

坑:localhost是127.0.1.1

修改first-pipeline.conf的output:

elasticsearch {
        hosts => [ "localhost:9200" ]
    }

启动es,然后打开:

http://localhost:9200/logstash-2016.12.04/_search?pretty&q=geoip.city_name=Moscow

注:其中的日志为当日日期。即显示city_name为莫斯科的相关日志。

此处可以与kibana进行联机显示。

8.多输入多输出。

待续~~

https://www.elastic.co/guide/en/logstash/current/advanced-pipeline.html#configuring-filebeat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值