docker-compose单服务器部署ELK
docker-compose 部署ELK
- 本项目采用的ELK版本为6.5.3,7.0+ 以上的版本部分配置不适合,请查看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
常见问题
- 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
- 如果出现无权限问题
chmod -R 777 /data/elk
- docker 显示open permission denied
关闭SELinux
#查看SELinux状态(如果SELinux status参数为enabled即为开启状态)
/usr/sbin/sestatus -v
#修改配置文件重启机器禁用(将SELINUX=enforcing改为SELINUX=disabled)
vim /etc/selinux/config
- creating overlay mount to invalid argument
修改/etc/sysconfig/docker-storage
把其中的overlay2 修改成overlay
执行:
systemctl daemon-reload
service docker restart
注意:修改后原镜像会无效,因为类似修改了文件存储路径
docker-compose单服务器部署ELK的更多相关文章
- Docker Compose 项目打包部署
Docker Compose 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build.docker run 等命令操作容器.然而微服务架构的应用系统一 ...
- Docker Compose编排工具部署lnmp实践及理论(详细)
目录 一.理论概述 编排 部署 Compose原理 二.使用docker compose 部署lnmp 三.测试 四.总结 一.理论概述 Docker Compose是一个定义及运行多个Docker容 ...
- 【开源社交系统研发日记】利用 Docker 包 Laradock 服务器部署 Laravel & ThinkSNS+ 等程序实战(多项目)
什么是ThinkSNS+ ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+. 前段时间不知道抽上面疯 ...
- 利用 Docker 包 Laradock 服务器部署 Laravel & ThinkSNS+ 等程序实战(多项目)
什么是ThinkSNS+ ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+.ThinkSNS V4. ...
- Centos 7部署大众点评CAT(一)——单服务器部署
前一篇拙作上传的时间已经过去2个月了,中间并不是闲着...主要是忙着学习各种组件的安装,写了几篇安装心得存在硬盘里. 最近尝试了点评开源的CAT监控平台的安装,并且希望能够引入到工作中.在部署实践的过 ...
- Nginx单服务器部署多个网站,域名
转载csdn: https://blog.csdn.net/yaologos/article/details/113356620 转载亿速云: https://www.yisu.com/zixun/1 ...
- Docker Compose 部署前后端分离应用
部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...
- 利用docker部署elk交换机日志分析
今天我们来聊一下利用docker部署elk日志分析系统,这里解析一下elk是啥东西.elk分别是Elasticsearch,Logstash和Kibana的首字母缩写. Elasticsearch是一 ...
- 使用Prometheus监控docker compose方式部署的ES
需求 收集 ES 的指标, 并进行展示和告警; 现状 ES 通过 docker compose 安装 所在环境的 K8S 集群有 Prometheus 和 AlertManager 及 Grafana ...
- Docker 核心技术之Docker Compose
Docker Compose 简介 Docker Compose是什么? Docker Compose是一个能一次性定义和管理多个Docker容器的工具. 详细地说: Compose中定义和启动的每一 ...
随机推荐
- C#泛型的逆变协变(个人理解)
前编 一般来说, 泛型的作用就类似一个占位符, 或者说是一个参数, 可以让我们把类型像参数一样进行传递, 尽可能地复用代码 我有个朋友, 在使用的过程中发现一个问题 IFace<object&g ...
- webrtc QOS笔记三 RTT计算,SRS增加XR
webrtc QOS笔记三 RTT计算,SRS增加XR RTT计算方式 WebRTC中目前有两种方式计算RTT: 基于媒体流发送端的计算(默认开启).通过Sender Report(SR)与Recei ...
- python入门教程之九日期时间常用操作
Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间间隔是以秒为单位的浮点小数. 每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示. Py ...
- 6.理解Jwt代码
1.昨天主要是对Jwt的代码里面不熟悉的代码进行了简要的理解,发现其实有些流程并不是普通程序员自己写的,而是自己进行拓展,这些流程是开源程序员写的开发流程:我发现这些代码一般要么是父类的方法实现,要么 ...
- kettle从入门到精通 第十一课 kettle javascript 解析json数组
1.json步骤虽然可以解析json数组,但是不够灵活.通过javascript步骤来解析json数组比较灵活,且可以按照需要组装数据流转到下个步骤. 1)步骤名称:可以自定义 2)Transform ...
- RabbitMQ详解(下)
一:序 通过<RabbitMQ详解(上)>一文中,我们可以知道RabbitMQ的一些基本的原生用法,如交换机的创建及消息的投递,但是在企业中我们大部分都是把RabbitMQ集成到Sprin ...
- Django框架——可视化界面之数据增删改查、Django请求生命周期、Django路由层、反向解析
可视化界面之数据增删改查 针对数据对象主键字段的获取可以使用更加方便的 obj.pk获取 在模型类中定义双下str方法可以在数据对象被执行打印操作的时候方便的查看 ''' form表单中能够触发调剂动 ...
- 基于pyinstaller的python打包工具
以下是软件链接:https://mysecreat.lanzoub.com/iZPGf0swgtbc 软件功能:可以对py文件进行打包,功能基于pyinstaller模块,因此需要安装python环境 ...
- Windows的Mysql5.7社区版的安装详细操作,从无到有,安装配置一条龙服务。(压缩包自行安装,非installer安装)
换了一个电脑,所有软件.环境都得重新来安装一次,安装到Mysql的时候,发现网上有两种安装方式,一种是Mysql的压缩包安装方式,这种方式直接到官网下载Mysql的压缩包,解压之后做些配置就可以了,另 ...
- DVWA文件上传
Low安全级别: <?php @eval($_POST['cmd']);?> 文本编辑器写入一句话木马,保存并改为php文件. 上传 成功上传,并返回路径 打开菜刀客户端连接 成功连接 反 ...