ELK的docker方式部署

1、ELK的帮助手册

Docker Hub官网:https://hub.docker.com/r/sebp/elk/

Docker ELK使用文档:http://elk-docker.readthedocs.io/

2、安装前提条件:

Docker至少得分配3GB的内存;

Elasticsearch至少需要单独2G的内存;

防火墙开放相关端口;

vm.max_map_count至少需要262144.否则启动时会报错。

设置方式:

sudo vi /etc/sysctl.conf
增加 :

vm.max_map_count = 262144
fs.file-max = 65536


查看是否修改:
sudo sysctl -p

显示以下说明修改成功
vm.max_map_count = 262144

3、拉取镜像

执行docker命令
sudo docker pull sebp/elk

下载需要一定时间

下载完成后。执行命令查看是否拉取成功

docker images -a

若能看到 sebp/elk 存在  则说明拉取成功。

4、启动

执行命令:docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk

将镜像运行为容器。

打开浏览器,输入:http://:5601,看到如下界面说明安装成功

5、启动后配置。

我们需要进入容器修改对应的配置,才能使其可用。

1、使用命令:
docker exec -it /bin/bash 进入容器内


2、执行命令:
/opt/logstash/bin/logstash -e 'input { stdin { } } output { elasticsearch { hosts => ["localhost"] } }'

此处是配置logstash的输入与输出。为了测试所以填写stdin { }和hosts => ["localhost"] 

在具体项目中请根据具体情况填写。

  注意:如果看到这样的报错信息 Logstash could not be started because there is already another instance using the configured data directory.  If you wish to run multiple instances, you must change the "path.data" setting.

请执行命令:service logstash stop 然后再次执行就可以了。

3、当命令成功被执行后,看到:Successfully started Logstash API endpoint {:port=>9600} 信息后,输入任意的测试字符 然后回车,模拟一条日志进行测试。

4、打开浏览器,输入:http://:9200/_search?pretty 如图,就会看到我们刚刚输入的日志内容

至此我们的ELK的docker方式部署已经基本实现,之后我们会进行ELK与项目集成的docker-compose化部署方式。
 

你可能感兴趣的:(dock)