资讯专栏INFORMATION COLUMN

使用 docker-compose 搭建一个 elk 系统

txgcwm / 2042人阅读

摘要:找了不少使用搭建的博客英文的阅读吃力不说镜像源也是慢的让人头皮发麻因此重新编排了一个源都是从上找的即使拉的国内镜像源应该也能很好的支持了吧环境给每个容器最少分配的内存软件版本启动前的配置在各个目录下都有对应的配置根据各自的情况自行处

找了不少使用 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

引入 kafka 做缓冲

搭建 es 集群

github 地址

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27422.html

相关文章

  • 用Docker镜像搭建ELK环境

    摘要:之前在上尝试过搭建环境,并将或中的数据导入到中。现在用提供的镜像可以快速的完成这一操作。需要注意的是的需要设置为,如下图否则,连接数据库时会被拒绝连接。另外记得创建一个测试库和表,用于测试的导入功能。 之前在Windows上尝试过搭建ELK环境,并将MySQL或SQLServer中的数据导入到Elasticsearch中。现在用Docker提供的镜像可以快速的完成这一操作。 环境说明...

    546669204 评论0 收藏0
  • 生产环境中使用Docker Swarm的一些建议

    摘要:译者按实践中会发现,生产环境中使用单个节点是远远不够的,搭建集群势在必行。集群的网络通信服务发现,负载均衡以及容器间通信非常可靠。负载均衡也是由提供的。 译者按: 实践中会发现,生产环境中使用单个Docker节点是远远不够的,搭建Docker集群势在必行。然而,面对Kubernetes, Mesos以及Swarm等众多容器集群系统,我们该如何选择呢?它们之中,Swarm是Docker原...

    loonggg 评论0 收藏0
  • 你离ELK只有一句docker-compose的距离

    摘要:但有一个问题就是对于一个初学者如此洁净的环境,我完全不知道从何入手,也弄不清这个框架的优势是什么连个样本都没有。还有的配置,的接入都踩过不少坑,才部署成一个像样的学习环境。之后在写脚本的时候又是各种踩雷,终于实现了快速一键部署。 引言 刚接触Elk的时候,我用https://github.com/deviantony/docker-elk,部署了第一个测试环境,这是一个很优秀的项目,几...

    red_bricks 评论0 收藏0

发表评论

0条评论

txgcwm

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<