博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[喵咪BELK实战(3)] logstash+filebeat搭建
阅读量:6294 次
发布时间:2019-06-22

本文共 3119 字,大约阅读时间需要 10 分钟。

hot3.png

[喵咪BELK实战(3)] logstash+filebeat搭建

前言

在上节我们已经把elasticsearch+kibana已经搭建起来了,可以正常的进行数据的索引查询了,但是直接对elasticsearch进行操作也非常不方便, elasticsearch很难对接其他的数据源,这是使用就需要logstash和filebeat出场了...

附上:

喵了个咪的博客:

官网地址:

1. logstash

logstash主要的作用就是输入输出进行数据的处理,官方声称支持十几种数据输入源和输出源,并且可以多点分发是一个很强大的工具,我们主要使用的是它的数据处理功能(比如解析日志提取关键字索引,数据过滤等)

1.1 安装

wget https://artifacts.elastic.co/downloads/logstash/logstash-5.3.0.tar.gztar -zxvf logstash-5.3.0.tar.gzmv logstash-5.3.0 /usr/local/

1.2 第一条管道

从之前的介绍有了解到logstash它的主要功能是处理数据进行输入输出,所以我们就要搭建一条输入输出的数据通道来进行数据传输,创建这条管道的配置文件:

vim /usr/local/logstash-5.3.0/config/first-pipeline.conf

# 制定输入源为beats 并且开发9011端口接受数据input {	beats { 		port => 9011	}}# 制定数据输出源为elasticsearch 并且指定index名称output {	elasticsearch {		hosts => [ "localhost:9200" ]		index => "first-pipeline-%{+YYYY.MM.dd}"	}}

试着启动logstash: /usr/local/logstash-5.3.0/bin/logstash -f /usr/local/logstash-5.3.0/config/first-pipeline.conf 看到如下输出证明以及成功启动logstash

[2017-05-04T09:55:59,951][INFO ][logstash.inputs.beats    ] Beats inputs: Starting input listener {:address=>"0.0.0.0:9011"}[2017-05-04T09:56:00,007][INFO ][logstash.pipeline        ] Pipeline main started[2017-05-04T09:56:00,104][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}

使用Supervisor运行

使用Supervisor常驻启动修改配置文件加入如下语句在重启Supervisor就可以在后台运行

;你需要启动的进程给个名字[program:logstash];你需要执行的语句command=/usr/local/logstash-5.3.0/bin/logstash -f /usr/local/logstash-5.3.0/config/first-pipeline.conf;是否自动启动autostart=trueautorestart=true;运行程序的用户user=root

2. filebeat

虽然logstash也可以直接监听文件的数据,为什么还需要filebeat呢? 应为一般我们需要采集很多台服务器上的日志时需要做到尽量少的占用资源以及尽可能的简单,logstash使用JAVA编写可想而知对于资源消耗也不可小视,filebeat使用GO编写几乎做到不影响机器性能,并且filebeat还可以进行最基础的分类这就是选择filebeat的原因(之前beats是整合在logstash后面应为种种原因被分离了出来)

注意1:beats由很多程序组成filebeat只是其中对文件进行采集的一种 注意2:不一定要使用beats, logstash也可以直接接受各种组件上传的日志beats只是其中一种

2.1 安装

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.3.1-linux-x86_64.tar.gztar -zxvf filebeat-5.3.1-linux-x86_64.tar.gzmv filebeat-5.3.1-linux-x86_64 /usr/local/filebeat-5.3.1

2.2 配置采集数据源

既然是采集文件数据当然少不了对采集数据源的配置

vim /usr/local/filebeat-5.3.1/filebeat.yml

默认filebeat输出源是elasticsearch我们需要替换成logstash

# 修改如下语句 output.elasticsearch:        ->   output.logstash:  hosts: ["localhost:9200"]   ->   hosts: ["localhost:9011"]

配置文件默认采集/var/log下以.log结尾的文件

- input_type: log  paths:    - /var/log/*.log

使用如下命令运行 :/usr/local/filebeat-5.3.1/filebeat -c /usr/local/filebeat-5.3.1/filebeat.yml

2.3 使用Supervisor运行

使用Supervisor常驻启动修改配置文件加入如下语句在重启Supervisor就可以在后台运行

;你需要启动的进程给个名字                                                                                                            [program:filebeat];你需要执行的语句command=/usr/local/filebeat-5.3.1/filebeat -c /usr/local/filebeat-5.3.1/filebeat.yml;是否自动启动autostart=trueautorestart=true;运行程序的用户user=root

3 在kibana中查看采集的日志

正常采集起来之后就可以在kibana中添加一个查看的索引了

这个时候就把/var/log中所有以.log结尾的日志全部采集上来了并且可以通过source来进行文件的选择 这是选择了只看yum.log之后的效果

4. 总结

到这里我们基本上吧BELK已经完整的搭建起来并且对日志开始采集了,但是BELK不仅仅如此,还有对于kibana的使用,对于各类日志的处理,对于时间的处理,对于索引字段的增加等还有很多细节,继续关注喵了个咪的博客会为大家带来更多的关于BELK的使用技巧

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

转载于:https://my.oschina.net/wenzhenxi/blog/895518

你可能感兴趣的文章
PDF怎么测量尺寸
查看>>
改造Dubbo,使其可以对接口方法进行注解配置
查看>>
MySQL默认配置文件位置发生改变后如何查找
查看>>
C#操作数据库
查看>>
我的友情链接
查看>>
TSP问题由标准格式转成简单格式(我的实验代码需要的格式)
查看>>
配置ELK添加marvel插件
查看>>
Oracle 内存一 手动内存管理,自动内存管理
查看>>
我的友情链接
查看>>
日常工作问题的处理流程
查看>>
Mysql学习笔记【原创】
查看>>
ssm配置多数据库支持
查看>>
JVM内存分配与垃圾回收浅析
查看>>
我的友情链接
查看>>
217. Contains Duplicate - LeetCode
查看>>
Zabbix之监控Mysql性能
查看>>
Nginx之rewrite简述
查看>>
Java中swing和awt初了解
查看>>
判断网址能不能访问
查看>>
网站颜色搭配的好网站。
查看>>