日志系统操作技巧 如何优化日志系统?
如何优化日志系统?
答:此题一份请柬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
妖军优化:有所不同配置(磁盘空间)机器按权重分配,充分利用资源
如何搭建中心系统日志审计服务器?
这个最好就是是找专业的公司做,但我建议您你是可以试试看聚铭日志审计系统,内置功能高效报表模板,用户也可以灵话定义。
采用低功耗应用架构设计,行最简形矩阵事件的实时分析、审计要求。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。