docker-compose 部署ELK

目录结构

elk
|--docker-compose.yml
|--elasticsearch
| |--es-master
| |--es-slave1
| |--es-slave2
|--logstash
| |--config
| |--logstash.conf
| |--logstash.yml
|--kibana

创建docker公用网络

docker network create --driver bridge --subnet 172.23.0.0/25 --gateway 172.23.0.1  elk_network

编辑docker-compose.yml

version: "3"
services:
es-master:
image: elasticsearch:6.5.3
container_name: es-master
environment:
- cluster.name=es-cluster
- node.name=es-master
- node.master=true
- node.data=false
- http.cors.enabled=true
- http.cors.allow-origin=*
- bootstrap.memory_lock=true
- ES_JAVA_OPTS=-Xms1g -Xmx1g
ports:
- "19200:9200"
expose:
- "9200"
- "9300"
restart: always
volumes:
- ./elasticsearch/es-master:/usr/share/elasticsearch/data:rw
networks:
default:
ipv4_address: 172.23.0.41
es-slave1:
image: elasticsearch:6.5.3
container_name: es-slave1
depends_on:
- es-master
environment:
- cluster.name=es-cluster
- node.name=es-slave1
- node.master=false
- node.data=true
- discovery.zen.ping.unicast.hosts=es-master
- bootstrap.memory_lock=true
- ES_JAVA_OPTS=-Xms1g -Xmx1g
ports:
- "19201:9200"
expose:
- "9300"
restart: always
volumes:
- ./elasticsearch/es-slave1:/usr/share/elasticsearch/data:rw
networks:
default:
ipv4_address: 172.23.0.42
es-slave2:
image: elasticsearch:6.5.3
container_name: es-slave2
depends_on:
- es-master
environment:
- cluster.name=es-cluster
- node.name=es-slave2
- node.master=false
- node.data=true
- discovery.zen.ping.unicast.hosts=es-master
- bootstrap.memory_lock=true
- ES_JAVA_OPTS=-Xms1g -Xmx1g
ports:
- "19202:9200"
expose:
- "9300"
restart: always
volumes:
- ./elasticsearch/es-slave2:/usr/share/elasticsearch/data:rw
networks:
default:
ipv4_address: 172.23.0.43
kibana:
image: kibana:6.5.3
container_name: kibana
depends_on:
- es-master
restart: always
environment:
- ELASTICSEARCH_URL=http://es-master:19200
- I18N_LOCALE=zh-CN
ports:
- "15601:5601"
networks:
default:
ipv4_address: 172.23.0.51
logstash:
image: logstash:6.5.3
container_name: logstash
ports:
- "9601:9600"
restart: always
environment:
- XPACK_MONITORING_ENABLED=false
volumes:
- ./logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf:rw
- ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:rw
depends_on:
- es-master
- es-slave1
- es-slave2
networks:
default:
ipv4_address: 172.23.0.31
networks:
default:
external:
name: elk_network

常见问题

  1. bootstrap checks failed 或者 memory locking requested for elasticsearch process but memory is not locked
vi /etc/systemd/system.conf
最下方添加:
DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity reboot
  1. 如果出现无权限问题
chmod -R 777 /data/elk
  1. docker 显示open permission denied
关闭SELinux

#查看SELinux状态(如果SELinux status参数为enabled即为开启状态)
/usr/sbin/sestatus -v #修改配置文件重启机器禁用(将SELINUX=enforcing改为SELINUX=disabled)
vim /etc/selinux/config
  1. creating overlay mount to invalid argument
修改/etc/sysconfig/docker-storage
把其中的overlay2 修改成overlay
执行:
systemctl daemon-reload
service docker restart 注意:修改后原镜像会无效,因为类似修改了文件存储路径

