• ELK实践


    • ES启动
    docker run --name myes -d -p 9200:9200 -p 9300:9300 elasticsearch
    
    • 1
    • kibana启动
    docker run --name mykibana --link myes:es -e ELASTICSEARCH_URL=http://es:9200 -p 5601:5601 -d kibana
    
    • 1
    • logstash启动 启动 配置 filebeats
    docker run -it —rm -p 5044:5044 -v "/Users/jiangtao/logstash-conf":/config-dir logstash -f /config-dir/logstash-beats.conf
    
    • 1

    一定要开5044,不然filebeats连不上

    • filebeats启动
    docker run -d -v /var/run/docker.sock:/tmp/docker.sock  -e LOGSTASH_HOST=192.168.1.115 -e LOGSTASH_PORT=5044 -e SHIPPER_NAME=$(hostname) bargenson/filebeat
    
    • 1

    参数: LOGSTASH_HOST=192.168.1.115 logstash的ip地址 LOGSTASH_PORT=5044 logstash 端口 SHIPPER_NAME=$(hostname) 不知道何用这样写死

    • log-driver 使用
    docker run -it --rm --log-driver=syslog --log-opt syslog-address=udp://localhost:25826 --log-opt syslog-facility=daemon myapp
    
    • 1

    参数: syslog-facility=daemon 指定日志级别为守护进程 syslog-address=udp://localhost:25826 logstash服务器(tcp|udp) log-driver=syslog 有多种

    • es-head 启动

    起动时配置跨域:本地目录覆盖(切记把docker里原文件放入)

    docker run -d  -p 9200:9200 -p 9300:9300 -v  /Users/jiangtao/config:/usr/share/elasticsearch/config  elasticsearch 
    
    • 1

    修改elasticsearch.yml加入,并起动时拉入 http.cors.enabled: true http.cors.allow-origin: “*”

    起动es-head

    docker run -p 9100:9100 mobz/elasticsearch-head:5-alpine
    
    • 1
    • 注意

    (不推荐直接覆盖container的配置目录)挂入本地目录和配置文件

    docker run -d -p 9200:9200 -p 9300:9300 -v /Users/jiangtao:/data -e -Des.config=/data/elasticsearch.yml elasticsearch1
    
    • 1

    参数:-v /Users/jiangtao:/data 本地目录:docker container 里的目录 参数:-e 加参数必加,否则异常:ERROR: D is not a recognized option

    • 这里面有两个坑: 1.ELASTICSEARCH_URL的ip配置,可以直接写成服务器的docker machine的ip 要么先用link ,再用link的别名–link myes:es -e ELASTICSEARCH_URL=http://es:9200 注意:直接用myes不行 参数:—network。 network有none,host,bridge,”container:name or id” 四种配置(docker network ls查看) host 可以查看本机所有服务 none 没有ip地址。只能用link bridge 默认的 container:name or id 是完全复用现成container的网络配置
    • 端口使用注意 -p 80:80 指定映射端口 -P 将容器内的端口随机映射
    • network 用法 查看 docker network ls 添加 docker network create mynet 使用 docker network connect myapp docker run –net mynet myapp 查看网络信息 docker inspect mynet 可看当前网络连接了哪些容器
    • start up with config 写法
    docker run -it --rm -v "$PWD/logstash-conf":/config-dir logstash -f /config-dir/logstash-sms.conf
    
    • 1

    参数说明: -v “PWD/logstash−conf”:/config−dir挂目录到docker容器上注意PWD参数

    • logstash收集日志三种方式:filebeats、log-driver、logspout、logz.io

    filebeats在小的docker-machine上用,收集整个machine的日志 log-driver 每个容器启动时独立使用 非常灵活 logspout、logz.io 待研究

  • 相关阅读:
    随想录一刷Day18——二叉树
    高等数学教材啃书汇总重难点(二)导数与微分
    【我的前端】网站开发:设计响应式网站的八大因素
    java毕业设计演唱会门票订售及管理系统Mybatis+系统+数据库+调试部署
    深度剖析集成学习GBDT
    c# 递归应用 完成js文件自动引用
    设计模式在参数校验中的使用
    Ernie-SimCSE对比学习在内容反作弊上应用
    FM5889协议系列-识别加限流IC 多口USB超级充电器
    24.讲二叉树基础(下):有了如此高效的散列表,为什么还需要二叉树
  • 原文地址:https://blog.csdn.net/qq_43934844/article/details/128186442