• Docker 安装 ELK


    ELK 版本
    因为 前面 Elasticsearch 用的 7.9.3 版本,所以 kibana-7.9.3、logstash-7.9.3 都用 7.9.3 版本

    安装配置 Elasticsearch

    Docker 安装 Elasticsearch

    修改Elasticsearch配置,可以到容器内部修改,为了方便环境迁移将配置映射到宿主机,在Elasticsearch启动的情况下,将配置文件复制到宿主机

    复制、映射配置文件

    如果已有配置文件,可以省略此步骤,直接映射启动

    #查出容器ID
    docker ps --format "table {{.ID}}	{{.Names}}	{{.RunningFor}}	{{.Status}}"

    #将容器中的文件复制到宿主机中
    docker cp  766:/usr/share/elasticsearch/config/elasticsearch.yml /opt/elasticsearch/config/elasticsearch.yml

    映射启动

    #先将 766 对应的Elasticsearch的这台停止
    docker stop 766
    
    #删除 766 对应的 Elasticsearch
    docker rm 766

    重新运行容器(增加 elasticsearch.yml的映射

    docker run --name elasticsearch -p 9200:9200 -p 9300:9300 
        -e "discovery.type=single-node" 
        -v /opt/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml 
        -v /opt/elasticsearch/logs:/usr/share/elasticsearch/logs 
        -d elasticsearch:7.9.3 

    查看启动日志,看是否有报错
    docker logs --tail=100 -f 702

    运行http://172.16.3.61:9200/验证启动是否OK。

    修改配置项

    [root@localhost ~]# vi /opt/elasticsearch/config/elasticsearch.yml
    输入i进入编译模式
    将下面内容复制进去

    # 开启跨域
    http.cors.enabled: true
    
    # 允许所有
    http.cors.allow-origin: "*"

    按 ESC 退出编辑
    按 :wq! 保存退出

    重启 Elasticsearch

    docker restart 702

    安装 kibana:7.9.3

    docker pull kibana:7.9.3
    
    docker run --name kibana --restart=always 
     -p 5601:5601 
     -e ELASTICSEARCH_HOSTS="http://172.16.3.61:9200/" 
    -e "I18N_LOCALE=zh-CN"
    -d kibana:7.9.3

    http://172.16.3.61:5601/

    安装 Logstash:7.9.3 [用Filebeat代替 Filebeat的安装和使用(Linux)]

    docker pull logstash:7.9.3

    在 /opt/logsstash 中建下列文件【注意权限】

    mkdir /opt/logstash/conf.d
    mkdir /opt/logstash/logs
    touch /opt/logstash/logstash.yml

    编辑config文件

    vi /opt/logstash/conf.d/test.conf
    
    #内容如下:
    input {
       gelf {
        port => 9200
      }
    }
    output {
      stdout{codec =>rubydebug}
      elasticsearch {
        hosts => ["172.16.3.61:9200"]
        index => "logstash-log4j2-%{+YYYY.MM.dd}"
    #    user => "elastic"
    #    password => "elastic"
      }
    }

    运行logstash

    docker run --name logstash 
        --restart always --privileged=true 
        -v /opt/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml 
        -v /opt/logstash/conf.d/:/usr/share/logstash/conf.d/ 
        -d logstash:7.9.3

    --privileged=true # 解决Docker 挂载主机目录,访问出现 cannot open directory permission denied

  • 相关阅读:
    广播BroadcastReceiver(2)
    hunnu11544:小明的烦恼——找字符串
    Systemd启动图形界面过程
    大数据.......
    2014百度之星第一题Energy Conversion
    基于zookeeper简单实现分布式锁
    LeetCode OJ 215. Kth Largest Element in an Array 堆排序求解
    Leetcode
    Linux文件系统(七)---系统调用之open操作(一)
    Go语言Slice操作.
  • 原文地址:https://www.cnblogs.com/vipsoft/p/14808443.html
Copyright © 2020-2023  润新知