在用docker-compose编排elk三个服务时,碰到了很多坑,网上很多资料编排的版本都不是最新的版本,我们这里用的 elasticsearch,logstash,kibana全都是elastic官方提供的目前最新版本7.1.1,高版本和低版本的一些配置还是有很大差异的,这里介绍高版本的elk服务如何安装。
1、在elastic官方提供的地址下载elk7.1.1镜像
在如下地址可以查看到官方发布的docker镜像
https://www.docker.elastic.co/#
#下载elasticsearch docker pull docker.elastic.co/elasticsearch/elasticsearch:7.1.1 #下载logstash docker pull docker.elastic.co/logstash/logstash:7.1.1 #下载kibana docker pull docker.elastic.co/kibana/kibana:7.1.1
等待一段时间下载完成后,编写docker-compose.yml文件
2、编写docker-compose编排三大服务
在/opt/目录下新建一个elkDocker目录
#进入elkDocker目录 cd /opt/elkDocker #新建docker-compose.yml文件 vi docker-compose.yml version: '2.2' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.1.1 container_name: elasticsearch7.1.1 environment: - discovery.type=single-node - "ES_JAVA_OPTS=-Xms512m -Xmx512m" volumes: - esdata:/usr/share/elasticsearch/data hostname: elasticsearch restart: always ports: - 9200:9200 - 9300:9300 kibana: image: docker.elastic.co/kibana/kibana:7.1.1 container_name: kibana7.1.1 environment: - elasticsearch.hosts=http://elasticsearch:9200 hostname: kibana depends_on: - elasticsearch restart: always ports: - "5601:5601" logstash: image: docker.elastic.co/logstash/logstash:7.1.1 container_name: logstash7.1.1 hostname: logstash restart: always depends_on: - elasticsearch ports: - 9600:9600 - 5044:5044 volumes: esdata: driver: local #:wq保存文件 #在yml文件所在目录执行 docker-compose up -d #如果都出现done那就创建完成了 #可以执行一下命令查看日志(分别输出elk三个服务的日志) docker-compose logs #执行docker ps可以看到三个服务的运行状态(如下图)
3、浏览器访问kibana是否成功
在浏览器输入http://你的服务器IP:5601/
如果看到以下画面说明elk三大服务安装完成了
官网也有相应的docker安装说明,但是没有三个一起关联的安装说明,需要注意以下问题
- 不要下载docker官方的镜像,最好使用 elastic官方仓库里的镜像
- 如果出现启动不成功,先把其他两个注释掉,一个一个服务单独运行试试
- logstash需要监听elasticsearch服务,不然logstash会自动停掉
- logstash和kibana可以不用设置关联 elasticsearch 的环境变量,官网文档说如果是docker镜像有默认设置
- 如果自己修改了服务名称或者端口要记得修改默认的设置
如果启动出现任何问题一定要详细看日志,日志都会给出很多信息,我在安装的时候看的是5.0版本的安装资料用的是7.1.1版本安装,碰到很多坑,也没有看日志。
至此elk7.1.1版本就安装在docker中,有任何问题可以留言。
1 条评论