一、简介
1、核心组成
ELK由Elasticsearch、Logstash和Kibana三部分组件组成。
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用。
kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
2、ELK的帮助手册
Docker Hub官网:https://hub.docker.com/r/sebp/elk/
Docker ELK使用文档:http://elk-docker.readthedocs.io/
3、安装前提条件:
1)Docker至少得分配3GB的内存;
2)Elasticsearch至少需要单独2G的内存;
3)防火墙开放相关端口,执行以下命令开放相关端口:
firewall-cmd --zone=public --add-port=5601/tcp --permanent;firewall-cmd --reload;
firewall-cmd --zone=public --add-port=9200/tcp --permanent;firewall-cmd --reload;
firewall-cmd --zone=public --add-port=5044/tcp --permanent;firewall-cmd --reload;
4)vm.max_map_count至少需要262144,附永久修改vm.max_map_count操作以下命令更改配置:
cd /etc
vi sysctl.conf
增加以下属性后退出保存:
vm.max_map_count=262144
PS:别忘了关闭selinux
4、安装docker elk:
1)pull elk镜像
docker pull sebp/elk
2)执行docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -e ES_MIN_MEM=128m -e ES_MAX_MEM=2048m -it –name elk sebp/elk 将镜像运行为容器,由于我本机内存不符合安装要求,为了保证ELK能够正常运行,加了-e参数限制使用最小内存及最大内存。
3)打开浏览器,输入:http://你的ip:5601,看到如下界面说明安装成功
5、配置使用
1)使用命令以下进入容器内:
docker exec -it elk /bin/bash
2)执行命令:
/opt/logstash/bin/logstash -e 'input { stdin { } } output { elasticsearch { hosts => ["你的ip"] } }'
注意:如果看到这样的报错信息 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} 信息后,输入:this is a dummy entry 然后回车,模拟一条日志进行测试,如下图所示
4)打开浏览器,输入:http://你的ip:9200/_search?pretty 如图,就会看到我们刚刚输入的日志内容:
5)再次打开
http://你的ip:5601就可以使用了。
转载至以下链接,感谢前辈的分享
https://www.cnblogs.com/soar1688/p/6849183.html