docker-compose单服务器部署ELK的更多相关文章

  1. Docker Compose 项目打包部署

    Docker Compose 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build.docker run 等命令操作容器.然而微服务架构的应用系统一 ...

  2. Docker Compose编排工具部署lnmp实践及理论(详细)

    目录 一.理论概述 编排 部署 Compose原理 二.使用docker compose 部署lnmp 三.测试 四.总结 一.理论概述 Docker Compose是一个定义及运行多个Docker容 ...

  3. 【开源社交系统研发日记】利用 Docker 包 Laradock 服务器部署 Laravel & ThinkSNS+ 等程序实战(多项目)

    什么是ThinkSNS+ ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+. 前段时间不知道抽上面疯 ...

  4. 利用 Docker 包 Laradock 服务器部署 Laravel & ThinkSNS+ 等程序实战(多项目)

    什么是ThinkSNS+ ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+.ThinkSNS V4. ...

  5. Centos 7部署大众点评CAT(一)——单服务器部署

    前一篇拙作上传的时间已经过去2个月了,中间并不是闲着...主要是忙着学习各种组件的安装,写了几篇安装心得存在硬盘里. 最近尝试了点评开源的CAT监控平台的安装,并且希望能够引入到工作中.在部署实践的过 ...

  6. Nginx单服务器部署多个网站,域名

    转载csdn: https://blog.csdn.net/yaologos/article/details/113356620 转载亿速云: https://www.yisu.com/zixun/1 ...

  7. Docker Compose 部署前后端分离应用

    部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...

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

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

  9. 使用Prometheus监控docker compose方式部署的ES

    需求 收集 ES 的指标, 并进行展示和告警; 现状 ES 通过 docker compose 安装 所在环境的 K8S 集群有 Prometheus 和 AlertManager 及 Grafana ...

  10. Docker 核心技术之Docker Compose

    Docker Compose 简介 Docker Compose是什么? Docker Compose是一个能一次性定义和管理多个Docker容器的工具. 详细地说: Compose中定义和启动的每一 ...

随机推荐

  1. 正态分布密度函数的动画演示—R语言

    正态分布是概率统计中最重要的一种分布,其重要性我们可以从以下两方面来理解:一方面,正态分布是自然界最常见的一种分布.一般说来,若影响某一数量指标的随机因素很多,而每个因素所起的作用都不太大,则这个指标 ...

  2. [Nginx/Linux/CENTOS]安装Nginx

    1 基本信息 服务器OS : Linux CENTSO 7.9 待安装的Nginx版本: NGINX 15.12 2 安装过程 step1 下载安装包 # cd /usr/local/software ...

  3. 开源Apinto网关-流量策略

    背景介绍 Apinto是一款高性能.可扩展.易维护的API网关. Apinto网关基于GO语言模块化开发,5分钟极速部署,配置简单.易于维护,支持集群与动态扩容,企业级开箱即用.Apinto除了提供丰 ...

  4. Java 8新特性之 Optional 类

    前言 java.util.Optional 是java8中引进的一个新的类,我们通过Optional类的源码可以看到,该方法的作用可以对可能缺失的值进行建模,而不是直接将null赋值给变量. Opti ...

  5. 如何在微信小程序中实现音视频通话

    微信小程序的音视频通话可以通过微信提供的实时音视频能力实现.这个能力包括了音视频采集.编码.传输和解码等多个环节,开发者只需要使用微信提供的 API 接口就可以轻松地实现音视频通话功能. 在具体实现上 ...

  6. HTTP.sys漏洞的检测和修复(附补丁包下载)

    关于这个 HTTP.sys 漏洞,查了一些资料,没有一个写的比较全的,下面我来整理下. 这个漏洞主要存在Windows+IIS的环境下,任何安装了微软IIS 6.0以上的Windows Server ...

  7. python语法的入门

    1.变量 1.1: 底层原理:现在内存空间申请一块地址来储存变量值, 然后把申请的内存地址跟变量名绑定在一起 之后只需通过访问变量名就可以获取变量值 1.2:一个变量名只能指向一个内存地址,但是一个内 ...

  8. ViewGroup的TouchTarget设计思维

    TouchTarget需要创建的时候先看下池子里面有没有被回收上来的,如果没有可以利用的就给你创建一个新的,否则就从池子里面把头部的那个可以利用的给你,你把你的东西放进去就行了.回收的时候就是把你放在 ...

  9. 机器学习(六):回归分析——鸢尾花多变量回归、逻辑回归三分类只用numpy,sigmoid、实现RANSAC 线性拟合

    [实验1 回归分析] 一. 预备知识 使用梯度下降法求解多变量回归问题 数据集 Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例.数据集内包含 3 类共 150 条记录 ...

  10. layUI之DataTable组件V1.0(父子表管理传值/数据表格与select&laydate结合等)

    layUI之DataTable数据表格组件V1.0 目录 layUI之DataTable数据表格组件V1.0 概述 一.下载与引用 二.组件功能介绍 三.父表格渲染 1. HTML中声明空table一 ...