zoukankan      html  css  js  c++  java
  • docker-compose部署ELK7.9.3(附带FileBeat)

    这里随笔记录下,docker-compose搭建7.9.3的ELK+FileBeat。
    FileBeat从test.log读取日志,然后传给LogStash,最后给ElasticSearch,然后Kibana负责数据可视化

    下面直接贴docker-compose.yml,具体的其他文件在我的GitHub

    version: '3'
    
    # 单机版本
    networks:
      ash-elasticstack:
        driver: bridge
    
    services:
      # Elastic-Search
      elasticsearch:
        image: elasticsearch:7.9.3
        container_name: elasticsearch
        environment:
          - TZ=Asia/Shanghai
          - "cluster.name=EScluster" #设置集群名称为 EScluster
          - "discovery.type=single-node" #以单一节点模式启动
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m" #设置使用jvm内存大小
        volumes: 
          - ./elasticsearch/es01/data:/usr/share/elasticsearch/data
          - ./elasticsearch/es01/logs:/usr/share/elasticsearch/logs
          - ./elasticsearch/es01/mydocs:/usr/share/elasticsearch/mydocs
        ports:
          - 9200:9200
          - 9300:9300
        networks: 
          - ash-elasticstack
      
      # FileBeat
      filebeat:
        image: store/elastic/filebeat:7.9.3
        hostname: filebeat
        container_name: filebeat
        volumes:
          - ./filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml
          - ./filebeat/logs:/usr/share/filebeat/logs
          - ./filebeat/mydocs:/usr/share/filebeat/mydocs
        environment:
          - TZ=Asia/Shanghai
        links:
          - logstash # 把logstash的ip记录到该容器中
        networks: 
          - ash-elasticstack
    
      # LogStash
      logstash:
        image: logstash:7.9.3
        hostname: logstash
        container_name: logstash
        volumes:
          - ./logstash/config:/usr/share/logstash/config     # logstash 配置文件目录
          - ./logstash/pipeline:/usr/share/logstash/pipeline # logstash 的采集与输入的配置文件目录
          - ./logstash/mydocs:/usr/share/logstash/mydocs
        environment:
          - TZ=Asia/Shanghai
          - "ES_JAVA_OPTS=-Xmx1g -Xms1g"
        links:
          - elasticsearch
        # depends_on: 
          # - elasticsearch # 在elastic-search节点01启动后再启动
        # ports:
          # - 5044:5044 # filebeat传递数据给logstash时默认使用的端口,据说这个ports设置可以没有
        networks: 
          - ash-elasticstack
    
      # Kibana
      kibana:
        image: kibana:7.9.3
        hostname: kibana
        container_name: kibana
        environment:
          - TZ=Asia/Shanghai
          - "elasticsearch.hosts=http://elasticsearch:9200" #设置访问elasticsearch的地址
        links:
          - elasticsearch
        depends_on: 
          - elasticsearch # 在elastic-search节点01启动后再启动
        ports:
          - 5601:5601
        networks: 
          - ash-elasticstack
    
    
    
    #如上内容,其他容器使用links可以将mongo容器的ip记录到该容器中, 再通过连接 mongo:27017 可以访问数据库。 => 这个之前查links复制过来的注解,先留着提醒自己
    #通过depends_on来标记依赖关系, 当mongo服务启动完成后, 才会启动backend服务;
    
    (Ashiamd的github个人学习笔记)[https://ashiamd.github.io/docsify-notes/#/README] ~小尾巴~
  • 相关阅读:
    Java MyBatis 插入数据库返回主键
    安卓开发实战之app之版本更新升级(DownloadManager和http下载)完整实现
    js-关于异步原理的理解和总结
    Out of range value for column 'huid' at row
    iOS开发之如何在用户删除应用后保持一些数据
    App开放接口api安全性的设计与实现
    Spring MVC中的拦截器/过滤器HandlerInterceptorAdapter的使用
    input输入框自动获取焦点
    java 静态数组 和非静态数组的区别
    js中引入js
  • 原文地址:https://www.cnblogs.com/Ashiamd/p/13957505.html
Copyright © 2011-2022 走看看