开源实时日志分析ELK平台部署

开源实时日志分析ELK平台。

    0.  ELKElasticSearchLogstashKiabana三个开源工具组成。官方网站:https://www.elastic.co/products

框架

简介

作用

Elasticsearch

开源分布式搜索引擎,提供存储、分析、搜索功能。特点:分布式、基于reasful风格、支持海量高并发的准实时搜索场景、稳定、可靠、快速、使用方便等。

接收搜集的海量结构化日志数据,并提供给kibana查询分析

Logstash

开源日志搜集、分析、过滤框架,支持多种数据输入输出方式。

用于收集日志,对日志进行过滤形成结构化数据,并转发到elasticsearch

Kibana

开源日志报表系统,对elasticsearch以及logstash有良好的web页面支持。

elasticsearch提供的数据进行分析展示

     1.  ELK安装(ELK三个需要版本一致,占内存比较大需用内存大的系统)        

框架

下载地址

Elasticsearch

https://www.elastic.co/cn/downloads/elasticsearch

Logstash

https://www.elastic.co/cn/downloads/logstash

Kibana

https://www.elastic.co/cn/downloads/kibana

 演示使用的是linux系统

    下载tar.zg版本到linuxELK文件夹,可以使用如下命令

    wget -b https://artifacts.elastic.co/downloads/logstash/logstash-6.7.0.tar.gz

    wget -b https://artifacts.elastic.co/downloads/kibana/kibana-6.7.0-linux-x86_64.tar.gz

    wget -b https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz

    (等。。。。)

    然后解压

    tar -zxvf logstash-6.7.0.tar.gz

    tar -zxvf kibana-6.7.0-linux-x86_64.tar.gz

    tar -zxvf elasticsearch-6.7.0.tar.gz

     2. 修改Elasticsearch配置文件并启动

     vi elasticsearch-6.7.0/config/elasticsearch.yml

开源实时日志分析ELK平台部署_第1张图片

    打开系统9200端口

    firewall-cmd --zone=public --add-port=9200/tcp --permanent #--permanent永久生效,没有此参数重启后失效
    重新加载防火墙:
    firewall-cmd --reload

    启动 /ELK/elasticsearch-6.7.0/bin/elasticsearch -d  -d为后台启动,确保当前用户为非root用户)

    启动失败的原因及解决方案:https://blog.csdn.net/gebitan505/article/details/54709515

                                                   https://www.cnblogs.com/zhi-leaf/p/8484337.html

    3. 修改kibana配置文件并启动

    vi /kibana-6.7.0-linux-x86_64/config/kibana.yml

开源实时日志分析ELK平台部署_第2张图片   

    打开系统5601端口

    /sbin/iptables -I INPUT -p tcp --dport 5601 -j ACCEPT

    /ELK/kibana-6.7.0-linux-x86_64/bin/kibana  & (当前用户需要root用户或有相应的权限。后加&是后台运行,exit可以进入shell)

     4. 修改Logstash配置文件

    vi /ELK/logstash-6.7.0/config/logstash.yml

开源实时日志分析ELK平台部署_第3张图片   

    vi /ELK/logstash-6.7.0/config/logstash-sample.conf

开源实时日志分析ELK平台部署_第4张图片   

        input 配置参考:https://www.elastic.co/guide/en/logstash/current/input-plugins.html
        output 配置参考:https://www.elastic.co/guide/en/logstash/current/output-plugins.html
        filter 配置参考:https://www.elastic.co/guide/en/logstash/6.4/filter-plugins.html
        Logstash Referencehttps://www.elastic.co/guide/en/logstash/6.4/index.html

    此为练习用标准配置,但在生产环境中需要自定义myconfig.cfg配置文件。

    启动失败的原因及解决方案https://stackoverflow.com/questions/53780598/logstash-start-with-error-pipelines-yaml-file-is-empty

    打开9600端口和5044端口
 

    启动  /ELK/logstash-6.7.0/bin/logstash  -f  /ELK/logstash-6.7.0/conf/logstash-sample.conf &     (运行成功后exit)

     完毕!!后边简单使用

开源实时日志分析ELK平台部署_第5张图片

一:需求背景

        随着互联网技术和计算机技术的快速发展及广泛的应用,当前服务器每天产生大量的访问日志。一方面需要对日志进行快速的排查,加快工作进程,提高工作效率。另一方面对这些日志的分析和挖掘可以得到符合用户兴趣和习惯的服务和产品,进而提高企业的销量。

        日志分析的难点:

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

        日志分析的作用:

  • 信息查找。通过检索日志信息,定位相应的bug,找出解决方案。
  • 服务诊断。通过对日志信息进行统计、分析,了解服务器的负荷和服务运行状态,找出耗时请求进行优化等等。
  • 数据分析。如果是格式化的log,可以做进一步的数据分析,统计、聚合出有意义的信息,比如根据请求中的商品id,找出TOP10用户感兴趣商品。
     

二:系统考量

          一个完整的海量日志分析处理过程应当分为集中存储、搜索(检索)和分析日志。日志集中存储,实时监测日志,快速搜索分析,及时发出告警。另外还需要日志数据的可视化,通过报表、表格、图表等形式展示日志的数量、级别、详细信息等。复杂的还需要加入流计算。

          收集数据————切割筛选数据————分析数据————统计数据————可视化数据展示

          面对海量的日志文件数据,所要考量一下几点技术细节:

                   1:如何收集日志

                   2:如何存储日志

                   3:如何分析日志:

三:参考文献

ELK stack权威指南  饶琛琳

http://www.aboutyun.com/thread-8317-1-1.html

http://www.aboutyun.com/thread-8317-1-1.html

https://blog.csdn.net/ljp812184246/article/details/51175789

https://blog.csdn.net/enweitech/article/details/73332630

https://my.oschina.net/shyloveliyi/blog/786337

https://wenku.baidu.com/view/d92923c49a89680203d8ce2f0066f5335a816782.html

https://sematext.com/blog/elasticsearch-ingest-node-vs-logstash-performance/

四:ELK技术栈

elasticsearch :  https://github.com/elastic/elasticsearch

kinaba : https://github.com/elastic/kibana

beats : https://github.com/elastic/beats

logstash :https://github.com/elastic/logstash

官网:https://www.elastic.co/

 

 

 

 

 

你可能感兴趣的:(开源实时日志分析ELK平台部署)