美文网首页
docker ELK elasticsearch kibana

docker ELK elasticsearch kibana

作者: 明爷们儿_d212 | 来源:发表于2020-07-07 11:29 被阅读0次

    1.下载ELK

    用latest是下载不了ELK 的

    docker pull elasticsearch:7.7.0
    docker pull kibana:7.7.0
    docker pull logstash:7.7.0 
    docker pull filebeat:7.7.0 
    

    2.安装插件 elasticsearch-head:

    (注意:5.X以上的版本,需要单独启动 elasticsearch-head 服务)
    拉取镜像并启动elasticsearch-head:

    docker pull mobz/elasticsearch-head:5
    
    docker images 
    
    REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
    docker.io/logstash                 7.7.0               30dcca1db5e9        7 weeks ago         740 MB
    docker.io/kibana                   7.7.0               eadc7b3d59dd        7 weeks ago         1.15 GB
    docker.io/elasticsearch            7.70               7ec4f35ab452        7 weeks ago         757 MB
    docker.io/prima/filebeat          latest               070a535b6ea6       175 MB
    docker.io/mobz/elasticsearch-head  5                   b19a5c98e43b        3 years ago         824 MB
    

    一、安装elasticsearch

    docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.7.0
    

    测试:
    curl http://localhost:9200

    {
      "name" : "130ec4d8384a",
      "cluster_name" : "docker-cluster",
      "cluster_uuid" : "bglBAXgoQMyoq4Qg56Mzjw",
      "version" : {
        "number" : "7.7.0",
        "build_flavor" : "default",
        "build_type" : "docker",
        "build_hash" : "81a1e9eda8e6183f5237786246f6dced26a10eaf",
        "build_date" : "2020-05-12T02:01:37.602180Z",
        "build_snapshot" : false,
        "lucene_version" : "8.5.1",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }
    
    

    进入容器设置

    docker exec -it elasticsearch /bin/bash
    
    vi /usr/share/elasticsearch/config/elasticsearch.yml
    
    # 修改如下 : 下面的配置是关闭跨域验证 
    http.cors.enabled: true 
    http.cors.allow-origin: "*"
    
    # 退出容器
    exit 
    

    重启
    docker restart elasticsearch

    还有一种 外挂文件的方法,理论相同,不用进入容器:

    docker run -di -p 9200:9200 -p 9300:9300 --name=elasticsearch -v /home/elk/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.7.0
    

    1.1 es-head搭建

    docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5
    

    打开浏览器访问:http://192.168.X.X:9100(X.X 为自己的IP)
    在第一行中Elasticsearch后面,
    原值为http://localhost:9200改为 http://192.168.X.X:9200
    就可以看到信息

    二、安装kibana

    1 成功启动

    docker run -p 5601:5601 --name kibana --link elasticsearch:elasticsearch -e "elasticsearch.hosts=http://192.168.X.X:9200" -d docker.io/kibana:7.7.0
    

    还有一种 外挂文件的方法,理论相同,不用进入容器:
    -v /home/elk/kibana.yml:/usr/share/kibana/config/kibana.yml

    进入到容器内部:

    docker exec -it kibana /bin/bash
    #找到kibana的配置文件: 
    vi /usr/share/kibana/config/kibana.yml
    
    # 进行修改 ,注意格式  [ "  " ] 
    # 修改配置文件,因为要绕过x-pack的安全检查
    server.name: kibana
    server.host: "0"
    elasticsearch.hosts: [ "http://192.168.X.X:9200" ]
    monitoring.ui.container.elasticsearch.enabled: false
    
    # 退出容器
    exit 
    
    #重启容器:
    docker restart kibana
    

    启动成功后访问5601端口即可进入kibana管理界面
    http://192.168.X.X:5601/app/kibana

    三、安装logstash

    docker run -d -u 0 --name logstash -p 5044:5044 docker.io/logstash:7.7.0
    

    同理可以先创建配置文件。
    -v /home/elk/logstash.conf:/usr/share/logstash/pipeline/logstash.conf

    docker ps 看一下内容吧

     docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}"
    CONTAINER ID        NAMES               PORTS
    d4d586cbe1d2        kibana              0.0.0.0:5601->5601/tcp
    8b537d35b3fa        logstash            0.0.0.0:5044->5044/tcp, 9600/tcp
    130ec4d8384a        elasticsearch       0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp
    
    

    进入容器:

    docker exec -it logstash /bin/bash
    
    #找到文件:
    vi /usr/share/logstash/pipeline/logstash.conf
    
    #修改配置文件
    input {
        tcp {
            port => 5044
            codec => "plain"
        }
    }
    filter{
    
    }
    output {
        # 这个是logstash的控制台打印(进行安装调试的开启,稍后成功后去掉这个配置即可)
        stdout {
            codec => rubydebug
        }
        # elasticsearch配置
        elasticsearch {
            hosts => ["elasticsearch的IP:9200"]
        }
    }
    
    #重启容器:
    doccker restart logstash
    

    相关文章

      网友评论

          本文标题:docker ELK elasticsearch kibana

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