原创投稿 | 一键启动 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。

Introduction

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

Prerequisite

安装并启动filebeat service

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

1.使用RPM安装官方rpm package

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

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

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

3.启动filebeat service

启动成功。

通过docker-compose

1.Clone GIT folder 到本地

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

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

上述基本配置属性是启动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/filebeat.yml

~/filebeat/docker-compose.yml

4.使用docker-compose启动filebeat service

通过Kibana查看日志localhost:5601

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

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

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

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2017-03-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT笔记

本地私服仓库nexus3.3.1使用手册

私服架构 私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建。有了私服之后,当 Maven 需要下载构件时,直接请求私服...

1.4K80
来自专栏PHP在线

Apache的httpd.conf文件配置详解

Apache的基本设置主要交由httpd.conf来设定管理,我们要修改Apache的相关设定,主要还是通过修改httpd.cong来实现。下面让我们来看看ht...

57680
来自专栏Java架构师学习

如何才能让Spring Boot与RabbitMQ结合实现延迟队列

顾名思义,延迟队列就是进入该队列的消息会被延迟消费的队列。而一般的队列,消息一旦入队了之后就会被消费者马上消费。 延迟队列能做什么? 延迟队列多用于需要延迟工作...

37660
来自专栏漫漫前端路

前端安全知识

xss: 跨站脚本攻击(Cross Site Scripting)是最常见和基本的攻击 WEB 网站方法,攻击者通过注入非法的 html 标签或者 javasc...

11920
来自专栏互扯程序

Linux常用Shell脚本,值得学习及收藏

在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运...

25810
来自专栏SDNLAB

脱坑神器,让你一步了解ODL控制器集群

一、控制器集群基本知识 1.1 Consensus一致性 Consensus一致性是指多个服务器在状态达成一致,但是在一个分布式系统中,因为各种意外可能,有的...

48570
来自专栏皮振伟的专栏

[linux][memory]进程的最大内存使用量的讨论

前言: 一个进程最大能使用多少虚拟内存,能控制的地方还是比想象的多一点。 尤其是IaaS上,一个qemu进程能使用多少虚拟内存,就是对应着虚拟机的物理内存的最大...

2.5K110
来自专栏北京马哥教育

DNS从入门到管理(一)

DNS概述 DNS(Domain Name System,域名系统),域名和IP地址相互映射的一个分布式数据库,通过主机名,最终得到该主机名对应的IP地址的过程...

68260
来自专栏白驹过隙

Socket编程回顾,一个最简单服务器程序

23230
来自专栏安富莱嵌入式技术分享

【安富莱】【RL-TCPnet网络教程】第8章 RL-TCPnet网络协议栈移植(RTX)

本章教程为大家讲解RL-TCPnet网络协议栈的RTX操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移植就比较容易了,主要是添加库文件、配置文件和驱...

16940

扫码关注云+社区

领取腾讯云代金券