Docker ElK安装部署使用教程
Posted lonelyxmas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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=128mnbsp; -e ES_MAX_MEM=1024m -it --name elk sebp/elk 将镜像运行为容器,由于我本机内存不符合安装要求,为了保证ELK能够正常运行,加了-e参数限制使用最小内存及最大内存。
3、打开浏览器,输入:http://your-host:5601,看到如下界面说明安装成功
三、配置使用
1、使用命令:docker exec -it <container-name> /bin/bash 进入容器内
2、执行命令:/opt/logstash/bin/logstash -e ‘input stdin output elasticsearch hosts =gt; ["localhost"] ‘
注意:如果看到这样的报错信息
Logstash could not be started because there is already another instance using the configured data directory.nbsp; If you wish to run multiple instances, you must change the "path.data" setting.
请执行命令:service logstash stop 然后在执行就可以了。
3、当命令成功被执行后,看到:
Successfully started Logstash API endpoint :port=gt;9600 信息后,
输入:this is a dummy entry
然后回车,模拟一条日志进行测试。
4、打开浏览器,输入:http://your-host:9200/_search?pretty 如图,就会看到我们刚刚输入的日志内容
5、打开浏览器,输入:http://your-host:5601 点击创建
6、看到如下界面,到此安装结束。
以上是关于Docker ElK安装部署使用教程的主要内容,如果未能解决你的问题,请参考以下文章
Docker安装部署ELK教程 (Elasticsearch+Kibana+Logstash+Filebeat)