原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

Posted 马哥Linux运维

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash相关的知识,希望对你有一定的参考价值。

豌豆贴心提醒,本文阅读时间5分钟


Eason,企业一线运维实战者,马哥教育原创作者联盟成员,热爱分享Linux应用技术的感想和原创知识。”


Background

上一篇文章《结合docker快速搭建启动ELK日志收集平台》讲到搭建ELK service,这一章主要为了通过filebeat发送日志文件到前面我们所搭建的ELK平台里边

Filebeat

在beats中,filebeat作为轻量级的logs shipper,帮助用户将无数client端上的log文件以一种轻量级的方式转发并集中日志和文件到ELK stack中,主要通过elasticsearch或者logstash指定的port进行日志转发,本文主要讲filebeat和logstash的integration。

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

Introduction

filebeat:轻量级logs shipper,在beats中发送应用日志文件的表现尤为突出,拥有backpressure-sensitive协议会让filebeat知道当logstash忙于处理数据的时候,自动减缓读取日志文件内容的速度,给logstash足够的resource,等到logstash恢复正常之后再回到正常的读取与发送速度。

Prerequisite

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

安装并启动filebeat service

通过直接安装在宿主机上的方式

1.使用RPM安装官方rpm package

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

2.配置filebeat与logstash host,相关配置文件: /etc/filbeat/filebeat.yml
filebeat配置默认连接elasticsearch,这里我们主要使用logstash,把无关的配置注释掉:

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

在logstash下面配置logstash host配置并去掉注释,这里我们以filebeat和logstash在同一台机器为例,相应的logstash host为localhost:

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

配置日志目录,注意缩进,这里我们以/var/log/*.log为例,配置也支持*号通配:

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

3.启动filebeat service

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

启动成功。

通过docker-compose

1.Clone GIT folder 到本地

建议放在user HOME下,eg:/home/user1/

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

2.修改配置文件:~/filebeat/.env

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

上述基本配置属性是启动filebeat的基本属性:

  • environment: 和ELK一样用来区分日志环境

  • LOGSTASH_HOST:: 指定logstash host,这里以localhost为(与logstash在同一台机器,默认经过5044 port),如果不在同一台机器,需指定logstash的hostname,并确port:5044可以访问

  • VOLUME_FOLDER_LIST:配置需要发送的日志文件所在的文件夹绝对路径,eg:如果需要发送/var/log/nginx下的所有.log结尾的日志文件,需修改为VOLUME_FOLDER_LIST="/var/log/nginx/",如果有多个文件夹,则使用空格分开,例如VOLUME_FOLDER_LIST="path1 path2 ... ..."

  • PROSPECT_FILE_PATTERN_LIST: filebeat真正读取的文件路径,具体到文件,可以使用*号通配,eg: /var/log/nginx/*.log,记住要具体到文件,而不是文件夹,如果有多中不同文件夹的日志需要发送,同样使用空格分开,eg: PROSPECT_FILE_PATTERN_LIST="path1/*.log path2/*.log.* path3/access.log path4/access.*"

3.使用gen-config.sh生成filebeat.yml和docker-compose.yml文件

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

查看~/filebeat/filebeat.yml

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

~/filebeat/docker-compose.yml

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

4.使用docker-compose启动filebeat service

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

通过Kibana查看日志localhost:5601

如果ELK没有收集过日志,当访问kibana的时候要求先建立index:

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

回到discovery查看我们通过filebeat发送的日志:

原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash

至此,filebeat service安装并启动成功,你可以根据你的需要选择不同的安装方式,第二种是经过抽离以及优化的,有问题大家下面评论。未完待续....

** 文章所有步骤都是经过实践检验并可行,若有问题,下方请评论。


    好的内容离不开作者的持续付出,给他一次小小的打赏我们将获得持续不断的有料干货,⬇️美女和帅哥都会至少打赏1元哟⬇️⬇️

以上是关于原创投稿 | 一键启动 filebeat 5.1.1 集成 logstash的主要内容,如果未能解决你的问题,请参考以下文章

投稿到arxiv的文章上面占坑被抄袭怎么办

EFK教程 - 基于多节点ES的EFK安装部署配置

filebeat 怎么后台启动

原创投稿 | zabbix的理论知识

原创投稿 | Zabbix的编译安装并发送通知邮件

原创投稿 | 使用zabbix自带的模板监控mysql