从Filebeat到Logstash再到Elasticsearch,如何搭建ELK 日志平台

本文系作者本人原创,如需转载,请务必写明出处,谢谢!

一,背景

对于分布式系统,特别是基于容器的微服务系统,详细的系统日志和日志数据的实时收集和传输到集中平台是极其有必要的。主要基于两个原因,一是日志数据不能随容器的切换而丢失(当然也可以将日志数据存于持久存储层,但这种架构可能违背微服务自主和自助的设计原则),二是分布式的系统架构分散复杂,更加有必要对任何一个环节进行及时的监控。

目前常用的日志平台架构如下,应用端采用各种beat采集数据,服务器端用logstash与之对接,存入elatic数据库中,然后通过kibana来编制报表展示监控结果,见下图所示。当然,在beat与logstash 之间,为了增加数据传输的可靠性和及时性,还可采用kafaka消息传输软件。

 

这里简单介绍一下各种beat的作用

1.Packetbeat:是一个网络数据包分析器,用于监控、收集网络流量信息,Packetbeat嗅探服务器之间的流量,解析应用层协议,并关联到消息的处理, 其支 持 ICMP (v4 and v6)DNSHTTPMysqlPostgreSQLRedisMongoDBMemcache等协议;

2. Filebeat:用于监控、收集服务器日志文件,其已取代 logstash forwarder

3.Metricbeat:可定期获取外部系统的监控指标信息,其可以监控、收集ApacheHAProxyMongoDBMySQLNginxPostgreSQLRedisSystemZookeeper等服务;

4.Winlogbeat:用于监控、收集Windows系统的日志信息;

5. Create your own Beat:自定义beat ,如果上面的指标不能满足需求,elasticsarch鼓励开发者 使用go语言,扩展实现自定义的beats,只需要按照模板,实现监控的输入,日志,输出等即可。

其他组件的作用如下:

  • Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
  • Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其输送给Elasticsearch存储供以后使用(如,搜索)。
  • Kibana 也是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

 

本文介绍本人在自己的个人电脑上是如何实现filebeat-logstash-elastic search-kibana 的

二,环境准备

1,一台win7笔记本电脑,安装了sts,用springboot编写运行了基于Springcloud框架的一个微服务service-hi,在此机器上需要安装配置运行filebeat,以实时采集应用日志。

2,在win7上虚拟出一台redhat服务器,虚机网络配置可参见本人写的博客如何配NAT和hostonly网卡使虚机既能上网又能互相通讯。安装在该虚机上需安装配置运行logstash,elastic search,kibana 。

三,各个软件的安装配置和运行

以下步骤请参考官方文档 Filebeat Reference [6.5] » Getting Started With Filebeat

https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-getting-started.html

1.filebeat在win7 pc机上的安装配置运行

(1)Download the Filebeat Windows zip file from the downloads page.

(2)Extract the contents of the zip file into D:\Program Files.

(3)Rename the filebeat-<version>-windows directory to Filebeat.

目录如下,我没有改名

D:\Program Files\filebeat-5.6.4-windows-x86_64

(4)Open a PowerShell prompt as an Administrator (right-click the PowerShell icon and select Run As Administrator). If you are running Windows XP, you may need to download and install PowerShell.

(5)From the PowerShell prompt, run the following commands to install Filebeat as a Windows service:

PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-filebeat.ps1

(6)查看windows的服务,可以看到filebeat 已经作为一个 service在运行。

(7)测试filebeat是否安装成功

D:\Program Files\filebeat-5.6.4-windows-x86_64>powershell
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

alpha xu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值