一、ELK简介

  • Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
  • Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
  • Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

二、elk的安装(Docker安装)

2.1 摘取镜像

docker pull elasticsearch:7.6.0	
docker pull logstash:7.6.0	
docker pull kibana:7.6.0
docker pull mobz/elasticsearch-head:5

在这里插入图片描述

2.2 启动容器

2.2.1 启动elastic_search

由于我们暂时是单机部署的,需要指定为单节点模式,修改启动命令,加上-e “discovery.type=single-node”

docker run -d -p 9200:9200 -p 9300:9300 -e ES_JAVA_POTS="-Xms128m -Xmx128m" -e "discovery.type=single-node" --name elastic_search elasticsearch:7.6.0

在这里插入图片描述

在这里插入图片描述

2.2.2 elastic_search安装 Ik分词器

  1. 下载插件ik分词器

下载压缩包,不是源码包
在这里插入图片描述

  1. 导入压缩包
  • 直接在容器内使用wget获取
    略
  • 通过docker cp导入
 docker cp elasticsearch-analysis-ik elastic_search:/usr/share/elasticsearch/plugins

在这里插入图片描述

  1. 解压ik分词器
unzip elasticsearch-analysis-ik-7.6.0.zip -d elasticsearch-analysis-ik

在这里插入图片描述

  1. 重启es

在这里插入图片描述

2.2.3 启动kibana

docker run -d  -e ELASTICSEARCH_HOSTS='http://10.159.3.253:9200' -p 5601:5601 --name kibana kibana:7.6.0

在这里插入图片描述

在这里插入图片描述

2.2.3 启动Logstat

docker run -d --name logstash logstash:7.6.0

在这里插入图片描述

2.2.4 启动head

docker run --name elasticsearch-head -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5

在这里插入图片描述
在这里插入图片描述

4. 问题及解决

4.1 elasticserch启动失败

在这里插入图片描述

解决方案:修改jvm内存
启动参数添加 -e ES_JAVA_POTS="-Xms128m -Xmx128m"
在这里插入图片描述

4.2 Unable to connect to Elasticsearch at http://elasticsearch:9200/.

  1. 进入容器内部
docker exec -it kibana /bin/bash

在这里插入图片描述

  1. 修改kibana.yml文件内容

在这里插入图片描述
3. 重启容器

docker restart kibana

4.3 logstash报错 Elasticsearch Unreachable: [http://elasticsearch:9200/]

在这里插入图片描述

  1. 进入logstash容器
  2. 修改logstash.yml文件
  3. 修改elastic_search中配置,将network.host修改成ip地址
  4. 重启logstash容器

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.4 head跨域问题解决

在这里插入图片描述

  1. 进入es容器,修改elastic_search.yml文件,重启es

http.cors.enabled: true
http.cors.allow-origin: "*"

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