zoukankan      html  css  js  c++  java
  • ELK之日志查询、收集与分析系统


    项目由来

      (1)开发人员不能登录线上服务器查看详细日志,经过运维周转费时费力
      (2)日志数据分散在多个系统,难以查找与整合
      (3)日志数据量巨大,查询速度太慢,无法满足需求
      (4)无法全局掌控项目运行状况
      (5)日志数据查询不够实时
      (6)数据分析人员不会写代码,无法分析统计数据
      (7).........

    框架里包含的组件

      Logstash+Elasticsearch+Kibana(ELK
      Logstash:监控,过滤,收集日志。
      Elasticsearch:存储日志,提供搜索功能。
      kibana:提供web界面,支持查询,统计,和图表展现。
      filebeat:轻量级的日志收集工具。
      很多公司都采用该架构构建分布式日志系统,包括新浪微博,freewheel,畅捷通等

      注意:在应用端收集日志时,建议用filebeat。

    效果图

    架构设计

      (1)使用filebeat
        架构设计1:filebeat(1.3)-->logstash(parse)-->es集群-->kibana--ngix
            缺点:如果logstash出问题会导致filebeat收集的数据丢失
        架构设计2:filebeat(1.3)-->logstash(parse)[loadbalance]-->es集群-->kibana--ngix
          filebeat和>logstash耦合性太高
        架构设计3filebeat(1.3)(3台)-->redis-->logstash(parse)-->es集群-->kibana--ngix(可选)  (我这里,目前为了学习,走这条线路)
          里面redis是一个单线程的实例,redis单线程每秒处理能力一般是10W次左右。
        架构设计4:filebeat(5.0)-->redis/kafka-->logstash(parse)-->es-->kibana--ngix
          filebeat(1.3)不支持输出到kafka,5.x版本中支持输出到kafka
      (2)不使用filebeat
          logstash-->kafka-->logstash(parse)-->es-->kibana--ngix
            里面kafka支持水平扩展,可以使用多分区,支持多线程并行执行。
            在应用端收集日志的话,logstash比较重量级,性能消耗比filebeat大
      (3)Filebeat用于日志收集和传输,相比Logstash更加轻量级和易部署,对系统资源开销更小。

    后续贴图。

    ELK实时日志分析平台环境部署--完整记录

  • 相关阅读:
    HDU 2955 Robberies
    HDU 2546 饭卡
    poj 3628 Bookshelf 2
    poj 3624 Charm Bracelet
    celery -1
    ☀【Grunt】插件
    【MooTools】
    【Grunt】
    ↗☻【PHP与MySQL程序设计 #BOOK#】第3章 PHP基础
    【CSS】
  • 原文地址:https://www.cnblogs.com/zlslch/p/6621794.html
Copyright © 2011-2022 走看看