Nginx+Springboot+Mysql+ELK+FileBeat(部署記錄)
阿新 • • 發佈:2020-11-11
繼上次 docker部署java+mysql。
這裡部署Nginx+SpringBoot(其實就是java)+Mysql+ELK+FileBeat。
FileBeat收集nginx的日誌,nginx=>FileBeat=>LogStash=>ElasticSearch=>Kibana
(這裡mysql同樣還docker製作映象時能夠執行指定的sql檔案來初始化資料庫+資料)。
下面直接貼上docker-compose程式碼,其他的具體配置和其他檔案直接丟,這裡隨筆主要記錄下,要是以後自己忘了方便看
version: '3' networks: # 使用 自建網橋網路 mydemo: driver: bridge services: ######################################## nginx ######################################## # nginx mynginx: image: nginx:stable # restart: on-failure volumes: - ./nginx/config/nginx.conf:/etc/nginx/nginx.conf - ./nginx/config/conf.d:/etc/nginx/conf.d - ./nginx/log/nginx:/var/log/nginx - ./nginx/data/html:/usr/share/nginx/html ports: - 80:80 - 8080:80 - 443:443 links: - javademo ######################################## java ######################################## # java javademo: # 改名叫 java_demo的話,nginx那裡配置http://java_demo:8081;一直無法生效,迷 build: ./java restart: on-failure ports: - 8081:8081 depends_on: - mysqldemo ######################################## mysql ######################################## # mysql mysqldemo: build: ./mysql command: --default-authentication-plugin=mysql_native_password environment: TZ: "Asia/Shanghai" MYSQL_ROOT_PASSWORD: example ports: - 3306:3306 ######################################## ELK + FileBeat ######################################## # Elastic-Search elasticsearch: image: elasticsearch:7.9.3 environment: - TZ=Asia/Shanghai - "cluster.name=EScluster" #設定叢集名稱為 EScluster - "discovery.type=single-node" #以單一節點模式啟動 - "ES_JAVA_OPTS=-Xms512m -Xmx512m" #設定使用jvm記憶體大小 volumes: - ./elasticstack/elasticsearch/es01/data:/usr/share/elasticsearch/data - ./elasticstack/elasticsearch/es01/logs:/usr/share/elasticsearch/logs - ./elasticstack/elasticsearch/es01/mydocs:/usr/share/elasticsearch/mydocs ports: - 9200:9200 - 9300:9300 # FileBeat filebeat: image: store/elastic/filebeat:7.9.3 volumes: - ./elasticstack/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml - ./elasticstack/filebeat/logs:/usr/share/filebeat/logs - ./elasticstack/filebeat/mydocs:/usr/share/filebeat/mydocs - ./nginx/log/nginx:/usr/share/filebeat/nginx-logs environment: - TZ=Asia/Shanghai # LogStash logstash: image: logstash:7.9.3 volumes: - ./elasticstack/logstash/config:/usr/share/logstash/config # logstash 配置檔案目錄 - ./elasticstack/logstash/pipeline:/usr/share/logstash/pipeline # logstash 的採集與輸入的配置檔案目錄 - ./elasticstack/logstash/mydocs:/usr/share/logstash/mydocs environment: - TZ=Asia/Shanghai - "ES_JAVA_OPTS=-Xmx1g -Xms1g" # Kibana kibana: image: kibana:7.9.3 environment: - TZ=Asia/Shanghai - "elasticsearch.hosts=http://elasticsearch:9200" #設定訪問elasticsearch的地址 links: - elasticsearch depends_on: - elasticsearch # 在elastic-search節點01啟動後再啟動 ports: - 5601:5601