• ELK日志分析系统


    ELK

    一、什么是ELK

    ELK是Elasticsearch + Logstash + Kibana 这种架构的简写.

    这是一种日志分析平台的架构.

    如果没有ELK这样的日志分析平台,我们同样可以使用shell三剑客(grep、sed、awk)来分析日志。

    这种方式略显原始而简陋,虽然也能应对大多数的场景,但是当日志量变大,分析频繁的时候,仅靠人工shell 的方式来查看分析日志,就很不方便。

    尤其适当使用者,对于shell不是很擅长的情况下,一个操作简单,配置方便的日志分析平台,就显得很有必要了。

    ELK是开源的,社区活跃,用户众多。

    二、ELK常见的架构

    • Elasticsearch + Logstash + Kibana
      这是一种最简单的架构。这种架构,通过logstash收集日志,Elasticsearch分析日志,然后在Kibana(web界面)中展示。这种架构虽然是官网介绍里的方式,但是往往在生产中很少使用。

    • Elasticsearch + Logstash + filebeat + Kibana
      与上一种架构相比,这种架构增加了一个filebeat模块。filebeat是一个轻量的日志收集代理,用来部署在客户端,优势是消耗非常少的资源(较logstash), 所以生产中,往往会采取这种架构方式,但是这种架构有一个缺点,当logstash出现故障, 会造成日志的丢失。

    • Elasticsearch + Logstash + filebeat + redis(也可以是其他中间件,比如kafka(集群化)) + Kibana
      这种架构是上面那个架构的完善版,通过增加中间件,来避免数据的丢失。当Logstash出现故障,日志还是存在中间件中,当Logstash再次启动,则会读取中间件中积压的日志。目前我司使用的就是这种架构,我个人也比较推荐这种方式。

    请添加图片描述

    说明: logstash节点和elasticsearch节点可以根据日志量伸缩数量, filebeat部署在每台需要收集日志的服务器上。

    三、简单ELK部署

    • 部署环境,关闭防火墙

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t8s9JCFB-1640835483395)(C:Users杨醇OneDrive桌面)]

    - [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sZ1ld2PK-1640835483395)(C:Users杨醇OneDrive桌面)]

    • 安装elasticsearch-rpm包

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d2odKsE6-1640835483396)(C:Users杨醇OneDrive桌面)]

    • 加载系统服务.

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yWCcDdDV-1640835483397)(C:Users杨醇OneDrive桌面)]

    • 更改elasticsearch主配置文件

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LdenVjFs-1640835483398)(C:Users杨醇OneDrive桌面)]

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mr8tXGRO-1640835483399)(C:Users杨醇OneDrive桌面)]

    • 创建数据存放路径并授权

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WyohKRtT-1640835483400)(C:Users杨醇OneDrive桌面)]

    • 启动查看是否成功开启

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZaKAbLNa-1640835483400)(C:Users杨醇OneDrive桌面8)]

    • 查看节点信息

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j71pN8cp-1640835483401)(C:Users杨醇OneDrive桌面9)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Al9Yn2A-1640835483401)(C:Users杨醇OneDrive桌面)]

    • 查看集群状态

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CUGTtLS1-1640835483402)(C:Users杨醇OneDrive桌面	)]

    • 安装head插件

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mr5HsEOb-1640835483403)(C:Users杨醇OneDrive桌面
)]

    • 安装phantomjs

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0yLYnchv-1640835483403)(C:Users杨醇OneDrive桌面)]

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EBQUoqOX-1640835483404)(C:Users杨醇OneDrive桌面)]

    • 安装可视化工具

    file:///C:/Users/%E6%9D%A8%E9%86%87/OneDrive/%E6%A1%8C%E9%9D%A2/15

    • 修改主配置文件,启动head插件及服务

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VMP96UQW-1640835483405)(C:Users杨醇OneDrive桌面)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6DVqMgt1-1640835483405)(C:Users杨醇OneDrive桌面)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F674jxO4-1640835483406)(C:Users杨醇OneDrive桌面8)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MpYaB2mH-1640835483406)(C:Users杨醇OneDrive桌面9)]

    • 创建索引

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y5UvJcNX-1640835483407)(C:Users杨醇OneDrive桌面)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ew93LRJU-1640835483407)(C:Users杨醇OneDrive桌面)]

    • apache主机上安装logstash,并启动

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9xgwtYqj-1640835483407)(C:Users杨醇OneDrive桌面)]

    • 建立logstash软连接

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hruMtQgC-1640835483408)(C:Users杨醇OneDrive桌面)]

    • logstash与elasticsearch做对接测试

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h6EwMr1T-1640835483408)(C:Users杨醇OneDrive桌面)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r3BHVZN0-1640835483409)(C:Users杨醇OneDrive桌面)]

    - 使用logstash将信息写入elasticsearch中[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qOwGM2jx-1640835483409)(C:Users杨醇OneDrive桌面)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4rOBxFxA-1640835483409)(C:Users杨醇OneDrive桌面)]

    • 登录主机做对接配置

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YcfHUBju-1640835483410)(C:Users杨醇OneDrive桌面8)]

    vi /etc/logstash/conf.d/system.conf

    input {
           file{
            path => "/var/log/messages"
            type => "system"
            start_position => "beginning"
            }
          }
    output {
            elasticsearch {
              hosts => ["192.168.9.139:9200"]
              index => "system-%{+YYYY.MM.dd}"
              }
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tMkdjiSA-1640835483410)(C:Users杨醇OneDrive桌面9)]

    • node1上安装kibana

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZM6EPraI-1640835483411)(C:Users杨醇OneDrive桌面)]

    • 修改配置文件

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JnuGwJCO-1640835483411)(C:Users杨醇OneDrive桌面)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yCMY9v9z-1640835483411)(C:Users杨醇OneDrive桌面)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gODe52Ou-1640835483412)(C:Users杨醇OneDrive桌面)]

    • 配置索引

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P56rZLYF-1640835483412)(C:Users杨醇OneDrive桌面)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DxCrklf2-1640835483413)(C:Users杨醇OneDrive桌面)]

    • 对接apache主机的日志文件

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jqZ0rIlX-1640835483413)(C:Users杨醇OneDrive桌面)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gd9t8jNG-1640835483414)(C:Users杨醇OneDrive桌面)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l0Zz5Xes-1640835483415)(C:Users杨醇OneDrive桌面8)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QIxN9aMb-1640835483415)(C:Users杨醇OneDrive桌面9)]

    四、扩展

    在生产环境中,由于logstash消耗资源过多,我们一半采用filebeat轻量级日志收集代理,让logstash专注于日志格式化,又由于生产环境中日志量过大,logs他是一旦故障,会导致日志的丢失,所以要在filebeat与logstash中增加一个中间件redis或kafka来起一个缓存汇聚作用。如下图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WFJ3i6lB-1640835483416)(C:Users杨醇OneDrive桌面 )]

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    2342.数位和相等数对的最大和
    面试代码题合集
    如何解决企业内部的数据孤岛问题?
    【每日一题】2216.美化数组的最少删除数-2023.11.21
    大型通用ERP生产管理系统源码
    K8S:Yaml文件详解
    Django实战项目-学习任务系统-发送短信通知
    Himall商城- web私有方法
    将多张图片制作gif
    [建图]2+ doors Codeforces1715D
  • 原文地址:https://blog.csdn.net/m0_67393295/article/details/126082812