使用docker搭建elk

使用docker搭建elk

安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装elk

  1. 安装e (elasticsearch)

    # 下载镜像 查看镜像
    docker pull elasticsearch:7.1.1
    docker images
    
  2. 创建自定义网络

    # 创建自定义的网络(用于连接到连接到同一网络的其他服务(例如Kibana))
    docker network create somenetwork 
    
    # 运行 elasticsearch
    docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.1.1
    
    # 查看容器状态
    docker ps
    
  3. 安装k (kibana)

    # 运行 Kibana
    docker run -d --name kibana --net somenetwork -p 5601:5601 kibana:7.1.1
    
    # 查看容器启动状态
    docker ps
    
  4. 安装l(Logstash)

    # 下载镜像 查看镜像
    docker pull logstash:7.1.1
    docker images
    

    创建目录。mkdir -p /usr/local/src/docker/logstash/conf.d/

    4.1 创建配置文件logstash.yml

    /usr/local/src/docker/logstash/logstash.yml (文件内容)
    
    path.config: /usr/share/logstash/conf.d/*.conf
    path.logs: /var/log/logstash
    

    4.2 创建配置文件logstash.yml

    /usr/local/src/docker/logstash/conf.d/test.conf (文件内容)

    input{
      beats {
        port => 5044
        codec => "json"
    }
    }output {
      elasticsearch { 
        hosts => ["elasticsearch:9200"] 
        action => “index”
        index => “arcade”
    	}
      stdout { codec => rubydebug }
    }
    

    启动 Logstash

    启动 Logstash 
    
    记得映射上面两个目录 {path}
    
     docker run -it -d -p 5044:5044 --name logstash --net somenetwork -v /usr/local/src/docker/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml -v /usr/local/src/docker/logstash/conf.d/:/usr/share/logstash/conf.d/ logstash:7.1.1
    
    
    查看容器运行状态
    docker ps 
    
  5. 安装 Filebeat

    wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.1-linux-x86_64.tar.gz
    # 解压
    tar -zxvf filebeat-6.2.1-linux-x86_64.tar.gz
    #启动
     ./filebeat -e -c filebeat.yml
    #修改 filebeat.yml
    
    - type: log
    
      # 一定要改成trueChange to true to enable this prospector configuration.
      enabled: true
    
      # Paths that should be crawled and fetched. Glob based paths. 这里是监控日志的地址
      paths:
        - /markcloud/target/logs/*.log
    
    output.logstash:
      # The Logstash hosts
       hosts: ["logstash:5044"]
    
    
  6. 大功告成~

  7. 使用docker安装elk

安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装elk

  1. 安装e (elasticsearch)

    # 下载镜像 查看镜像
    docker pull elasticsearch:7.1.1
    docker images
    
  2. 创建自定义网络

    # 创建自定义的网络(用于连接到连接到同一网络的其他服务(例如Kibana))
    docker network create somenetwork 
    
    # 运行 elasticsearch
    docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.1.1
    
    # 查看容器状态
    docker ps
    
  3. 安装k (kibana)

    # 运行 Kibana
    docker run -d --name kibana --net somenetwork -p 5601:5601 kibana:7.1.1
    
    # 查看容器启动状态
    docker ps
    
  4. 安装l(Logstash)

    # 下载镜像 查看镜像
    docker pull logstash:7.1.1
    docker images
    

    创建目录。mkdir -p /usr/local/src/docker/logstash/conf.d/

    4.1 创建配置文件logstash.yml

    /usr/local/src/docker/logstash/logstash.yml (文件内容)
    
    path.config: /usr/share/logstash/conf.d/*.conf
    path.logs: /var/log/logstash
    

    4.2 创建配置文件logstash.yml

    /usr/local/src/docker/logstash/conf.d/test.conf (文件内容)

    input{
      beats {
        port => 5044
        codec => "json"
    }
    }output {
      elasticsearch { 
        hosts => ["elasticsearch:9200"] 
        action => “index”
        index => “arcade”
    	}
      stdout { codec => rubydebug }
    }
    

    启动 Logstash

    启动 Logstash 
    
    记得映射上面两个目录 {path}
    
     docker run -it -d -p 5044:5044 --name logstash --net somenetwork -v /usr/local/src/docker/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml -v /usr/local/src/docker/logstash/conf.d/:/usr/share/logstash/conf.d/ logstash:7.1.1
    
    
    查看容器运行状态
    docker ps 
    
  5. 安装 Filebeat

    wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.1-linux-x86_64.tar.gz
    # 解压
    tar -zxvf filebeat-6.2.1-linux-x86_64.tar.gz
    #启动
     ./filebeat -e -c filebeat.yml
    #修改 filebeat.yml
    
    - type: log
    
      # 一定要改成trueChange to true to enable this prospector configuration.
      enabled: true
    
      # Paths that should be crawled and fetched. Glob based paths. 这里是监控日志的地址
      paths:
        - /markcloud/target/logs/*.log
    
    output.logstash:
      # The Logstash hosts
       hosts: ["logstash:5044"]
    
    
  6. 大功告成~

7.成功截图

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值