前言

  • 日志分析是运维工程师解决系统故障,发现问题的主要手段。日志主要包括系统日志应用程序日志和安全日志
  • 系统运维和开发人员可以通过日志了解服务器软硬件信息检查配过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误
  • 通常,日志被分散的储存在不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志,既繁琐又效率低下。为此,我们可以使用集中化的日志管理,例如:开源的 syslog,将所有服务器上的日志收集汇总
  • 集中化管理日志后,日志的统计和检承又成为一件比较麻烦的事情,一般我们使用 grep、awk 和 wc 等 Linux 命令能实现检索和统计,但是对于更高要求的查询、排序和统计等,再加上庞大的机器数量,使用这样的方法依然难免有点力不从心
  • 开源实时日志分析 ELK 平台能够完美的解决我们上述的问题,ELK 由 ElasticSearch、Logstash 和 Kiabana 这三个开源工具组成、

一、ELK 日志分析系统简介

1.日志服务器

  • 提高安全性:仅是基于日志来恢复和定位故障,是很困难的
  • 集中存放日志,即集中化管理
  • 缺陷:对日志的分析困难,因为集中化管理,所以信息量更加巨大

2.ELK 日志分析系统

  • Elasticsearch(ES 数据库):

    • 最重要的两个功能在于索引与存储
    • 百度、Github 的引擎是使用的 ES 索引数据库(主流)
  • Logstash:
    • 收集日志
    • 转存至 ES
  • Kibana:
    • 是一个展示界面
    • 数据源来自 ES

3.日志处理步骤

  • AppServer 是一个类似于 Nginx、Apache 的集群,其日志信息由 Logstash 来收集
  • 往往为了减少网络问题所带来的瓶颈,会把 Logstash 服务放入前者的集群内,减少网络的消耗
  • Logstash 把收集到的日志数据格式化后输出转存至 ES 数据库内(这是一个将日志进行集中化管理的过程)
  • 随后,Kibana 对 ES 数据库内格式化后日志数据信息进行索引和存储
  • 最后,Kibana 把其展示给客户端

3.日志处理步骤

  1. AppServer 是一个类似于 Nginx、Apache 的集群,其日志信息由 Logstash 来收集

  2. 往往为了减少网络问题所带来的瓶颈,会把 Logstash 服务放入前者的集群内,减少网络的消耗

  3. Logstash 把收集到的日志数据格式化后输出转存至 ES 数据库内(这是一个将日志进行集中化管理的过程)

  4. 随后,Kibana 对 ES 数据库内格式化后日志数据信息进行索引和存储

  5. 最后,Kibana 把其展示给客户端

即对前文中 ELK 三个组件的介绍

一点补充→日志的集中化管理(beats)

beats 包括四种工具:

  1. Packetbeat(搜索网络流量数据)
  2. Topbeat(搜索系统、进程和文件系统级别的 CPU 和内存使用情况等数据)
  3. Filebeat(搜集文件数据)
  4. Winlogbeat(搜集 Windows 时间日志数据)

二、Elasticsearch 介绍

1.概述

  • 提供了一个分布式多用户能力的全文搜索(索引)引擎,开源,使用 Java 开发
  • 分布式即数据不会放在一个地方
  • 正是 ES 这些优秀的机制,所以会被百度等龙头企业所选择

2.核心概念

2.1 接近实时(NRT)

2.2 集群(Cluster)

2.3 节点(node)

2.4 索引(index)

2.5 类型(type)

2.6 文档(document)

2.7 分片(Shard)

2.8 副本(Replicas)

  • 网络问题等很多方面的风险可能会接踵而来,为了健壮性,强烈建议要有一个故障切换机制,无论何种遇到何种故障,都能防止分片或节点不可用(单点故障)

  • 为此,ES 让我们将索引分片复制一份或多份,称之为分片副本或副本

  • 核心是为了容灾,不过也可以处理任务

  • 分片加上副本的使用:例如,四台主机同时处理一项任务,理论上效率可以提高四倍!

  • 副本也有两个最重要的特点:

    • 高可用性,以应对分片或节点故障,故此,分片副本要在不同的节点上
    • 高性能,增加吞吐量,搜索可以在所有的副本上执行

2.9 小结

三、Logstash 介绍

四、Kibana 介绍

1.概述

  • 一个针对 Elasticsearch 的分析及提供友好、可视化的 Web 平台,开源免费!
  • 用于搜索、查看存储在 Elasticsearch 索引中的数据
  • 可以通过各种图表进行高级数据分析及展示,让海量数据更容易被理解
  • 它操作简单,基于浏览器的用户界面,可以快速创建仪表板(Dashboard)实时显示 ES 查询动态
  • 设置非常简单

2.主要功能

  • 与 Elasticsearch 无缝之集成:ELK 初始是由 ES 收购了另外两家个技术(Logstash+Kibana),把其糅合在一起进行开发整合,形成了一个完整的技术
  • 整合数据,复杂数据分析:能够很好的处理海量数据,节省我们分析日志数据的时间,降低其复杂度
  • 让更多团队成员受益:有了这么一个公共的展示界面,只要有权限就都能进去查看,强大的数据可视化接口让各岗各业都能够从数据集合中收益
  • 接口灵活,分享更容易: API 可以很方便的被调用,并将可视化数据快速交流,方便查看
  • 配置简单,可视化多数据源:配合和启动非常简单,用户体验良好,可以对不止一种数据或日志类型进行展示,并且是精细化展示
  • 简单数据导出:可以很方便的导出感兴趣的数据,与其他数据集合并融合后快速建模分析,从而发现新结果

