首页 > 代码库 > Docker ElK安装部署使用教程

Docker ElK安装部署使用教程

一、简介

1、核心组成

ELK由Elasticsearch、Logstash和Kibana三部分组件组成;

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

 

Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用

 

kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

2、四大组件

Logstash: logstash server端用来搜集日志;

 

Elasticsearch: 存储各类日志;

 

Kibana: web化接口用作查寻和可视化日志;

 

Logstash Forwarder: logstash client端用来通过lumberjack 网络协议发送日志到logstash server;

 

3、ELK工作流程

在需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到Redis,然后logstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana 来结合自定义搜索进行页面展示。

 

技术分享

4、ELK的帮助手册

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

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

5、安装前提条件:

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

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

防火墙开放相关端口;

vm.max_map_count至少需要262144,附永久修改vm.max_map_count方法如下图:

技术分享

 

执行命令:sysctl -p 查看

技术分享

 

二、安装Docker ELK

1、执行命令:docker pull sebp/elk 将镜像pull到本地来;

2、执行命令:docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -e ES_MIN_MEM=128m  -e ES_MAX_MEM=1024m -it --name elk sebp/elk 将镜像运行为容器,由于我本机内存不符合安装要求,为了保证ELK能够正常运行,加了-e参数限制使用最小内存及最大内存。

3、打开浏览器,输入:http://<your-host>:5601,看到如下界面说明安装成功

技术分享

 

 

 

 

docker pull sebp/elk

docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk

Docker ElK安装部署使用教程