运维工具

ELK搭建教程(Elasticsearch+Logstash+K

2020-11-19  本文已影响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 &

配置索引:

点击管理

点击创建索引

上一篇下一篇

猜你喜欢

热点阅读