• Docker 安装 ELK


    安装

    首先安装 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 即可。如果正常的话,访问对应的机器即可。

  • 相关阅读:
    swift mac 使用git, 并使用osc, 打开当前目录命令在终端输入 open . windows 下为start .
    压力测试-jmeter
    nginx在线与离线安装
    数据库架构简要解析
    maven-build-downloading
    springboot-权限控制shiro(二)
    mysql8报错解析
    springboot-权限控制shiro(一)
    pycharm问题解析(connecting to console)
    springboot-热部署Jrebel
  • 原文地址:https://www.cnblogs.com/myzony/p/12206073.html
Copyright © 2020-2023  润新知