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中定义和启动的每一 ...
随机推荐
- 单机最快的队列Disruptor解析和使用
前言 介绍高性能队列Disruptor原理以及使用例子. Disruptor是什么? Disruptor是外汇和加密货币交易所运营商 LMAX group 建立高性能的金融交易所的结果.用于解决生产者 ...
- SRS+Docker部署教程
SRS+Docker部署教程 安装Docker Windows安装docker 安装Hyper-V Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Win ...
- python内在模块之winreg --- Windows 注册表访问
winreg --- Windows 注册表访问¶ 这些函数将 Windows 注册表 API 暴露给 Python.为了确保即便程序员忽略了显式关闭句柄,该句柄依然能够正确关闭,它使用了一个 han ...
- 通过python修改本地ip
写在前面, 1 对于个人公司需要固定ip,而回家需要用到家里的ip, 2对于公司it人员,每台电脑都需要设置ip,,尤其批量的时候,这个作为it的自己知道 3运维人员,可以通过ip测试哪些ip可以用, ...
- [Web Server]Tomcat调优之SpringBoot内嵌Tomcat源码分析
以springboot:2.3.12.RELEASE中内嵌的tomcat-embed-core:9.0.46为例,进行分析 1 概述 1.0 关键依赖包 spring-boot-autoconfigu ...
- [python] Python枚举模块enum总结
枚举是一种数据类型,在编程中用于表示一组相关的常量.枚举中的每个常量都有一个名称和一个对应的值,可以用于增强代码的可读性和可维护性.在Python中,枚举是由enum模块提供的,而不是Python提供 ...
- vue3组合式API介绍
为什么要使用Composition API? 根据官方的说法,vue3.0的变化包括性能上的改进.更小的 bundle 体积.对 TypeScript 更好的支持.用于处理大规模用例的全新 API,全 ...
- 真实场景sql优化持续更新(老司机必备)
概述 下述场景,均来自实际产品线上经验,出于保密考量,所有需求场景都是仿造的,模拟遇到过的真实场景. 场景一: 统计数据(Order by 不具备唯一性导致的分页数据混乱) 需求 在实际业务场景中,我 ...
- Python + 超级鹰 识别图形验证码
前言: 一.下载 1.进入官网:http://www.chaojiying.com/,注册完成后,进行登录 2.点击开发文档,点击Python语言示例 3.进行示例下载 4.解压后的文件 注:关注公众 ...
- 2021-12-18:找到字符串中所有字母异位词。 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成
2021-12-18:找到字符串中所有字母异位词. 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引.不考虑答案输出的顺序. 异位词 指由相同字母重排列形成 ...