• ELK日志分析系统


    一、ELK日志分析系统简介

      ELK不仅适用于日志分析,还可以支持其他数据搜索、分析和收集的场景,如网络流量分析、性能分析

      1.1 日志服务器

    • 提高安全性

    • 集中存放日志

    • 缺陷(对日志分析困难)

      1.2 ELK日志分析系统

    • Elasticsearch

    • Logstash

    • Kibana

      1.2.1 Elasticsearch

        1.2.1.1 Elasticsearch的概述

          提供了一个分布式多用户能力的全文搜索引擎,例如百度。而且它是由java开发的,可通过RESTful web接口,可让用户通过浏览器和Elasticsearch。通常用于是索引和搜索大容量的日志,也可以搜索许多不同类型的文档

          解释:RESTful web

    get    获取

    post 创建

    put    更新

    delete    删除

    get    搜索值

        1.2.1.2 Elasticsearch核心概念
    • 接近实时
    • 集群
    • 节点
    • 索引
      • 索引(库)->类型(表)->文档(记录)
    • 分片和副本

      1.2.2 Logstash介绍

        1.2.2.1 Logstash介绍

          一款强大的数据处理工具,可实现数据传输、格式处理、格式化输出,数据输入、数据加工(如过滤、改写等)记忆数据输出

      1.2.2.1  LogStash主要组件
    • Shipper:日志收集者,专门负责监控当地的web微服务日志

    • Indexer:日志存储者

    • Broker:类似于日志的harbor,主要负责连接多个日志收集者,相当于中间人

    • Search and Storage:搜索和存储

    • Web Interface:基于web展示数据界面

      1.2.2.2 logstash主要做的三件事
    1. input(数据采集)
    2. filter(数据过滤)
    3. output(数据输出)

      1.2.2.3 filebeat

        轻量级的开源日志文件数据收集器

      1.2.2.3.1 filebeat结合logstash的优势
    1. 通过logstash

    2. 从其他数据源中提取

    3. 将数据发送给多个目的地或写入数据

    4. 使用条件数据流逻辑组成更复杂的处理管道

      1.2.3 Kibana介绍

        1.2.3.1 kibana介绍

          一个针对Elasticsearch的开源分析及可视化平台,搜索、查看存储在Elasticsearch索引中的数据,通过各种图表进行高级数据分析及管理

        1.2.3.2 Kibana主要功能
    • Elasticsearch无缝集成

    • 整合数据,复杂数据分析

    • 更加收益

    • 接口容易,分享工人也

    • 配置简单,可视化多数据源

    • 简单数据导出

      1.3 日志处理步骤

    1. 将日志进行集中化管理
    2. 将日志格式化(Logstash)并输出到Elasticsearch
    3. 对格式化后的数据进行索引和存储(Elasticsearch)
    4. 前段数据的展示(Kibana)

        1.4 完整日志系统基本特征

    • 收集:能够采集多种来源的日志数据
    • 传输:能够稳定的把日志数据分析过滤并传输到系统文件
    • 存储:存储日志数据
    • 分析:支持UI分析
    • 警告:能够提供错误报告,监控机制

    二、ELK实施部署

      2.1 ELK Elasticsearch集群部署(在Node1、Node2节点上操作)

      2.1.1 为node1、node2关闭防火墙,改名,编辑hosts

      2.1.2 解压压缩包

        在node1远程传输内容到node2,为node1、node2解压压缩包ES 

      2.1.3 为node1、node2解压压缩包,重新配置服务并开机自启ES服务

      2.1.4  为node1和node2配置文件,配置信息,创建文件夹和设置权限

      2.1.5 为node1和node2启动ES服务

      2.1.6 查看节点信息node1、node2

      2.1.7 查看群集的健康情况

    注意:

    • 绿色:健康  数据和副本 全都没有问题
    • 红色:数据都不完整
    • 黄色:数据完整,但副本有问题

      2.2 在node1节点下操作

      2.2.1 在opt下安装gcc、gcc-c++

      2.2.2 在opt下解压node压缩包,同时编译安装 

      2.2.3 在opt下解压phantomjs到usr/local/src/下

      2.2.4 切换目录,复制内容到/usr/local/src/

       2.2.5 在opt下解压ES

      2.2.6 切换到刚刚解压玩的目录下后进行安装

      2.2.7 修改 Elasticsearch 主配置文件

    vim /etc/elasticsearch/elasticsearch.yml

      2.2.8 重新启动ES服务

    systemctl restart elasticsearch

      2.2.9 切换到elasticsearch-head,在后台运行

    cd /usr/local/src/elasticsearch-head/


    npm run start &

      2.2.10  查看ES信息

      2.2.11 插入索引

      2.2.12 重新查看索引信息

      2.3 ELK Logstash 部署(在 Apache 节点上操作)

      2.3.1 关闭防火墙设置别名apache,安装httpd并启动

      2.3.2 安装java环境,查看java版本

      2.3.3 在opt下将logstash转移到xshell下,然后解压,为它做软链接,同时开机自启logstash服务

      2.3.4 输入输出流

      2.3.5 使用 rubydebug 输出详细格式显示

      2.3.6 使用Logstash将信息写入Elasticsearch中

      2.3.7  为message增加读权限,编辑system.conf配置文件,重新启动logstash服务

      2.3.8 查看索引信息

      2.4 ELK Kiabana部署(在 Node1 节点上操作)

      2.4.1 安装kibana

    cd /opt


    rpm -ivh kibana-5.5.1-x86_64.rpm

       2.4.2 启动服务,查看5601端口

    systemctl start kibana.service


    systemctl enable kibana.service

    netstat -natp | grep 5601

      2.4.3 增加索引

     

      2.4.4 将Apache服务器的日志(访问的、错误的)添加到Elasticsearch并通过Kibana显示

      2.4.5 切换到conf.cd下,运行apache_log配置文件

  • 相关阅读:
    Redis解决超卖问题(一种多线程安全问题) 乐观锁、悲观锁
    基于Python实现的快递管理系统源码+数据库,采用PyQt6实现GUI界面
    一键生成insert,update,delete,的mybatis sql 语句
    讯飞离线语音合成新版(Aikit)-android sdk合成 demo(Java版本)
    Tomcat是如何打破“双亲委派“机制的
    CS231n课程笔记:Leture3 Loss Functions and Optimization
    RHCE(五)HTTP、SSL协议综合实验
    深度学习笔记之微积分及绘图
    【图像处理】基于双目视觉的物体体积测量算法研究(Matlab代码实现)
    FreeSWITCH添加自定义endpoint之媒体交互
  • 原文地址:https://blog.csdn.net/sea_bunch/article/details/137580584