docker-compose搭建ELK环境

  • ELK日志收集分析系统,下面我们ES不做集群,并且是在一台机子上使用docker-compose部署启动
  • 新建docker-compose.yml配置文件如下
    #author luoye
    version: "3" #版本号
    services: 
      elasticsearch-1: #服务名称(不是容器名)
        image: elasticsearch  #使用的镜像
        ports:
          - "9200:9200"  #暴露的端口信息和docker run -d -p 80:80 一样
        restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用
        container_name: elasticsearch-1 #容器名称
      kibana: #服务名称(不是容器名)
        image: kibana  #使用的镜像
        ports:
          - "5601:5601"  #暴露的端口信息和docker run -d -p 80:80 一样
        restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用
        container_name: kibana #容器名称
        #挂载文件
        volumes:  
          - /usr/games/kibana.yml:/etc/kibana/kibana.yml
        links:
          - elasticsearch-1:es01  #容器关联es01是别名
      logstash: #服务名称(不是容器名)
        image: logstash  #使用的镜像
        restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用
        container_name: logstash #容器名称
        #挂载文件1.自定义配置文件 2.logstash启动配置文件 3.文件读取的挂载路径
        volumes:  
          - /usr/games/logstash.conf:/etc/logstash/conf.d/logstash.conf    
          - /usr/games/logstash.yml:/etc/logstash/logstash.yml   
          - /usr/games/1.txt:/etc/logstash/1.txt 
        links:
          - elasticsearch-1:es01 #容器关联es01是别名
  • kibana.yml配置文件如下

    elasticsearch.url: "http://es01:9200"
    server.host: "0.0.0.0"
  • logstash.yml配置如下

    path.config: /etc/logstash/conf.d
  • logstash.conf配置如下

    input {
    	file {
    		path => "/etc/logstash/1.txt" #读取的配置路径,是容器的路径,需要挂载
    		type => "docker-logstash"
    		start_position => "beginning" #从文件开始处读写
    	}
    }
    
    output{
    	elasticsearch{
    		hosts=>["es01:9200"]  
    		index => "logstash-%{+YYYY.MM.dd}"
    	}
    	stdout{codec => rubydebug}
    }
  • 启动执行命令,需要在当前文件下执行:

    • docker-compose up -d

转载于:https://my.oschina.net/xpx/blog/2222072

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值