docker-compose搭建ELK环境
Docker-compose搭建ELK环境
环境信息
- CentOS 7.4 系统
- Docker version 18.06.1-ce
- docker-compose version 1.22.0
- 部署单节点 ELK
参数配置
在宿主机执行
1 | 设置内核参数 |
- 原因分析:
vm.max_map_count
参数,是允许一个进程在VMAs拥有最大数量(VMA:虚拟内存地址, 一个连续的虚拟地址空间),当进程占用内存超过时, 直接OOM。
elasticsearch占用内存较高。官方要求max_map_count需要配置到最小262144。
max_map_count配置文件写在系统的/proc/sys/vm中
通过docker inspect命令, 可查看docker使用宿主机的/proc/sys作为只读路径之一
1 | "ReadonlyPaths": [ |
说明镜像使用宿主机的max_map_count参数。因此直接修改宿主机的max_map_count参数即可
docker-compose文件
1 | version: "3" |
这里我暂时没有用到logstash,其中的版本可以根据情况自行升级,但是需要注意版本一致或兼容,具体请
elastic
参考官网
- 启动:
docker-compose up -d
- 查看日志
dcoker-compose logs -f
- 修改配置后重新构建
docker-compose up -d --build
- 停止服务
docker-compose stop kibana
- 删除所有docker-compose.yml中描述的服务
docker-compose down
修改elasticsearch.yml
1 | cluster.name: "docker-cluster" |
其中后两行是允许跨域访问
重新构建
dockr-compose up -d --build
访问 http://{host}:9200/
访问head插件
这里我使用的是chrom中的head插件,也可以自行安装head插件 github
- 访问kibana
之后就可以在kibana中的devtools中进行es的查询了。