安装

首先安装 DockerDocker-Compose 相关的组件,我们这里直接使用准备好的 ELK 镜像,执行以下命令从 Dockerhub 上拉取指定版本的镜像,在本例当中我使用的是 7.40 版本。

docker pull sebp/elk:740

配置

为其编写 docker-compose.yaml 文件,内容如下:

version: '3.7'
services:
nginx:
image: nginx
container_name: nginx
ports:
- 80:80
- 443:443
networks:
- internal-network
volumes:
- /root/Volumes/Nginx/nginx.conf:/etc/nginx/nginx.conf
- /root/Volumes/Nginx/Configs:/etc/nginx/conf.d
restart: always
elk:
image: sebp/elk:740
container_name: elk
ports:
- 9200:9200
- 5044:5044
expose:
- 5601
networks:
- internal-network
volumes:
- /opt/elk-data:/var/lib/elasticsearch
- /etc/localtime:/etc/localtime
depends_on:
- nginx
ulimits:
nproc: 262144
nofile:
soft: 262144
hard: 262144
memlock: 9223372036854775807
restart: always networks:
internal-network:
external: true

上面的 Yaml 文件内容大概意思就是开放 ELK 的 9200 与 5400 端口,然后使用 Nginx 代理 Kibana Dashboard,并且将相关的数据卷挂载了出来。

这里需要注意的是,我配置了 ulimits 节,这是因为 ELK 在启动的时候会检测相关内核参数,除了在 Yaml 编写还不够,还得变更宿主机的相关参数。关于这些参数的内容变更,请参考以下内容:

变更 /etc/security/limits.conf 文件,为其追加以下内容:

* soft nofile 204800
* hard nofile 204800
* soft nproc 204800
* hard nproc 204800 * soft memlock unlimited
* hard memlock unlimited

跳转到 /etc/security/limits.d 目录下,修改相应的 conf 文件,为其追加以下内容:

* soft nproc unlimited
* hard nproc unlimited

除了上述操作以外,还需要变更内核参数,执行以下命令即可。

echo "vm.max_map_count=262144" > /etc/sysctl.conf
sysctl -p

最后重启服务器,以上内容都是基于 CentOS 7.x 进行编写。

运行

安装好 docker-compose 工具以后,直接在 Yaml 文件的根目录运行 docker-compose up -d 即可。如果正常的话,访问对应的机器即可。

Docker 安装 ELK的更多相关文章

  1. Docker安装ELK并实现JSON格式日志分析

    ELK是什么 ELK是elastic公司提供的一套完整的日志收集以及前端展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch.Logstash和Kibana. 其中Logstash ...

  2. Docker 安装ELK之 zz

    Docker 安装ELK之(2)   加新 2018-10-24 16:23:08 浏览2006 docker LOG js Image service   先安装Docker [root@jiaxi ...

  3. [转]docker安装elk

    来源 https://www.jianshu.com/p/f549017c4b60   问题:virtual memory areas vm.max_map_count [65530] likely ...

  4. 使用Docker安装ELK系列(超简单)

    root权限 docker版本:1.13.1 ELK版本:6.4.3 项目中均关闭X-Pack 一.安装Elasticsearch 新建elasticsearch目录,并再其下新建文件config/e ...

  5. Docker安装ELK

    1.下载elk docker pull sebp/elk 2.启动elk //Elasticsearch至少需要单独2G的内存 //增加了一个volume绑定,以免重启container以后ES的数据 ...

  6. 【Docker】:docker安装ELK(logstash,elasticsearch,kibana)

    一:安装logstash 1.拉取镜像 docker pull logstash:5.6.11 2.创建目录 mkdir /docker/logstash cd /docker/logstash 3. ...

  7. docker 安装elk

    https://www.cnblogs.com/fbtop/p/11005469.html

  8. Docker 部署ELK

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

  9. Docker安装部署ELK教程(Elasticsearch+Kibana+Logstash+Filebeat)

    Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开 ...

随机推荐

  1. Windows 10搭建Apache2.4 + PHP7 + MySQL环境

    一.准备 1.资源 Apache https://www.apachelounge.com/download/ PHP http://windows.php.net/download#php-7.0 ...

  2. JDK 原生动态代理是怎么实现的 + 面试题

    JDK 原生动态代理是怎么实现的 + 面试题 反射 反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect)的能力.简单来说就是通过反射,可以在运行期间获取.检测和调 ...

  3. K8S提示Init:ImagePullBackOff

    [root@master opt]# kubectl get pods -n kube-system NAME READY STATUS RESTARTS AGE coredns-9d85f5447- ...

  4. Vue 常用三种传值方式

    Vue常用的三种传值方式: 父传子 子传父 非父子传值 引用官网一句话:父子组件的关系可以总结为 prop 向下传递,事件向上传递.父组件通过 prop 给子组件下发数据,子组件通过事件给父组件发送消 ...

  5. js笔记(5)--location的用法

    !DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&g ...

  6. Oracle笔记(1)--emp表查询(1)

    (1)截取函数--TRUNC() 的用法 SELECT  TRUNC(789.652) 截取小数, TRUNC(789.652,2) 截取两位小数, TRUNC(789.652,-2) 取整 FROM ...

  7. CCF_201612-4_交通规划

    http://115.28.138.223/view.page?gpid=T44 好像也没想象中的那么难,没办法,当初连个优先队列dij都不会写= = 在优先队列dij算法上加上相等的时候的处理就可以 ...

  8. JFrame的getContentPane

    我们可以在 JFrame 对象中添加 AWT 或者 Swing 组件.但是,虽然它有 add 方法,却不能直接用于添加组件,否则会抛出异常.造成这个现象的原因只有一个解释:JFrame 不是一个容器, ...

  9. 源码详解系列(八) ------ 全面讲解HikariCP的使用和源码

    简介 HikariCP 是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制.连接可靠性测试.连接泄露控制.缓存语句等功能,另外,和 dr ...

  10. Maven项目pom文件的节点释意

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...