前言
上篇文章(一)ELK单机版日志系统搭建——docker方式中,我们通过docker方式搭建了一个elk单机版的日志系统,相对来说步骤略显繁多,本篇我们通过docker-compose的方式,一键式搭建下我们的elk单机版本的日志系统,虽然我们要提前写好启动配置文件,但是后续的操作过程确实十分方便,话不多说,我们开始使用docker-compose搭建elk单机版日志系统。关于docker-compose的安装,可以参考我的文章docker环境下docker-compose安装高可用redis集群详解(一主二从三哨兵),里面有关于docker-compose的详细安装。
正文
- 拉取镜像
命令:docker pull <镜像>:<版本号>
- 编写elk-single.yml
配置文件如下:
#elk单机版启动配置文件elk-single.yml version: '2.2' services: elasticsearch: image: elasticsearch:7.11.1 container_name: elk-single-elasticsearch environment: - discovery.type=single-node - "ES_JAVA_OPTS=-Xms512m -Xmx512m" hostname: elasticsearch restart: always ports: - 29200:9200 - 29300:9300 kibana: image: kibana:7.11.1 container_name: elk-single-kibana environment: - elasticsearch.hosts=http://192.168.23.134:29200 hostname: kibana depends_on: - elasticsearch restart: always ports: - "25601:5601" logstash: image: logstash:7.11.1 container_name: elk-single-logstash hostname: logstash restart: always depends_on: - elasticsearch ports: - 29600:9600 - 25044:5044 - 25066:5066
创建配置文件:
命令:touch elk-single.yml
- 启动elk单机版服务
命令:docker-compose -f elk-single.yml up -d
- 确认kibana的配置是否正确配置了elasticsearch
进去容器命令:docker exec -it elk-single-kibana bash
退出容器命令:exit
- 确认logstash的配置是否正确配置了elasticsearch
进去容器命令:docker exec -it elk-single-logstash /bin/bash
- 配置logstash的日志收集文件参数
配置文件内容如下:此处的配置内容我们和docker方式的大致是相同的。
input{ tcp{ port => 5066 codec => "json_lines" } } output{ elasticsearch { hosts => "192.168.23.134:29200" index => "elk-single-%{[app]}-%{+YYYY.MM.dd}" } }
进去容器
命令:docker exec -it elk-single-logstash /bin/bash
使用vi编辑器更改日志收集配置:
- 重启elk单机版服务:使我们更改的配置生效
命令:docker-compose -f elk-single.yml restart
- 验证
访问elasticsearch
访问kibana
通过atp应用写入日志,项目地址:ATP应用测试平台地址(atp: 应用测试平台)
结语
ok,到这里docker-compose安装elk的单日志系统就结束了,我们下期见。。。