1、更新daocker版本

2、pull官方的镜像

https://www.elastic.co/guide/en/elasticsearch/reference/6.1/docker.html

https://www.elastic.co/guide/en/kibana/6.1/_pulling_the_image.html

https://www.elastic.co/guide/en/logstash/6.1/docker.html

选择正常版本:

# docker pull docker.elastic.co/elasticsearch/elasticsearch:6.1.3

# docker pull docker.elastic.co/kibana/kibana:6.1.3

# docker pull docker.elastic.co/logstash/logstash:6.1.3

3、创建容器,使用docker-compose

1)创建三个目录,分别存放配置文件

#mkdir  /data/{elasticsearch,logstash,kibana}

#mkdir /data/tt  #用来存放插件,有的时候在容器内无法安装

# cat elasticsearch.yml

action.auto_create_index: true
#script.groovy.sandbox.enabled: true
#script.engine.groovy.inline.aggs: true
#Set a custom allowed content length:
http.max_content_length: 500mb
cluster.routing.allocation.disk.watermark.low: %
cluster.routing.allocation.disk.watermark.high: %
indices.fielddata.cache.size: %
indices.breaker.fielddata.limit: %
network.host: 0.0.0.0
xpack.security.enabled: false

# cat kibana.yml

---
# Default Kibana configuration from kibana-docker. server.name: kibana
server.host: "0.0.0.0"
elasticsearch.url: http://elasticsearch:9200
xpack.monitoring.ui.container.elasticsearch.enabled: false
server.port:
xpack.security.enabled: false

#cat  jvm.options

## JVM configuration

################################################################
## IMPORTANT: JVM heap size
################################################################
##
## You should always set the min and max JVM heap
## size to the same value. For example, to set
## the heap to GB, set:
##
## -Xms4g
## -Xmx4g
##
## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
## for more information
##
################################################################ # Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space -Xms2g
-Xmx2g ################################################################
## Expert settings
################################################################
##
## All settings below this section are considered
## expert settings. Don't tamper with them unless
## you understand what you are doing
##
################################################################ ## GC configuration
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=
-XX:+UseCMSInitiatingOccupancyOnly ## G1GC Configuration
# NOTE: G1GC is only supported on JDK version or later.
# To use G1GC uncomment the lines below.
# -:-XX:-UseConcMarkSweepGC
# -:-XX:-UseCMSInitiatingOccupancyOnly
# -:-XX:+UseG1GC
# -:-XX:InitiatingHeapOccupancyPercent= ## optimizations # pre-touch memory pages used by the JVM during initialization
-XX:+AlwaysPreTouch ## basic # explicitly set the stack size
-Xss1m # set to headless, just in case
-Djava.awt.headless=true # ensure UTF- encoding by default (e.g. filenames)
-Dfile.encoding=UTF- # use our provided JNA always versus the system one
-Djna.nosys=true # turn off a JDK optimization that throws away stack traces for common
# exceptions because stack traces are important for debugging
-XX:-OmitStackTraceInFastThrow # flags to configure Netty
-Dio.netty.noUnsafe=true
-Dio.netty.noKeySetOptimization=true
-Dio.netty.recycler.maxCapacityPerThread= # log4j
-Dlog4j.shutdownHookEnabled=false
-Dlog4j2.disable.jmx=true -Djava.io.tmpdir=${ES_TMPDIR} ## heap dumps # generate a heap dump when an allocation from the Java heap fails
# heap dumps are created in the working directory of the JVM
-XX:+HeapDumpOnOutOfMemoryError # specify an alternative path for heap dumps; ensure the directory exists and
# has sufficient space
-XX:HeapDumpPath=data # specify an alternative path for JVM fatal error logs
-XX:ErrorFile=logs/hs_err_pid%p.log ## JDK GC logging :-XX:+PrintGCDetails
:-XX:+PrintGCDateStamps
:-XX:+PrintTenuringDistribution
:-XX:+PrintGCApplicationStoppedTime
:-Xloggc:logs/gc.log
:-XX:+UseGCLogFileRotation
:-XX:NumberOfGCLogFiles=
:-XX:GCLogFileSize=64m # JDK + GC logging
-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=,filesize=64m
# due to internationalization enhancements in JDK Elasticsearch need to set the provider to COMPAT otherwise
# time/date parsing will break in an incompatible way for some date patterns and locals
-:-Djava.locale.providers=COMPAT # temporary workaround for C2 bug with JDK on hardware with AVX-
-:-XX:UseAVX=

