Docker ElK安装部署使用教程

1、简介web

一、核心组成docker

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

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

 

Logstash是一个彻底开源的工具,它能够对你的日志进行收集、分析,并将其存储供之后使用restful

 

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

二、四大组件
elasticsearch

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

 

Elasticsearch: 存储各种日志;工具

 

Kibana: web化接口用做查寻和可视化日志;测试

 

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

 

三、ELK工做流程

在须要收集日志的全部服务上部署logstash,做为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到Redis,而后logstash indexer将日志收集在一块儿交给全文搜索服务ElasticSearch,能够用ElasticSearch进行自定义搜索经过Kibana 来结合自定义搜索进行页面展现。

 

wKioL1YWGBnxpAwyAAGFWRpT6X8070.jpg

四、ELK的帮助手册

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

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

五、安装前提条件:

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

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

防火墙开放相关端口;

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

 

执行命令:sysctl -p 查看

 

2、安装Docker ELK

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

二、执行命令: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参数限制使用最小内存及最大内存。

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

 3、配置使用

一、使用命令:docker exec -it <container-name> /bin/bash 进入容器内

二、执行命令:/opt/logstash/bin/logstash -e 'input { stdin { } } output { elasticsearch { 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 而后在执行就能够了。

三、当命令成功被执行后,看到:Successfully started Logstash API endpoint {:port=>9600} 信息后,输入:this is a dummy entry 而后回车,模拟一条日志进行测试。

四、打开浏览器,输入:http://<your-host>:9200/_search?pretty 如图,就会看到咱们刚刚输入的日志内容

五、打开浏览器,输入:http://<your-host>:5601 点击建立

  六、看到以下界面,到此安装结束。

相关文章
相关标签/搜索