docker搭建ELK环境

作者: 哈哈098833 | 来源:发表于2017-05-04 14:34 被阅读1018次

    选择镜像

    选择docker images(在hub.docker.com 搜索 elk 选择 start或pulls比较多的镜像) 本次安装选择的是 sebp/elk,默认本地已安装docker环境
    docker pull sebp/elk

    1. 选择docker镜像
      登录 hub.docker.com 搜索 'elk', 选择stars 和 pulls 比较多的镜像
    2. 下载镜像
      docker pull sebp/elk

    启动docker容器

        docker run --ulimit nofile=65536:65536 -p 5601:5601 -p 9200:9200 -p 5044:5044 -p 5045:5045 -p 5046:5046 -d --restart=always -v /etc/logstash:/etc/logstash -v /etc/localtime:/etc/localtime --name elk sebp/elk
    
    参数介绍
        --ulimit  来修改容器的ulimit参数(该镜像默认的ulimit值为4096。 不带该参数,启动容器会出现类似 “max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]” 错误)
        -p  指定容器和宿主机映射端口
            5601:  kibana服务端口 HTTP  (web访问)
            9200: Elasticsearch 开发端口 HTTP,保存数据到Elasticsearch中使用
            5044: logstash  收集日志端口 TCP
        -v  挂载目录 可以将logstash 的配置文件挂载在宿主机的目录上, 方便随时修改。挂载 /etc/localtime 该目录是为了保证容器和宿主机的时区相同。
    

    配置logstash

    1. logstash 配置文件所在路径 /etc/logstash/conf.d/logstash.conf
    input {
        beats {
            port => 5044
        }
    }
    output {
        elasticsearch {
            hosts => ["127.0.0.1:9200"]
        }
    }
    

    修改完配置文件后,执行如下命令来重启logstash
    docker exec elk /etc/init.d/logstash restart

    客户端服务器

    1. 安装filebeat
      Debian/Ubuntu:
      curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.3.2-amd64.deb
      sudo dpkg -i filebeat-5.3.2-amd64.deb
      Redhat/Centos/Fedora:
      curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.3.2-x86_64.rpm
      sudo rpm -vi filebeat-5.3.2-x86_64.rpm

    2. 配置filebeat (默认文件路径 /etc/filebeat/filebeat.yml)
      filebeat.prospectors:
      - input_type: log
      document_type: info
      paths:
      - /data/logs/info.log
      output.logstash:
      hosts: ["18.18.18.18:5044"]

    paths 需要收集的日志文件路径
    hosts: logstash 服务IP和端口

    1. 测试配置文件语法是否正确
      /usr/bin/filebeat.sh -configtest /etc/filebeat/filebeat.yml
      修改完成后,重启filebeat
      /etc/init.d/filebeat restart

    访问kibana页面

    1. 在已经安装filebeat的客户端服务器上,测试日志收集
      echo 'test log ......' >> /data/logs/info.log
    2. 在浏览器输入 18.18.18.18:5601(IP修改为ELK所在服务器的IP地址)创建默认的索引后,可以在web上看到输入的测试日志。

    相关文章

      网友评论

      本文标题:docker搭建ELK环境

      本文链接:https://www.haomeiwen.com/subject/umartxtx.html