2016 - 2024

感恩一路有你

日志系统操作技巧 如何优化日志系统?

浏览量:3380 时间:2023-05-31 11:35:20 作者:采采

如何优化日志系统?

答:此题一份请柬xinghua来帮下忙,他总结了不好算项目中对elk系统的一些调优的经验,与你能分享百亿级elk日志优化纪实。

导语:elk是搭建中实时自动日志分析系统的通用解决方案,通过elk可以更方便地收集、搜索日志。但随着日志量的增加,据不好算应用场景的优化调整能更充分的利用系统资源。本文比较多记录我们项目中对elk系统的一些调优。伴随着王者人生查找业务的快速发展,我们每天晚上日志量很快地将近了20亿条,存储达到2TB,elk日志系统的压力渐渐减少,日志系统的调整优化也势在必行。

1、日志系统架构

(elk日志应用架构)

FileBeat是一个轻量级的日志收集处理工具(Agent)。

Elasticsearch是个开源代码分布式搜索引擎,能提供查遍、分析、存储数据三大功能。

Logstash要注意是用来日志的搜集、分析、水中的杂质日志的工具,接受大量的数据获取。

Kibana是可以为Logstash和ElasticSearch可以提供的日志分析友好的Web界面,这个可以好处信息汇总、分析和搜不重要数据日志。

2、优化软件日志系统以下要注意可以介绍filebeat、logstash、elasticsearch的一些优化调整

2.1filebeat优化软件

(1)负载均衡

问题:当日志量非常大(单机最多每天超100GB)的模块必须上报日志时,日志从空中落下显示延时大,要等一段时间才能在es里查进去。

原因:

当filebeat.yml配置文件里hosts配置了多个Logstash主机,而且loadbalance设置里为true,则输出低插件会将已先发布的事件负载平衡到所有Logstash主机上。如果不是可以设置为false,则输出插件仅将所有事件发送到一个主机(任务道具考虑),如果没有所选主机无响应,则会直接切换到另一个主机。使用默认值为false。

方案:配置多个hosts,配置loadbalance为true

(修改配置前仅有一个连接到)

(负载均衡优化后多个连接)

效果

单机filebeat吞吐量变大

(多连接上优化软件后单机出流量变大)

(es创建角色索引的速度变大)

(2)报给哪采源服务器ip

问题:又不是所有日志都会不打印本机IP,诸如极其错误日志来讲根本无法打印服务器IP。这部分日志收集之后无法怎么区分来源,很难定位问题。

原因:filebeat目前不允许报给本机ip

方案:先添加字段client_ip,重起脚本动态可以修改client_ip为本机IP

filebeat.yml部分配置

restart_示例

效果

十分日志也能定位服务器IP

2.2logstash优化

(1)日志擦洗、格式化

问题:再采集的远古时期日志不规范的要求,必须过滤,磁盘格式化

方案:借用logstash并且清理

示例

效果

以删掉message字段为例看效果

(删除message前冗余设计一份求下载原始日志)

效果

平均每条线日志存储空间从1.2KB下降到0.84KB,下降了近30%的存储

(每隔一天日志统计)

2.3elasticsearch优化

(1)优化模板_template配置

问题:随着王者荣耀wifi特权登陆游戏,日志量骤增,默认配置下磁盘达到瓶颈。

原因:设置为配置满足的条件不了项目不需要

number_with_shards是数据分片数,默认为5

当es集群节点远远超过分片数时,肯定不能充分利用所有节点

number_the_replicas是数据备份数,默认是1

方案:决定模板配置

number_of_shards替换成72

number_of_replicas转成0

效果

每天日志的72个分片均匀地分部在36个节点

(多个节点分区分配了2个分片)

备份文件从1可以改成了0,增加了一半的写入

(io不使用率减低)

3.总结归纳通过以上按照,目前elk日志系统可以不允许每天晚上达到20亿条,2.2TB的日志,峰值修改索引超6万QPS

妖军优化:有所不同配置(磁盘空间)机器按权重分配,充分利用资源

如何搭建中心系统日志审计服务器?

这个最好就是是找专业的公司做,但我建议您你是可以试试看聚铭日志审计系统,内置功能高效报表模板,用户也可以灵话定义。

采用低功耗应用架构设计,行最简形矩阵事件的实时分析、审计要求。

日志 系统 方案 elk 效果

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。