使用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 地址

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

(0)

相关推荐

  • Docker-compose部署ELK的示例代码

    环境 主机IP 192.168.0.9 Docker version 19.03.2 docker-compose version 1.24.0-rc1 elasticsearch version 6.6.1 kibana version 6.6.1 logstash version 6.6.1 一.ELK-dockerfile文件编写及配置文件 ● elasticsearch 1.elasticsearch-dockerfile FROM centos:latest ADD elasticse

  • 使用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.* 启动前的配置 在各

  • Docker Compose 搭建简单的Python网络应用程序(步骤详解)

    目录 前提条件 第1步:设置 第2步:创建一个Dockerfile 第3步:在Compose文件中定义服务 Web服务 Redis服务 第4步:用Compose构建和运行你的应用 第5步:编辑Compose文件以添加绑定挂载 第6步:用Compose重新构建并运行应用程序 第7步:更新应用程序 第8步:试验一些其他命令 在这个页面上,你可以建立一个简单的Python网络应用程序,运行在Docker Compose上.该应用使用Flask框架,并在Redis中维护一个点击计数器.虽然样本使用了Py

  • Docker Compose搭建Wordpress服务实现详解

    目录 前言 编写docker-compose.yaml 注意点 前言 最近在研究wordpress独立建站,在项目部署的时候也踩了一些坑,为了避免再次踩坑,特此通过此文章记录一下. 编写docker-compose.yaml 此次建站采用的是docker compose的方式来部署wordpress项目,我们可以进入DockerHub官网找到wordpress镜像: 根据官方文档提供的信息,最终我们可以编写出如下docker-compose.yaml: version: "3.1" s

  • 使用docker compose搭建consul集群环境的例子

    consul基本概念 server模式和client模式 server模式和client模式是consul节点的类型:client不是指的用户客户端. server模式提供数据持久化功能. client模式不提供持久化功能,并且实际上他也不工作,只是把用户客户端的请求转发到server模式的节点.所以可以把client模式的节点想象成LB(load balance),只负责请求转发. 通常server模式的节点需要配置成多个例如3个,5个.而client模式节点个数没有限制. server模式启

  • 如何使用 docker compose 搭建 fastDFS文件服务器

    上篇文章给大家介绍了使用docker compose安装FastDfs文件服务器的实例详解 今天给大家介绍如何使用 docker compose 搭建 fastDFS文件服务器,内容详情如下所示: 平台 :Mac M1 备注:关于 IP Address 关于 docker 的网络模式,上述文中提到了 docker 的 Host 模式: 如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个 Network Namespace.

  • 详解用Docker快速搭建一个博客网站

    目录 一.准备工作 二.部署流程  三.访问测试 Halo 是一款现代化的个人独立博客系统,给习惯写博客的同学多一个选择. 官网地址:https://halo.run/ 一.准备工作 本章教程基于Docker搭建,所以需要你提前在服务器上安装好Docker环境. Docker安装教程:https://www.jb51.net/article/94067.htm 二.部署流程 (1)创建工作目录 mkdir ~/.halo && cd ~/.halo (2)下载配置文件到工作目录 wget

  • 详解docker compose搭建lnmpr环境实现

    目录 使用docker-compose搭建lnmpr环境 介绍 软件架构 Compose 简介 具体文件内容docker-compose.yml 使用说明 使用docker-compose搭建lnmpr环境 本文环境 docker20.10,PHP8.1(含扩展)+ Nginx1.22 + MySQL8.0 + Mongo6.0 + Redis6.0 + Swoole2.0 介绍 docker-compose搭建PHP8.1(含扩展)+ Nginx1.22 + MySQL8.0 + Mongo6

  • 使用docker快速搭建Spark集群的方法教程

    前言 Spark 是 Berkeley 开发的分布式计算的框架,相对于 Hadoop 来说,Spark 可以缓存中间结果到内存而提高某些需要迭代的计算场景的效率,目前收到广泛关注.下面来一起看看使用docker快速搭建Spark集群的方法教程. 适用人群 正在使用spark的开发者 正在学习docker或者spark的开发者 准备工作 安装docker (可选)下载java和spark with hadoop Spark集群 Spark运行时架构图 如上图: Spark集群由以下两个部分组成 集

  • Docker快速搭建Redis集群的方法示例

    什么是Redis集群 Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能. 节点 一个Redis集群通常由多个节点(node)组成,在刚开始的时候,每个节点都是相互独立的,它们都处于一个只包含自己的集群当中,要组建一个真正可工作的集群,我们必须将各个独立的节点连接起来,构成一个包含多个节点的集群. 集群配置 配置文件 下载配置文件:https://raw.githubusercontent.com/antirez/redis

  • 在云服务器上使用iis搭建一个ftp站点的方法图解

    如果你的服务器还没安装ftp功能,册需要先安装ftp服务: 1.打开服务器管理器>添加角色和功能 2.安装完以后打开iis管理器,我这里安装的是iis6 3.右键'网站'>添加ftp站点 设置名字和物理路径 4.选择ip 5.选择权限:读取.写入:基本身份验 完成 现在可是试着在pc端链接ftp,使用leadftp leadftp解压后可直接使用,选择站点>站点管理器 输入服务器ip,登录服务器时的用户名和密码链接,默认端口是21 左侧是你本地地址,右侧是服务器ftp地址,可双击上传或下

随机推荐