• 十分钟搭建和使用ELK日志分析系统


    前言

        为满足研发可视化查看测试环境日志的目的,准备采用EK+filebeat实现日志可视化(ElasticSearch+Kibana+Filebeat)。题目为“十分钟搭建和使用ELK日志分析系统”听起来有点唬人,其实如果单纯满足可视化要求,并且各软件都已经下载到本地,十分钟是可以搭建一个ELK系统的。本文介绍如何快速安装、配置、使用EK+FILEBEAT去实现日志搜集。本文中没有使用LOGSTASH做日志搜集过滤,但为了后期需要先进行了安装。

    工作原理

    ElasticSearch:是一个开源的分布式搜索引擎,其特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,Rest风格接口,多数据源,自动搜索负载等。
    Logstash:是一个开源的日志收集和分析工具,能够将日志进行分析后,提供给ElasticSearch进行使用。
    Kibana:可以为ElasticSearch和Logstash提供一个进行日志分析的友好Web界面,帮助汇总、分析、搜索重要日志。
    Filebeat:是一个开源的文件收集器,最初是基于Logstash-forward源码的日志数据shipper,适合用于日志文件的收集。把Filebeat安装在服务器上,作为代理来监视日志目录或特定的日志文件,然后把日志数据转发到Logstash中进行分析,或者是直接转发到ElasticSearch中进行搜索。

    环境信息

    IP 功能 软件 安装路径 操作系统
    192.168.9.11 ELK openjdk1.8.0_171,elk6.3.2 rpm安装缺省路径 centos7.5
    192.168.9.12 Filebeat sonarqube-scanner3.2.0 rpm安装缺省路径 centos6.8

     

     

     

     ELK下载地址:https://www.elastic.co/downloads/

    搭建步骤

     1.系统基础环境的准备

    #修改vm限制
    vi /etc/sysctl.conf 
    vm.max_map_count=655360
    !wq   保存退出
    sysctl -p
    
    #修改文件和线程限制
    vi /etc/security/limits.conf
    * hard nofile 65536
    * soft nofile 65536
    * soft nproc 2048
    * hard nproc 4096
    
    #修改非root用户线程限制
    vi /etc/security/limits.d/20-nproc.conf   #(修改soft行,新增hard行)
    * soft nproc 65535

    2.JDK及ELK的安装

    #安装jdk
    yum install java-1.8.0-openjdk -y  
    #进入rpm包所在路径,进行安装
    cd /usr/local/src
    rpm -ivh elasticsearch-6.3.2.rpm
    rpm -ivh logstash-6.3.2.rpm
    rpm -ivh kibana-6.3.2-x86_64.rpm

    3.配置文件配置(注意以上ELK安装完后现不要重启,先进行基本配置)

    #elasticsearch配置
    vim /etc/elasticsearch/elasticsearch.yml
    network.host: 0.0.0.0 #修改为0.0.0.0 允许外部所有主机访问
    
    #kib
    vim /etc/kibana/kibana.yml 
    server.host: "192.168.9.11" #修改为本机IP,否则外部用户将无法访问

    4.服务启动及验证

    #启动 elasticsearch
    service elasticsearch start
    
    #启动kibana
    service kibana start

    在浏览器中打开http://192.168.9.11:9200 验证elasticsearch是否启动,当看到如下信息,说明已正常启动。

    打开http://192.168.9.26:5601验证已kibana启动情况,当看到如下界面说明已启动(启动后要等待10秒左右至完全启动完成)

    5.filebeat的安装及配置及启动(在日志被搜集服务器上进行)

    #安装filebeat
    cd /usr/local/src
    rpm -ivh filebeat-6.3.2-x86_64.rpm 
    
    #配置filebeat,这里搜集tomcat及Node日志,通过tags进行区分
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /usr/local/tomcat/logs/catalina.out
      tags: ["saas_server"]
    - type: log
      enabled: true
      paths:
        - /usr/local/nodejs/workspace/saas_web/logs/saas-web*
      tags: ["saas_web"]
    
    output.elasticsearch:
      # Array of hosts to connect to.
      hosts: ["192.168.9.11:9200"]

    #filebeat启动
    service filebeat start

    以上ELK+Filebeat安装完成后,就可以在Kinaba上进行配置使用了,首次使用先在“discover”处进行采集器添加,添加关键字为filebeat-*,(若是logstash则默认为logstash*),添加完成后就可以看到搜集到的日志。如下图:

    如上日志已经被搜集到elasticsearch中,并通过kibana呈现,另外还可以通过点击tags,分类查看Tomcat或node的日志,如上filebeat中已经通过tags进行了分类,至此在十分钟内日志系统已经搭建完毕。这仅仅是一个满足可视化的简单应用,若日志量大、需要权限认证、需要过滤等插件的复杂功能,就需要建立集群、增加缓冲、采用X-PACK,安装对应插件等。

    可参考博客:https://www.cnblogs.com/frankdeng/p/9139035.html#4028638 和官方文档。

  • 相关阅读:
    JS判断鼠标从什么方向进入一个容器
    jQuery最核心的基础设施之一——数据缓存模块进化史
    判定模块加载时是否存在循环依赖
    mass Framework fx模块 v4
    一个简单的加载系统
    MVC历史演化
    Mozilla Firefox 17 正式发布
    javascript 堆栈与列队
    被迫才是进步的原动力(转)
    jquery1.83 之前所有与异步列队相关的模块的演变回顾
  • 原文地址:https://www.cnblogs.com/fishbook/p/9370089.html
Copyright © 2020-2023  润新知