美文网首页运维工具
ELK搭建教程(Elasticsearch+Logstash+K

ELK搭建教程(Elasticsearch+Logstash+K

作者: 攻城日记 | 来源:发表于2020-11-19 18:22 被阅读0次

    、ELK介绍

    ELK是Elasticsearch、Logstash、Kibana的简称,在此基础上可扩展Filebeat、mysql、redis、kafka等

    Elasticsearch是一个分布式实时全文搜索引擎,是用Java语言开发的,基于RESTful web接口,,官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,都是基于Lucene。

    Logstash是一个日志收集器。支持常见类型的日志,支持多种方式输出日志,例如Elasticsearch、kafka

    Kibana是一个开源分析及可视化平台,需要结合Elasticsearch用来搜索、查看存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。

    官网地址:  https://www.elastic.co/cn/

    二、安装包下载

    1、安装jdk

    Elasticsearch 7.0.0以上版本需要JDK11,我这里安装的是jdk1.8,所以我选择了6.3.0

    2、Elasticsearch、Kibana、Logstash安装包

    左边下拉框可选择安装包,右边下拉框可选择版本

    选择Download

    按自己环境选择安装包(压缩包点击左边(不要点击 sha))

    Linux解压命令:

    tar -zxvf  (tar包解压)

    unzip  (zip包解压)

    注意:Elasticsearch、Kibana、Logstash安装包 版本要一致

    三、部署

    1、安装elasticsearch

    进入 elasticsearch 的 config目录

    vim elasticsearch.yml 

    在尾部加入:

    cluster.name: elk

    node.name: elasticsearch

    network.host: 127.0.0.1

    http.port: 9200

    http.cors.enabled: true

    http.cors.allow-origin: "*"

    path.data: /opt/elk/elasticsearch-6.3.0/data

    path.logs: /opt/elk/elasticsearch-6.3.0/logs

    注释:  path.data 和 path.logs 路径可自定义

    项目后台启动:

    ./bin/elasticsearch &

    访问: http://127.0.0.1:9200

    看到以下信息即可

    2、安装Kibana

    进入kibana 的 config 目录

    vim kibana.yml

    server.port: 5601

    server.host: "127.0.0.1"

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

    kibana.index: ".kibana"

    注释:  IP地址可自定义, elasticsearch.url: 是  elasticsearch安装地址

    启动kibana:

    nohup ./bin/kibana &

    访问: http://127.0.0.1:5601/

    看到以下界面即可

    3、安装Logstash

    进入 Logstash 的 config 目录

    创建配置文件: logstash.conf

    (1)单个输入配置:

    input {

        file {

            path => "/logs/ls_data_service/info/*.log"

            start_position => beginning

        }

    }

    output {

        stdout {

            codec => rubydebug

        }

        elasticsearch {

            hosts => "127.0.0.1:9200"

            index => "ls_data_service_info -%{+YYYY.MM.dd}"

        }

    }

    注释:

      path => "logs/ls_data_service/info/*.log"  这里是自定义的log 文件路径

     hosts => "127.0.0.1:9200" 可自定义elasticsearch地址

     index => 这里的ls_data_service_info名称可自定义,%{+YYYY.MM.dd}是一个时间格式

    (1)多个输入配置:

    input {

      file {

    path => "/logs/ls_data_service/info/*.log"

    start_position => "beginning"

    type => "ls_data_service_info"

      }

      file {

    path => "/logs/ls_data_service/error/*.log"

    start_position => "beginning"

    type => "ls_data_service_error"

      }

    }

    output {

    stdout {

    codec => rubydebug

    }

    if [type] == "ls_data_service_info" {

    elasticsearch {

            hosts => ["127.0.0.1:9200"]

                index => "ls_data_service_info-%{+YYYY.MM.dd}"

      }

    }

    if [type] == "ls_data_service_error" {

    elasticsearch {

            hosts => ["127.0.0.1:9200"]

                index => "ls_data_service_error-%{+YYYY.MM.dd}"

      }

    }

    }

    注释:可扩展配置输入redis、kafka、数据库等日志

    启动Logstash:

     ./logstash -f ../config/logstash.conf &

    或 nohup ./logstash -f ../config/logstash.conf &

    配置索引:

    点击管理

    点击创建索引

    相关文章

      网友评论

        本文标题:ELK搭建教程(Elasticsearch+Logstash+K

        本文链接:https://www.haomeiwen.com/subject/udsliktx.html