1、ELK可以帮助我们解决哪些问题
日志分布在多台不同的服务器上,业务一旦出现故障,需要一台台查看日志
单个日志文件巨大,无法使用常用的文本工具分析,检索困难;
2、架构设计分析
Filebeat和Logstash
ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比 Logstash,Beats所占系统的CPU和内存几乎可以忽略不计
架构图解读
第一层、数据采集层
最左边的是业务服务器集群,上面安装了filebeat做日志采集,同时把采集的日志分别发送给两个logstash服务。
第二层、数据处理层,数据转发层
logstash服务把接受到的日志经过格式处理,转存到ES DataNode。
第三层、数据持久化存储
ES DataNode 会把收到的数据,写磁盘,建索引库。
第四层、数据检索,数据展示
ES Master + Kibana 主要协调ES集群,处理数据检索请求,数据展示。
3、elk实操
IP 角色 所属集群
192.168.232.100 业务服务器+filebeat 业务服务器集群
192.168.232.104 Logstash 数据转发
192.168.232.104 ES DataNode1 Elasticsearch 集群其中的一台机器1
192.168.232.104 ES DataNode2 Elasticsearch 集群其中的一台机器2
192.168.232.104 ES DataNode3 Elasticsearch 集群其中的一台机器3
192.168.232.104 kibana 可视化工具,装到任意一台服务器
4、 php+kafka+elk架构分析
业务场景:
多个线程,同时向同一个日志文件写日志,容易导致日志文件混乱
如果加锁,当日志文件过大时,写入性能是会受到一定的影响
而且生成大量的日志文件需要去维护
具体流程:
1、filebeat会监听收集日志(mysql,ngnix运维日志,服务器的监控日志),并且会推送到logstash。
2、logstash只负责数据格式化,美化数据
3、es负责数据的持久化,存储数据
4、kibana数据可视化
4.1、日志写到日志文件的痛点:
4.2、为什么选择kafka,而不是其他同类的消息中间件呢?如下图总结了3点原因:
4.3、实操
文章来源:https://www.toymoban.com/news/detail-539276.html
文章来源地址https://www.toymoban.com/news/detail-539276.html
到了这里,关于第十二章 elk的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!