- ELK日志收集分析系统,下面我们ES不做集群,并且是在一台机子上使用docker-compose部署启动
- 新建docker-compose.yml配置文件如下
#author luoye version: "3" #版本号 services: elasticsearch-1: #服务名称(不是容器名) image: elasticsearch #使用的镜像 ports: - "9200:9200" #暴露的端口信息和docker run -d -p 80:80 一样 restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用 container_name: elasticsearch-1 #容器名称 kibana: #服务名称(不是容器名) image: kibana #使用的镜像 ports: - "5601:5601" #暴露的端口信息和docker run -d -p 80:80 一样 restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用 container_name: kibana #容器名称 #挂载文件 volumes: - /usr/games/kibana.yml:/etc/kibana/kibana.yml links: - elasticsearch-1:es01 #容器关联es01是别名 logstash: #服务名称(不是容器名) image: logstash #使用的镜像 restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用 container_name: logstash #容器名称 #挂载文件1.自定义配置文件 2.logstash启动配置文件 3.文件读取的挂载路径 volumes: - /usr/games/logstash.conf:/etc/logstash/conf.d/logstash.conf - /usr/games/logstash.yml:/etc/logstash/logstash.yml - /usr/games/1.txt:/etc/logstash/1.txt links: - elasticsearch-1:es01 #容器关联es01是别名
-
kibana.yml配置文件如下
elasticsearch.url: "http://es01:9200" server.host: "0.0.0.0"
-
logstash.yml配置如下
path.config: /etc/logstash/conf.d
-
logstash.conf配置如下
input { file { path => "/etc/logstash/1.txt" #读取的配置路径,是容器的路径,需要挂载 type => "docker-logstash" start_position => "beginning" #从文件开始处读写 } } output{ elasticsearch{ hosts=>["es01:9200"] index => "logstash-%{+YYYY.MM.dd}" } stdout{codec => rubydebug} }
-
启动执行命令,需要在当前文件下执行:
-
docker-compose up -d
-
转载于:https://my.oschina.net/xpx/blog/2222072