从零进阶--教你如何使用Filebeat实现日志可视化收集
从零进阶--教你如何使用Filebeat实现日志可视化收集
简介:
Filebeat是一个开源的文件收集器,也是一款轻量级的日志传输工具。采用go语言开发,重构logstash采集器源码,安装在服务器上作为代理来监视日志目录或特定的日志文件,并把它们发送到logstash或elasticsearch,然后在Kibana上实现可视化。
其他介绍可参考官方文档:
一、Filebeat安装
下载地址:
源码安装:
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.1-linux-x86_64.tar.gz
rpm下载安装:
curl -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.1-x86_64.rpm rpm -ivh filebeat-6.4.1-x86_64.rpm
下面我们以rpm安装
二、Filebeat应用
因为我的是以rpm安装的,所以我们可以在/etc/filebeat/下面发现有filebeat.yml
我们可以发现在filebeat.yml配置文件里面,主要配置的模块有两个
Filebeat: 在这个模块里面,我们可以配置监控的日志,通过这个模块,我们可以指定日志的绝对路径,日志的类型,感知更新时间等等的·一些配置。
Output:在这个模块里面,主要的作用的是,filesbetas收集的日志输出到哪里,在这里,我们可以配置elasticsearch和logstash,两者二选一就可以了。
配置收集日志目录:
/etc/filebeat/filebeat.yml
下面以获取nginx的日志为例
安装Elasticsearch GeoIP和用户代理插件
在es的服务器上:
#su - www #cd /usr/local/elasticsearch #bin /elasticsearch-plugin install ingest-geoip #bin /elasticsearch-plugin install ingest-user-agent
三、Filebeat采集数据,写入到elasticsearch
修改Filebeat配置
#vim /etc/filebeat/filebeat.yml filebeat.inputs: - type: log #定义日志格式 enabled: true paths: - /data/wwwlogs/*.log #定义日志的路径 output.elasticsearch: hosts: ["172.25.0.30:9200"] #定义的es的url username: "elastic" 定义es的账号,已做安全连接 password: "changeme" setup.kibana: host: "172.25.0.30:5601" #定义kibana的url
启动filebeat
#cd /etc/filebeat #filebeat modules enable nginx
修改/etc/filebeat/modules.d/nginx.yml
文件中的设置
#vim /etc/filebeat/modules.d/nginx.yml # cat modules.d/nginx.yml - module: nginx # Access logs access: enabled: true var.paths: ["/data/wwwlogs/*.log"] # Error logs error: enabled: true var.paths: ["/data/wwwlogs/error.log"] #filebeat setup # service filebeat start Starting filebeat (via systemctl): [ OK ]
进去kibana添加filebeat
下一步就可以创建完毕了
创建完毕后
我们直接跳到Discover,查看我们获取的数据
可以发现我们是已经获取到nginx的完整的数据了
继续查看我们的nginx的仪表板。
我们可以发现,我已经可以通过filebeat采集到nginx的日志的数据了,并生成的数据图像,到这里我们的获取数据就完成了,elasticsearch通过filebeat获取数据就完成了。
四、Filebeat采集数据,写入到logstash
1、修改Filebeat配置
#vim /etc/filebeat/filebeat.yml filebeat.inputs: - type: log #定义日志格式 enabled: true paths: - /data/wwwlogs/*.log #定义日志的路径 output.logstash: # The Logstash hosts hosts: ["172.25.0.30:5044"]
2、配置logstash
logstash服务器:
因为需要配置logstah来获取数据,所以我们需要配置logstash
#vim /etc/logstash/conf.d/filebeat.conf
input { beats { port => "5044" #定义输入端口 } } filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } date { match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ] target => ["datetime"] } geoip { source => "clientip" } } output { elasticsearch { hosts => "172.25.0.30:9200" #定义输出的es的url。 index => "nginx_log" #定义标题索引 } stdout { codec => rubydebug } }
更改权限
#chown www:www /etc/logstash/conf.d/filebeat.conf
3、启动logstash,测试
# ./usr/local/src/logstash-6.3.0/bin/logstash -f /etc/logstash/conf.d/filebeat.conf
启动之后,可以发现logstash已经从filebeat收集到数据了
查看logstash的启动状态,发现5044已经起来了。
4、添加索引,出数据
查看是否已经获取到数据
我们发现已经是可以获取到目标主机的nginx日志了。到这里我们使用logstash获取日志就完成了。
五、总结
Filebeat不仅仅可以收集nginx,还可以收集mysql、apache、redis和系统日志。从我们的搭建过程来看,可以发现filebeat配置并不是很难,不过更好的应用还是需要进一步熟悉才行。。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
根据Dockerfile构建镜像
根据Dockerfile构建出一个镜像Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的image。相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是怎么产生的。有了Dockerfile,当我们需要定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻烦。Dockerfile由一行行命令语句组成,并且支持以# 开头的注释行。Dockerfile的指令是忽略大小写的,建议使用大写,每一行只支持一条指令,每条指令可以携带多个参数。Dockerfile的指令根据作用可以分为两种:构建指令和设置指令。构建指令用于构建image,其指定的操作不会在运行image...
- 下一篇
别让bug跑了,通过问题理解ceph的克隆过程
写在前面 刚刚过去的9月,人工智能、云计算和物联网界热闹非凡,接连迎来了世界物联网博览会、世界人工智能大会和阿里云栖大会。2018世界物联网博览会就在家门口举行,抓了空去现场看展览,外行人看看热闹,有感于科技的日新月异给生活带来的便利。 话题扯远了,回到这篇文章,文章的标题包含“复盘”,顾名思义,是对以前的发生的现象或问题进行回顾,学而不思则罔,目的第一是从问题中总结经验,最大化发掘它的价值;第二是不断锻炼自己分析问题的能力;最后是希望强化在某项知识上的运用能力,毕竟以今天分析昨天,有思维就ok了,但是以今天设想未来,需要长期深厚的积累才行。 1 背景 云硬盘的快照、克隆,属于块存储RBD基本功能,之前我并没有太多关注这两块,保证功能能用、好用就过去了。 不过在最近遇到几个与克隆或快照相关联的问题,涉及到rbd clone、rbd flatten等,正好是之前未遇到过,因此找了时间对产生的问题复盘,也是希望借bug观察ceph对克隆和快照的处理流程。 整篇文章分以下几小章节: 1 、背景 2 、bug回顾 3、 利用rbd_max_clone_depth...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8编译安装MySQL8.0.19
- Docker安装Oracle12C,快速搭建Oracle学习环境