#cat docker-compose.yml

version: ''

services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.1.
ports:
- "9200:9200"
- "9300:9300"
environment:
- ES_JAVA_OPTS: "-Xms30g -Xmx30g" - cluster.name=docker-cluster

        - bootstrap.memory_lock=true

 

ulimits:
        memlock:
          soft: -1
          hard: -1

    networks:
- docker_elk
volumes:
- ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- /data/elasticsearch1:/usr/share/elasticsearch/data
- /data/tt:/usr/share/elasticsearch/plugins/ - /data/backups:/usr/share/elasticsearch/backups - /data/longterm_backups:/usr/share/elasticsearch/longterm_backups - ./elasticsearch/config/jvm.options:/usr/share/elasticsearch/config/jvm.options logstash:
image: docker.elastic.co/logstash/logstash:6.1.
command: -f /etc/logstash/conf.d/ --config.reload.automatic
volumes:
- ./logstash/config:/etc/logstash/conf.d
ports:
- "5001:5001"
- "5044:5044"
networks:
- docker_elk
depends_on:
- elasticsearch
kibana:
image: docker.elastic.co/kibana/kibana:6.1.
volumes:
- /tmp/:/etc/archives/
- ./kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
# - /data/tt:/usr/share/kibana/plugins/
ports:
- "5601:5601"
networks:
- docker_elk
depends_on:
- elasticsearch
networks:
docker_elk:
driver: bridge

提前将插件下载到/data/tt目录下面。x-pack一定要安装到elasticsearch,下载x-pack:

# wget https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-6.1.3.zip

仅保留elasticsearch目录,其他的都删掉,并将elasticsearch重命名为x-pack

#mv elasticsearch  x-pack

重启elasticsearch。

修改系统参数:

vim /etc/sysctl.conf
vm.max_map_count= 使参数生效
sysctl -p

chown -R  1000:1000  /data/elasticsearch1

4、启动容器

在docker-compose文件的目录下:

#docker-compose  up  -d

5、配置nginx反向代理

server {
listen *:;
client_max_body_size 2048m;
client_body_timeout 300000000s;
send_timeout 3000000000s;
auth_basic "Protected Elasticsearch";
auth_basic_user_file /etc/nginx/.htpasswd;
access_log /var/log/nginx/elk_access.log;
error_log /var/log/nginx/elk_error.log; server_name elk.xget.com; location / {
proxy_pass http://10.10.1.2:5601;
proxy_read_timeout 200000s;
proxy_send_timeout 200000s;
} } server {
listen *:;
location / {
proxy_pass http://10.10.1.2:9200;
}
} server {
client_max_body_size 2048m;
client_body_timeout 300000000s;
send_timeout 300000000s;
listen *:;
location / {
proxy_pass http://10.10.1.2:9300;
proxy_read_timeout 20000s;
proxy_send_timeout 20000s;
}
}

FAQ:

1、启动过程elasticsearch报错,配置文件里面的x-pack相关配置,加载不了。此时可以先把配置文件里面x-pack相关想注释掉,启动后再添加上。然后重启elasticsearch。

2、kibana启动后访问界面,需要认证,可以在elasticsearch和kibana的配置文件里面添加如下内容,禁用认证:

xpack.security.enabled: false

