文件目录
这是我放配置信息的文件目录
创建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 ps
并输入docker logs -f
容器id查看每个项目是否完全启动。
elasticsearch启动成功日志:
logstash启动成功日志:
kibana启动成功日志:
使用kibana可视化界面看日志
打开浏览器输入,http://localhost:5601/
,可看到汉化后的界面。