DockerCompose安装ELK集成镜像
一、下载ELK镜像docker pull sebp/elk
二、修改系统配置
2.1 修改用户可打开的文件句柄数
vim /etc/security/limits.conf
# 在最后面追加下面内容
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
# elk hard nofile 65536
# elk soft nofile 65536
可以解决ELK启动报: ERROR: Elasticsearch did not exit normally - check the logs at /var/log/elasticsearch/elasticsearch.log
错的问题
2.2 更改系统vm.max_map_count设置值
max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量
这个值需要调大一些
临时调整: sysctl -w vm.max_map_count=262144
永久调整: vim /etc/sysctl.conf
# 在末尾加上一行
vm.max_map_count=262144
更新配置sysctl -p
查看更改后的值sysctl -a | grep vm.max_map_count
# 查看
[root@localhost /]# sysctl -a | grep vm.max_map_count
vm.max_map_count = 262144
调大后可以消除elk启动时的错误: bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
三、创建容器
3.1 初始化一个容器
先创建一个容器, 以便复制出配置文件
docker-compose.yml文件配置
version: '3'
services:
elk:
container_name: elk
image: sebp/elk
ports:
- "5601:5601"
- "9200:9200"
- "5044:5044"
environment:
- ES_HEAP_SIZE=4g
- ES_JAVA_OPTS=-Xms16g -Xmx16g
- ELASTIC_PASSWORD=WhoLWuTong.31
- xpack.security.enabled=true
- TZ=Asia/Shanghai
docker-compose up
命令启动
3.2 复制配置文件
从容器中复制出ELK配置
docker cp elk:/var/lib/elasticsearch/ /data/elk/elasticsearch/data
docker cp elk:/etc/elasticsearch/ /data/elk/elasticsearch/config
docker cp elk:/opt/logstash/config /data/elk/logstash/config
docker cp elk:/etc/logstash/conf.d /data/elk/logstash/conf.d
docker cp elk:/opt/kibana/config /data/elk/kibana/config
docker cp elk:/opt/kibana/data /data/elk/kibana/data
mv /data/elk/elasticsearch/config/elasticsearch/* /data/elk/elasticsearch/config
rm -rf /data/elk/elasticsearch/config/elasticsearch/
mv /data/elk/elasticsearch/data/elasticsearch/* /data/elk/elasticsearch/data
rm -rf /data/elk/elasticsearch/data/elasticsearch/
# 复制完成后修改目录权限
cd /data/elk
chown -R 991:991 elasticsearch*
chown -R 992:992 logstash*
chown -R 993:993 kibana*
# 改日志目录权限
#cd /data/elk/log
#chown -R 991:991 elasticsearch*
#chown -R 992:992 logstash*
#chown -R 993:993 kibana*
#chmod 644 -R /data/elk/log
# 删除容器
docker stop elk
docker rm elk
3.3 修改配置
本机是32G, 给eleasticsearch分一半vim /data/elk/elasticsearch/config/jvm.options
# 找到
#-Xms4g
#-Xmx4g
# 改为
-Xms16g
-Xmx16g
3.4 启动一个新的ELK容器
修改docker-compose.yml文件
version: '3'
services:
elk:
container_name: elk
image: sebp/elk
ports:
- "5601:5601"
- "9200:9200"
- "5044:5044"
environment:
- ES_HEAP_SIZE=4g
- ES_JAVA_OPTS=-Xms16g -Xmx16g
- ELASTIC_PASSWORD=WhoLWuTong.31
- xpack.security.enabled=true
- TZ=Asia/Shanghai
volumes:
- /data/elk/logstash/config:/opt/logstash/config
- /data/elk/logstash/conf.d:/etc/logstash/conf.d
- /data/elk/elasticsearch/config:/etc/elasticsearch
- /data/elk/elasticsearch/data:/var/lib/elasticsearch
- /data/elk/kibana/config:/opt/kibana/config
- /data/elk/kibana/data:/opt/kibana/data
docker-compose up
启动
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。