docker-部署elk-6.1.3的更多相关文章

  1. Docker 部署 elk + filebeat

    Docker 部署 elk + filebeat kibana 开源的分析与可视化平台logstash 日志收集工具 logstash-forwarder(原名lubmberjack)elastics ...

  2. Docker 部署ELK之Sentinl日志报警

    前篇文章简单介绍了Docker 部署ELK,以及使用filebeat收集java日志.这篇我们介绍下日志报警配置,这里我们使用Sentinl插件. 1.修改kibana参数 进入elk容器,修改对应参 ...

  3. 利用docker部署elk交换机日志分析

    今天我们来聊一下利用docker部署elk日志分析系统,这里解析一下elk是啥东西.elk分别是Elasticsearch,Logstash和Kibana的首字母缩写. Elasticsearch是一 ...

  4. 被一位读者赶超,手摸手 Docker 部署 ELK Stack

    被一位读者赶超,容器化部署 ELK Stack 你好,我是悟空. 被奇幻"催更" 最近有个读者,他叫"老王",外号"茴香豆泡酒",找我崔更 ...

  5. Docker 部署ELK

    1.安装docker前安装pip sudo yum -y install epel-release sudo yum install python-pip 2.安装docker #安装依赖包 yum ...

  6. Linux实战(20):非docker部署ELK

    部署环境: Elasticsearch:7.5.2 Kibana:7.5.2 Logstash:7.5.2 filebeat:7.5.2 redis:最新版 部署方式:rpm+二进制包 使用架构 软件 ...

  7. Docker部署ELK之部署filebeat7.6.0(3)

    1. filebeat介绍 Filebeat是用于转发和集中日志数据的轻量级传送工具.Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logsta ...

  8. docker部署ELK日志处理

    docker环境下部署的ELK系统,日志处理,保留最近五个小时的日志 dockerlog.sh #!/bin/bash logs=`find /var/lib/docker/containers/ - ...

  9. Docker部署ELK 日志归集

    ELK ELK是Elasticsearch.Logstash.Kibana的缩写,使用ELK的原因是因为公司使用Spring cloud部署了多个微服务,不同的微服务有不同的日志文件,当生产上出现问题 ...

  10. Docker部署ELK 7.0.1集群之Logstash安装介绍

    1.下载镜像 [root@vanje-dev01 ~]# docker pull logstash: 2.安装部署 2.1  创建宿主映射目录 [root@vanje-dev01 ~]# mkdir ...

随机推荐

  1. 谷歌的java文本差异对比工具

    package com.huawei.common.transfertool.utils; /** * @author Paul * @version 0.1 * @date 2018/12/11 * ...

  2. Eclipse新建工作空间,复制原有的配置

    步骤一: File->Switch workspace->Other...,按下图选择 只复制简单的配置,如cvs之类的信息是不会复制的.     步骤二: 在方法一的基础上做如下操作  ...

  3. 第二天:Javascript事件

    事件:是可以被Javascript侦测到的行为,例如鼠标的点击,鼠标的移动,常见的事件如下   代码实现“点击事件”: <body> <button onclick="de ...

  4. [ASE][Daily Scrum]11.06

    我们的<坦克大战·无尽>正式开始动工了,今天的任务计划如下~ [Plan] View Shilin Liu 搭建好开发环境 收集素材         Control Jiafan Zhu ...

  5. 第42件事 移动App设计的11大法则

    移动App设计的重要法则指的是我们在设计App需要遵守的一些设计规范和法则,这些法则就好像一些行为规范一样. 1.导航手机客户端上的主导航(一级导航)如图6-22所示. 对图6-22中所示的几个主导航 ...

  6. C# webservice服务跟踪调试方法(转)

    1.新建网站,添加服务,并创建服务. 2.打开internet 信息服务管理器,添加网站,映射到创建的服务所在网站的目录. 3.打开服务所在网站的解决方案,进行配置. 1) 设置启动选项 选择启动操作 ...

  7. 一不小心发现了个Asp.Net Bug

    1. Ver是页面定义的变量 2. asp.net 页面定义为  <link href="/company/them/page.css?v=<%=Ver%>" r ...

  8. WPF学习笔记(5):两个DataGrid的滚动条实现同步滚动

    效果:两个DataGrid的滚动条实现同步滚动. 代码参考了博客园chuncn的文章<.net中同步多个ScrollViewer滚动的四种方法>,原文是针对ListBox的.现改为针对Da ...

  9. UWP 取消GridView、ListView鼠标选中、悬停效果

    因为经常碰到ListView或者ListBox之类的选中.鼠标悬停样式和自己设置的主题颜色不搭,这时就需要改变这些样式了. 而这里我通过ListView来说明,大致思路其实就是重新定义Item的Tem ...

  10. AJPFX平台:外汇的基本面分析

    AJPFX平台:开设外汇保证金交易账户以及入金之后,通常就可以开始交易了,但是在选择买卖时点时通常会依据两种分析,两种主要分析方法通常会被称为基本面分析和技术分析.基本面分析注重金融,经济理论和政局发 ...