五、拓展:EFK

  • ELK 的构成:

    • Elasticsearch(数据库)
    • Logstash(数据处理工具)
    • Kibana(展示界面,数据来源于 ES)
  • EFK 的构成(功能性分离 + 抗高并发):

  • Elasticsearch
  • Logstash(↓仅做数据格式处理的工作,并发量太大时仅靠 Logstash 很难承受,而且它很吃资源)
  • Filebeat (↑搜集文件数据,轻量级的日志收集工具,性能比上者强)
  • Kafka(服务之间传递数据的消息代理,承载数据的交互及传输,抗高并发能力相对而言较强,每秒能处理几十万的并发量)
  • Kibana
  • Redis(缓存,减压)

EFK 是 ELK 的 plus 版,多用于业务体量非常大,及对日志收集、格式转换并且处理的一个复杂程度非常大的架构

ELK日志收集系统概述相关推荐

  1. SpringBoot使用ELK日志收集

    本文介绍SpringBoot应用配合ELK进行日志收集. 1.有关ELK 1.1 简介 在之前写过一篇文章介绍ELK日志收集方案,感兴趣的可以去看一看,点击这里-----> <ELK日志分 ...

  2. ELK日志收集系统(一)

    ELK日志收集系统(一) 一:软件包下载地址 二:环境准备 三:kibana安装与配置 四:安装nginx 五:filebeat安装配置 5.1 配置filebeat收集nginx日志 5.2 kib ...

  3. 深入浅出ELK日志收集系统搭建

    先看一下目录图 背景 试想这么一种场景:Nginx负载了2个Tomcat,那么日志查看就很麻烦了,每次查看日志都要登录2台服务器,挨个搜索,2台还好,如果5台呢?10台呢?那查看日志就可费劲了,所以需 ...

  4. ELK 日志收集系统方案

    文章目录 背景 ELK使用组件简介 方案1 ELK 方案二 EFK 方案三: FELK 方案四:个性化框架 总结: 日志展示及查询 环境 背景 在项目初期的时候,大家都是赶着上线,一般来说对日志没有过 ...

  5. 基于设计原理与理念和实践的ElasticSearch学习、ELK日志收集、网盘搜索引擎

    目录 基于设计原理与理念和实践的ElasticSearch学习 一.ES基础入门 ElasticSearch是什么? ES优点: ES缺点: ElasticSearch应用场景 ElasticSear ...

  6. ELK日志分析系统概述及部署

    这里写目录标题 一.ELK日志分析系统 1.日志服务器 2.日志处理步骤 二.Elasticsearch概述 1.Elasticsearch特性 三.LogStash概述 1.LogStash主要组件 ...

  7. SpringBoot整合ELK日志收集

    ELK简介 ELK是Elasticsearch+Logstash+Kibana简称 Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索.结构化检索和分析,并能将这三者结合起来. ...

  8. 使用 Kafka 缓存优化 ELK 日志收集

    00 前言 上回书,我们提到直接使用 Filebeat 在节点上采集日志数据然后直接传输给 Elasticsearch 存储,在日志规模较大时,可能导致 Elasticsearch 存储集群容量不足, ...

  9. ELK之日志收集filebeat,并对nginx,tomcat access日志JSON格式化

    2019独角兽企业重金招聘Python工程师标准>>> 一:ELK日志收集器组件filebeat下载 官方下载地址:https://www.elastic.co/downloads/ ...

最新文章

  1. linux常用命令-date-clock-hwclock-type-whois--help-man-info-cal
  2. ABAP程序相互调用--SUBMIT
  3. net start mysql 发生系统错误 5。 拒绝访问。
  4. el-table合并行的实现
  5. TYVJ P1062 合并傻子 Label:环状dp
  6. 秀姿势(jzoj 3464)
  7. C语言实用算法系列之学生管理系统_对整个结构体操作_冒泡排序
  8. 海德堡大学 BMCV 组(Master/Diploma/Bachelor)研究机会,生物医学图像分析方向
  9. 我自己比较习惯的Watir自动化测试代码管理方式
  10. Rust: rev()、Vec、其它
  11. window下环境变量立即生效
  12. 2022年CISP考试题库下载
  13. 企业如何真正实现无纸化办公?
  14. 自动柜员机是不是微型计算机,微型计算机基础知识.pptx
  15. 怎么样成为java架构师_java架构师工资一般多少?怎样成为架构师?
  16. 白苹果了怎么办_建行储蓄卡云闪付bug还款玩法(苹果和安卓机攻略)
  17. 硬盘格式化数据恢复(图文教程)
  18. 深入浅出,详解深度优先搜索(DFS)
  19. java在windows下启动jar包使用utf-8格式
  20. 语言-英语翻译(edx-datascientist 1.5-1.8)

热门文章

  1. php网络电台源码,网络有声电台源码仿邻居的耳朵 v1.0.0
  2. 大数据题目测试(一)
  3. 《NFL橄榄球》:辛辛那提猛虎·橄榄1号位
  4. 【世界杯黑技术专题】「原理探索专题」一文解读一下“卡塔尔世界杯”的先进技术之半自动越位技术SAOT+比赛用球Al Rihla
  5. mysql开通远程连接不上去_MySQL本地可以连接,远程连接不上的问题_夜风的BLOG-CSDN博客_mysql远程连接不上...
  6. STL的string功能以及模拟实现
  7. 苹果创始人Steve Wozniak:程序员的好奇心是与生俱来的
  8. 有创意的撩妹肉麻句子,有你在的日子,每天都是在过情人节
  9. 输出格式%d、%6d、%06d、%-6d、%.6f的区分
  10. 51单片机驱动TCS3200颜色识别传感器