参考
1.编写docker-compose
cat >> docker-compose.yml <<EOF
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 #容器名称
ports:
- "5044:5044"
- "5045:5045"
#挂载文件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是别名
EOF
2.kibana.yml配置如下
elasticsearch.url: "http://es01:9200"
server.host: "0.0.0.0"
3.logstash.yml配置如下
path.config: /etc/logstash/conf.d
4.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}
}
5.启动执行命令,需要在当前文件下执行:
docker-compose up -d
6.web访问kibana
http://ip:5601
7.写入数据
echo "111111" >1.txt
8.查看
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/bf667ade4a27e968bf990ea21307c5ab.png)