使用Docker搭建ELK日志系统

20 篇文章 1 订阅

在这里插入图片描述

1.目标

1.收集Java日志文件,并且根据文件的不同将日志分类,比如:订单日志,客户日志等。
2.日志文件多行处理

2.总体架构图

在这里插入图片描述

3.ELK组件介绍

ELK 是由三部分组成的一套日志分析系统,

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

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

Kibana:可视化视图,将elasticsearh所收集的data通过视图展现。kibana 是一个开源和免费的工具,它可以为 Logstash 和ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

4.开始搭建

4.1 使用docker集成镜像
docker search elk
docker pull sebp/elk
4.2查看镜像
$ docker images
sebp/elk                  latest              5e0d1e6e98a7        5 weeks ago         1.81GB
4.3启动容器
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -itd --name elk sebp/elk

1.报错:

Couln't start Elasticsearch. Exiting.
Elasticsearch log follows below.

原因:

waiting for Elasticsearch to be up (xx/30) counter goes up to 30 and the container exits with Couln't start Elasticsearch. Exiting. and Elasticsearch's logs are dumped, then read the recommendations in the logs and consider that they must be applied.

In particular, in case (1) above, the message max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]means that the host's limits on mmap counts must be set to at least 262144.

解决办法
Docker至少得分配3GB的内存;
Elasticsearch至少需要单独2G的内存;
vm.max_map_count至少需要262144,修改vm.max_map_count 参数

echo "vm.max_map_count = 262144" >>/etc/sysctl.conf

2.报错

WARNING: IPv4 forwarding is disabled. Networking will not work.

开启ip转发

echo 1 > /proc/sys/net/ipv4/ip_forward
4.4验证 测试

http://10.0.0.45:5601/
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云原生解决方案

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值