• ELK日志查询系统


    ELK日志查询系统

     

    一、环境概述
    日志分析是运维工程师解决系统故障,发现问题的主要手段。Linux操作系统中日志主要包括系统日志、用户日志、应用程序日志和安全日志。
    ELK由Elasticsearch、Logstash和Kibang三个开源工具组成。
    官方网站:https://www.elastic.co/cn/
    Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。.
    Logstash是一个完全开源的工具,它可以对日志进行收集、过滤,并将其存储,供以后使用(如,搜索)。.
    Kibana也是一个开源和免费的工具,Kibana可以为Logstash和Elasticsearch提供友好的日志分析Web界面,可以帮助您汇总、分析和搜索重要数据日志。
    Logstash.收集AppServer产生的Log,并存放到Elasticsearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。简单来说,进行日志处理分析,一般需要经过以下几个步骤:
    将日志进行集中化管理(beats)
    将日志格式化(logstash)
    对格式化后的数据进行索引和存储(elasticsearch)
    前端数据的展示(kibana)
    二、案例前置知识点
    1.1、Elasticsearch介绍。
    Elasticsearch是一个基于Lucene的搜索服务器。它稳定、可靠、快速、而且具有比较好的水平扩展能力,为分布式环境设计、在云计算中被广泛的应用。
    Wikipedia、Stack、Overflow、GitHub等都是基于Elasticsearch来构建的搜索引擎,具有实时搜索、稳定、可靠、快速、安装使用方便等特点。.
    1.2、Elasticsearch的基础核心概念:
    接近实时(NRT)
    集群(cluster):
    节点(node)
    类型(type).
    文档(document)
    分片和副本(shards&replicas)
    Elasticsearch将索引分成若干个部分,每个部分称为一个分片,每个分片就是一个全功能的独立的索引。分片的数量一般在索引创建前指定,且创建索引后不能更改
    ,这些分片也可以被复制0次(意思是没有复制)或多次。当副本存在时,作为复制源的分片称为主分片,而作为复制目标的分片称为复制分片。默认情况下,Elasticsearch中的每个索引被分成5个主分片和1个副本。
    分片的两个最主要原因:
    水平分割扩展,增大存储量,
    分布式并行跨分片操作,提高性能和吞吐量
    2.1、logstash介绍

    Logstash.由JRuby.语言编写,基于消息(message-based)的简单架构,并运行在Java虚拟机(JVM)上,是一款强大的数据处理工具。可以实现数据传输、格式处理、格式化输出。Logstash具有强大的插件功能,常用用于日志处理。Logstash可配置单一的代理端,与其他开源软件结合,实现不同功能。.
    Logstash的理念很简单,它只做3件事情:
    Collect:数据输入
    Enrich:数据加工(过滤,改写等)
    Transport:数据输出
    2.2、logstash的主要组件:
    shippe:日志收集者。负责监控本地日志文件的变化,及时把日志文件的最新内容收集起来。通常,远程代理端(agent)只需要运行这个组件即可;
    Indexer:日志存储者。负责接收日志并写入到本地文件。
    Broker:日志Hub。负责连接多个Shipper和多个Indexer。
    Search and Storage:允许对事件进行搜索和存储;
    Web Interface:基于Web的展示界面。
    在Logstash中,包括了三个阶段,分一别是输入(Input)、处理(Filter,非必须)和输出(Output)。整个流程为Input收集数据,Filter处理数据,Output输出数据。每个阶段也可以指定多种方式,如输出即可以输出到Elasticsearch中,也可以指定到stdout在控制台打印。这种插件式的组织方式,使得Logstash的扩展和定制非常方便。
    2.3、Logstash主机分类:
    代理主机(agenthost):作为事件的传递者(shipper),将各种日志数据发送至中心主机;只需运行Logstash代理(agent)程序;
    中心主机(central host):
    可运行包括中间转发器(Broker)、索引器(Indexer)、搜索和存储器(Search and Storage)、Web 界面端(Web Interface)在内的各个组件,以实现对日志数据的接收、处理和存储。
    3.1、Kibana介绍
    Kibana是一个针对Elasticsearch的开源分析及可视化平台,主要涉及用来和Elasticsearch一起工作。可以搜索、查看交互存储在Elasticsearch索引中的数据。并通过各种图表进行高级数据分析及展示。Kibana可以让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch 查询动态。Kibana使用非常简单,只需要添加索引就可以检测Elasticsearch索引数据。
    Kibana的主要功能:
    Elasticsearch无缝之集成。Kibana架构为Elasticsearch定制,可以将任何结构化和非结构化数据加入Elasticsearch索引。Kibana还充分利用了Elasticsearch 强大的搜索和分析功能。
    整合你的数据。Kibana能够更好地处理海量数据,并据此创建柱形图、折线图、散点图、直方图、饼图和地图,以便用户查看。
    复杂数据分析。Kibana提升了Elasticsearch分析能力,能够更加智能地分析数据,执行数学转换并且根据要求对数据切割分块。
    让更多团队成员受益。强大的数据库可视化接口让各业务岗位都能够从数据集合受益。
    接口灵活,分享更容易。使用Kibana可以更加方便地创建、保存、分享数据,并将可视化数据快速交流。
    配置简单。Kibana的配置和启用非常简单,用户体验非常友好。Kibana自带Web服务器,可以快速启动运行。
    可视化多数据源。Kibana可以非常方便地把来自Logstash、ES-Hadoop、Beats或第三方技术的数据整合到Elasticsearch,支持的第三方技术包括Apache Flume、Fluentd等。
    简单数据导出。Kibana可以方便地导出感兴趣的数据,与其它数据集合并融合后快速建模分析,发现新结果。
  • 相关阅读:
    牛客网提高五练习
    [BZOJ2820]YY的GCD
    [BZOJ2301][HAOI2011]Problem B
    [板子]快速读入
    复选框改成开关样式,滑动切换(纯css实现)
    rem的使用方法
    html添加删除输入框
    jq 实现全选反选,获取选中的值
    cdn引入vant框架使用在html页面使用
    为什么vuejs里面定义的template模板里定义的多个元素只显示一个
  • 原文地址:https://www.cnblogs.com/elin989898/p/12009262.html
Copyright © 2020-2023  润新知