使用docker compose搭建一个elk系统的方法

 更新时间:2018年08月21日 10:12:12   作者:只是一个id  
这篇文章主要介绍了使用docker-compose搭建一个elk系统的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

找了不少使用 docker-elk 搭建的博客, 英文的阅读吃力不说, 镜像源也是慢的让人头皮发麻, 因此重新编排了一个docker-compose,源都是从 https://hub.docker.com/ 上找的, 即使拉的国内镜像源应该也能很好的支持了吧?

环境

  • Docker 18.06.0-ce
  • docker-compose 1.22.0

给每个容器最少分配 1G 的内存

软件版本

  • logstash: 5.*
  • elasticsearch: 5.*
  • kibana: 5.*

启动前的配置

在各个目录下都有对应的 config 配置, 根据各自的情况自行处理

拿默认的 logstash/confg/test.conf 中的配置举例:

input {
   file {
     #这里的路径指的是 logstash 容器中的路径, 外部接入需要使用 volume 进行目录映射 
      path => "/logs/input/*"
   }

    # 在 logstash 容器中的输入
   stdin {}
   
   # 因为做了本地5000端口和容器5000端口进行绑定, 所以可以用 nc 工具测试一下
   # echo "Test Logstash TCP Input Plugin" | nc localhost 5000
   tcp {
      type => "tcp"
      port => 5000
      mode => "server"
   }
}

output {
   file {
     #这里的路径指的是 logstash 容器中的路径, 外部接入需要使用 volume 进行目录映射
      path => "/logs/output/%{+yyyy-MM-dd-HH}/%{host}.log"
   }
   stdout {
      codec => rubydebug
   }
   elasticsearch {
    hosts => "elasticsearch:9200"
    # 这里设置的 index 在 kibana 中会用到
      index => "file-log-%{+YYYY.MM}" 
  }
}

启动容器

执行

git clone https://github.com/gaopengfei123123/docker-elk.git && cd docker-elk
docker-compose up -d --build

等一会看到执行成功的提示

Creating docker-elk_elasticsearch_1 ... done
Creating docker-elk_logstash_1   ... done
Creating docker-elk_kibana_1    ... done

在本地浏览器输入 http://localhost:5601/ 进入 kibana 界面

注意, 第一次启动时有可能会出现提示 elasticsearch not found 这类的问题, 可以先等个一两分钟刷新一下就好了, 如果还是不行就谷歌或者提 issue 解决一下

同目录下输入

docker-compose stop

则停止所有服务

测试一下

logs/input/ 目录下新增个 test.log 文件, 然后输入点东西验证一下, 或者命令行执行echo "Test Logstash TCP Input Plugin" | nc localhost 5000 通过 tcp 发送日志

docker-compose logs -f

查看各容器日志输出

TODO

  1. 引入 kafka 做缓冲
  2. 搭建 es 集群

github 地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Docker desktop中文设置方法步骤

    Docker desktop中文设置方法步骤

    这篇文章主要给大家介绍了关于Docker desktop中文设置的方法步骤,Docker Desktop默认使用英文界面,要设置为中文界面,请按照以下步骤操作,需要的朋友可以参考下
    2024-03-03
  • docker中run命令30个常用参数详解和示例

    docker中run命令30个常用参数详解和示例

    这篇文章主要给大家介绍了关于docker中run命令30个常用参数的相关资料,docker run命令是Docker中最常用的命令之一,用于创建并启动一个新的容器实例,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Docker设置日志滚动的解决方案

    Docker设置日志滚动的解决方案

    Docker容器默认将日志写入同一文件,可能导致磁盘满,解决方案包括修改全局docker.service配置或针对特定容器修改hostconfig.json,下面给大家介绍Docker设置日志滚动的解决方案,感兴趣的朋友跟随小编一起看看吧
    2024-10-10
  • docker运行nginx不生效的解决办法

    docker运行nginx不生效的解决办法

    当docker运行nginx镜像时,设置端口映射,则只有该映射端口起作用,nginx配置的其他端口无效,接下来本文将给大家介绍docker运行nginx不生效的解决办法,文中有相关的代码示例供大家参考,需要的朋友可以参考下
    2024-01-01
  • 如何使用docker搭建upload-labs

    如何使用docker搭建upload-labs

    upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场,旨在帮助大家对上传漏洞有一个全面的了解,本文给大家介绍使用 Docker 搭建 upload-labs 的步骤,感兴趣的朋友一起看看吧
    2024-03-03
  • CentOS7.3中Docker的安装教程

    CentOS7.3中Docker的安装教程

    Docker 是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。这篇文章主要给大家介绍CentOS7.3中Docker的安装教程,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2017-04-04
  • 详解ASP.NET Core 网站在Docker中运行

    详解ASP.NET Core 网站在Docker中运行

    本篇文章主要介绍了详解ASP.NET Core 网站在Docker中运行,非常具有实用价值,需要的朋友可以参考下
    2017-05-05
  • Docker搭建并启动Logstash的实现方式

    Docker搭建并启动Logstash的实现方式

    这篇文章主要介绍了Docker搭建并启动Logstash的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Docker 部署 Minio 对象存储服务器的过程详解

    Docker 部署 Minio 对象存储服务器的过程详解

    Minio是一个轻量级的应用程序,可以在各种环境中运行,包括公共云、私有云和混合云,这篇文章主要介绍了Docker 部署 Minio 对象存储服务器的过程详解,需要的朋友可以参考下
    2024-07-07
  • Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

    Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

    这篇文章主要介绍了Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论