elasticsearch elk简介

elasticsearch elk简介

在我们日常生活中,我们经常需要回顾以前发生的一些事情;或者,当出现了一些问题的时候,可以从某些地方去查找原因,寻找发生问题的痕迹。无可避免需要用到文字的、图像的等等不同形式的记录。用计算机的术语表达,就是 LOG,或日志。

日志,对于任何系统来说都是及其重要的组成部分。在计算机系统里面,更是如此。但是由于现在的计算机系统大多比较复杂,很多系统都不是在一个地方,甚至都是跨国界的;即使是在一个地方的系统,也有不同的来源,比如,操作系统,应用服务,业务逻辑等等。他们都在不停产生各种各样的日志数据。根据不完全统计,我们全球每天大约要产生 2EB(1018)的数据。

面对如此海量的数据,又是分布在各个不同地方,如果我们需要去查找一些重要的信息,难道还是使用传统的方法,去登陆到一台台机器上查看?看来传统的工具和方法已经显得非常笨拙和低效了。于是,一些聪明人就提出了建立一套集中式的方法,把不同来源的数据集中整合到一个地方。

一个完整的集中式日志系统,是离不开以下几个主要特点的。

  • 收集-能够采集多种来源的日志数据
  • 传输-能够稳定的把日志数据传输到中央系统
  • 存储-如何存储日志数据
  • 分析-可以支持 UI 分析
  • 警告-能够提供错误报告,监控机制

简介

ELK是三个核心开源软件的缩写:elasticsearch,logstash,kibana
另外还有filebeat工具,轻量级,适合部署在各个机器上收集日志,替代logstash的client。

Elasticsearch 基于java,是一个基于 Lucene 的、支持全文索引的分布式存储和索引引擎,开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。特点是分布式、零配置、自动发现、索引自动分片、索引副本机制、restful风格接口、多数据源、自动搜索负载等。主要负责将日志索引并存储起来,方便业务方检索查询。

Logstash基于java,是一个日志收集、过滤、转发的中间件,主要负责将各条业务线的各类日志统一收集、过滤后,转发给 Elasticsearch 进行下一步处理。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

Kibana基于nodejs,是一个可视化工具,也是一个开源和免费的,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

image

数据采集使用beats ,Filebeat隶属于Beats。

目前Beats包含四种工具:

  • Packetbeat:搜集网络流量数据,是一个网络包分析器,用于监控,收集网络流量信息,Package嗅探服务器之间的流量,解析应用层信息,并关联到消息的处理,器支持ICMP(v4和v6),DNS,HTTPS,Mysql,Postgresql协议
  • Topbeat:搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据
  • Filebeat:搜集文件数据,用域监控,手机服务器的日志文件,器已经取代Logstash forwarder
  • Winlogbeat:搜集 Windows 事件日志数据
  • Mertricbeat:可定期获取外部系统的监控指标信息,可用于监控手机Apache,Haproxy,MongoDb,Mysql,Nginx,等服务

架构一 传统部署方式

传统的elk有一些瑕疵,虽然部署方便,但是logstash消耗cpu和内存高,且没有消息队列缓存机制,容易丢失数据

架构二 引入消息队列

引入消息队列机制,各个节点上的Logstash Agent将日志传递给Kafka(或者Redis),消息队列中消息传递给Logstash,过滤、分析后将数据传递给Elasticsearch存储。最后Kibana将日志和数据呈现给用户。因为引入了Kafka,所以远端Logstash server因故障停止运行,数据将会先被存储下来,从而避免数据丢失。

架构三 将logstash Agent替换为beats

将logstash Agent替换为beats,更灵活,消耗资源更少,扩展性更强。同时可配置Logstash 和Elasticsearch 集群用于支持大集群系统的运维日志数据监控和查询。

框架四 在kafka前面增加一个logstash

如果还是遇到性能瓶颈
使用filebeat收集日志,先转发到beat端的logstash1,然后logstash1转发到kafka,然后再由logstash2从kafka读取写到elasticsearch。

posted @ 2022-03-09 17:20  liwenchao1995  阅读(518)  评论(0编辑  收藏  举报