使用docker-compose搭建elk 日志分析系统

文件目录

这是我放配置信息的文件目录
使用docker-compose搭建elk 日志分析系统_第1张图片

创建docker-compose文件

#author terrytang
version: "3" #版本号
services: 
  elasticsearch: #服务名称(不是容器名)
    image: registry.cn-hangzhou.aliyuncs.com/yalong_lee_release/elasticsearch:v7.4.1  #使用的镜像
    ports:
      - "9200:9200"  #暴露的端口信息和docker run -d -p 80:80 一样
      - "9300:9300"
    restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用
    container_name: elasticsearch #容器名称
    hostname: elasticsearch
    environment:
      - "discovery.type=single-node" #配置es启动单节点
      - "cluster.name=EsForLog" #配置es集群名称
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m" #配置es启动参数
  kibana: #服务名称(不是容器名)
    image: registry.cn-hangzhou.aliyuncs.com/htsec/kibana:7.4.1  #使用的镜像
    restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用
    container_name: kibana #容器名称
    hostname: kibana
    #挂载文件
    volumes:  
      - /Users/terry.tang/elk/kibanna/kibana.yml:/usr/share/kibana/config/kibana.yml
    links:
      - elasticsearch:es01  #容器关联es01是别名
    depends_on:
      - elasticsearch #依赖es,将会在es创建成功后才执行
    ports:
      - "5601:5601"  #暴露的端口信息和docker run -d -p 80:80 一样
  logstash: #服务名称(不是容器名)
    image: registry.cn-hangzhou.aliyuncs.com/logss/logstash:7.4.1  #使用的镜像
    restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用
    container_name: logstash #容器名称
    hostname: logstash
    #挂载文件logstash启动配置文件
    volumes:
      - /Users/terry.tang/elk/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf 
    links:
      - elasticsearch:es01 #容器关联es01是别名
    depends_on:
      - elasticsearch #依赖es,将会在es创建成功后才执行
    ports:
      - "5044:5044"  #暴露的端口信息和docker run -d -p 80:80 一样

kibanna的配置文件(kibana.yml)

elasticsearch.hosts: http://es01:9200 #es01是docker-compose中links的别名
server.host: "0.0.0.0"
server.name: kibana
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: zh-CN #中文

logstash的配置文件(logstash.conf)

input {
	tcp {
		mode => "server"
		host => "0.0.0.0"
        port => 5044
        codec => json_lines
    }
}
output {
	elasticsearch {
		hosts => ["http://es01:9200"]
		index => "%{[appname]}-%{+YYYY.MM.dd}"
	}
	stdout {
		codec => rubydebug
	}
}

执行docker-compose

打开命令行,输入docker-compose up -d,后台启动项目,显示done代表启动项目成功。
使用docker-compose搭建elk 日志分析系统_第2张图片

接下来输入docker ps并输入docker logs -f 容器id查看每个项目是否完全启动。
elasticsearch启动成功日志:
在这里插入图片描述

logstash启动成功日志:
在这里插入图片描述

kibana启动成功日志:
在这里插入图片描述

使用kibana可视化界面看日志

打开浏览器输入,http://localhost:5601/,可看到汉化后的界面。
使用docker-compose搭建elk 日志分析系统_第3张图片

你可能感兴趣的:(项目搭建)