zoukankan      html  css  js  c++  java
  • ELK简单安装

    ELK日志分析平台

    一、ELK介绍

    ELK是三个开源软件的缩写,分别为:Elasticsearch 、 Logstash以及Kibana,都是开源软件,新增一个beats,(轻量级日志处理工具Agent)

    Elasticsearch是开源分布式搜索引擎,提供搜索、分析、存储数据三大功能,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等

    Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

    Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

    Beats在这里是一个轻量级日志采集器,其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比 Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。

    二、elasticsearch搭建

    环境介绍:

    centos 6.8

    JDK 1.8

    1.下载ELK的三大组件

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

     

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

     

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

    2.创建运行elk用户

    groupadd elk

    useradd -g elk elk

    创建运行目录:

    mkdir elk

    chown -R elk:elk /elk

    ◆关闭防火墙

    3.修改配置参数

    配置limit相关参数:

    vim /etc/security/limits.conf

    添加以下内容

    * soft nproc 65536

    * hard nproc 65536

    * soft nofile 65536

    * hard nofile 65536

    以上均是由root用户完成

    4.安装ELK

    由elk用户来操作

    tar -xvf elasticsearch-6.5.2.tar.gz

    vi config/elasticsearch.yml

    修改以下内容

    cluster.name: my-application

    node.name: node-1

     bootstrap.system_call_filter: false(手动添加)

    network.host: 192.168.19.95

    http.port: 9200

    保存退出

    5.启动elasticsearch

    启动Elasticsearch

    ./bin/elasticsearch

    nohup ./elasticsearch &  ##后台启动

    查看是否启动:

    netstat -an |grep 9200

    6.启动验证

    在浏览器中输入http://192.168.19.95:9200/

    {

      "name" : "node-1",

      "cluster_name" : "my-application",

      "cluster_uuid" : "O-cNGXEsScSns8Catgq4wg",

      "version" : {

        "number" : "6.5.2",

        "build_flavor" : "default",

        "build_type" : "tar",

        "build_hash" : "9434bed",

        "build_date" : "2018-11-29T23:58:20.891072Z",

        "build_snapshot" : false,

        "lucene_version" : "7.5.0",

        "minimum_wire_compatibility_version" : "5.6.0",

        "minimum_index_compatibility_version" : "5.0.0"

      },

      "tagline" : "You Know, for Search"

    }

    7.启动报错处理

    ◆max number of threads [1024] for user [lish] likely too low, increase to at least [2048]

    解决:切换到root用户,进入limits.d目录下修改配置文件。

    vi /etc/security/limits.d/90-nproc.conf

    修改如下内容:

    * soft nproc 1024

    #修改为

    * soft nproc 2048

     

    ◆max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

    解决:切换到root用户修改配置sysctl.conf

    vi /etc/sysctl.conf

    添加下面配置:

    vm.max_map_count=655360

    并执行命令:

    sysctl -p

     

    ◆max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

    解决:修改切换到root用户修改配置limits.conf 添加下面两行

    命令:vi /etc/security/limits.conf

    *        hard    nofile           65536

    *        soft    nofile           65536

    三、logstash搭建

    1、解压文件

    tar -xvf logstash-6.5.2.tar.gz

    2、新建索引配置文件

    cd /elk/logstash-6.5.2/bin

    mkdir conf

    vi conf/logstash-indexer.conf

    内容如下:

    input {

     file {

       path=>["/elk/logstash-6.5.2/logs/a.log","/elk/logstash-6.5.2/logs/b.log"]

     }

    }

     

    output {

      elasticsearch { hosts => ["192.168.19.95:9200"] }

      stdout { codec => rubydebug }

    }

    ◆◆◆◆◆

    input{file{...}}部分指定的是日志文件的位置(可以多个文件)

    output部分则是表示将日志文件的内容保存到elasticsearch,这里hosts对应的是一个数组,可以设置多个elasticsearch主机,相当于一份日志文件的内容,可以保存到多个elasticsearch中

    3、启动

    在logstash /bin 目录下

    ./logstash -f conf/logstash-indexer.conf

    等待片刻,打开另一个窗口,向/elk/logstash-6.5.2/logs/a.log 中写入  hello world 保存退出,然后观察logstash的运行窗口,是否有东西输出

    {

           "message" => "hello world",

          "@version" => "1",

        "@timestamp" => "2016-01-08T14:35:16.834Z",

              "host" => "yangjunmingdeMacBook-Pro.local",

              "path" => "/var/opt/log/a.log"

    }

    此时浏览http://localhost:9200/_search?pretty 也应该能看到一堆输出,表明elasticsearch接收到logstash的数据了

    四、kibana的配置启动

    1、修改配置文件

    vi /elk/kibana-6.5.2-linux-x86_64/config/kibana.yml

    修改第12行:

    elasticsearch.url: "http://192.168.19.95:9200"

    ##指定访问位置

    2、启动服务

    /elk/kibana-6.5.2-linux-x86_64/bin

    ./kibana

    启动完成后,在浏览器里输入http://localhost:5601/ 即可看到kibana界面,首次运行,会提示创建index,直接点击Create按钮即可。

  • 相关阅读:
    windows下nginx的安装及使用
    JAVA面试经历
    项目框架搭建
    383. Ransom Note
    Add to List 349. Intersection of Two Arrays
    171. Excel Sheet Column Number
    463. Island Perimeter
    669. Trim a Binary Search Tree
    496. Next Greater Element I
    637. Average of Levels in Binary Tree
  • 原文地址:https://www.cnblogs.com/weizhixu/p/10111460.html
Copyright © 2011-2022 走看看