日志系統(tǒng)操作技巧 如何優(yōu)化日志系統(tǒng)?
如何優(yōu)化日志系統(tǒng)?答:此題一份請(qǐng)柬xinghua來(lái)幫下忙,他總結(jié)了不好算項(xiàng)目中對(duì)elk系統(tǒng)的一些調(diào)優(yōu)的經(jīng)驗(yàn),與你能分享百億級(jí)elk日志優(yōu)化紀(jì)實(shí)。導(dǎo)語(yǔ):elk是搭建中實(shí)時(shí)自動(dòng)日志分析系統(tǒng)的通用解決方案,
如何優(yōu)化日志系統(tǒng)?
答:此題一份請(qǐng)柬xinghua來(lái)幫下忙,他總結(jié)了不好算項(xiàng)目中對(duì)elk系統(tǒng)的一些調(diào)優(yōu)的經(jīng)驗(yàn),與你能分享百億級(jí)elk日志優(yōu)化紀(jì)實(shí)。
導(dǎo)語(yǔ):elk是搭建中實(shí)時(shí)自動(dòng)日志分析系統(tǒng)的通用解決方案,通過(guò)elk可以更方便地收集、搜索日志。但隨著日志量的增加,據(jù)不好算應(yīng)用場(chǎng)景的優(yōu)化調(diào)整能更充分的利用系統(tǒng)資源。本文比較多記錄我們項(xiàng)目中對(duì)elk系統(tǒng)的一些調(diào)優(yōu)。伴隨著王者人生查找業(yè)務(wù)的快速發(fā)展,我們每天晚上日志量很快地將近了20億條,存儲(chǔ)達(dá)到2TB,elk日志系統(tǒng)的壓力漸漸減少,日志系統(tǒng)的調(diào)整優(yōu)化也勢(shì)在必行。
1、日志系統(tǒng)架構(gòu)
(elk日志應(yīng)用架構(gòu))
FileBeat是一個(gè)輕量級(jí)的日志收集處理工具(Agent)。
Elasticsearch是個(gè)開(kāi)源代碼分布式搜索引擎,能提供查遍、分析、存儲(chǔ)數(shù)據(jù)三大功能。
Logstash要注意是用來(lái)日志的搜集、分析、水中的雜質(zhì)日志的工具,接受大量的數(shù)據(jù)獲取。
Kibana是可以為L(zhǎng)ogstash和ElasticSearch可以提供的日志分析友好的Web界面,這個(gè)可以好處信息匯總、分析和搜不重要數(shù)據(jù)日志。
2、優(yōu)化軟件日志系統(tǒng)以下要注意可以介紹filebeat、logstash、elasticsearch的一些優(yōu)化調(diào)整
2.1filebeat優(yōu)化軟件
(1)負(fù)載均衡
問(wèn)題:當(dāng)日志量非常大(單機(jī)最多每天超100GB)的模塊必須上報(bào)日志時(shí),日志從空中落下顯示延時(shí)大,要等一段時(shí)間才能在es里查進(jìn)去。
原因:
當(dāng)filebeat.yml配置文件里hosts配置了多個(gè)Logstash主機(jī),而且loadbalance設(shè)置里為true,則輸出低插件會(huì)將已先發(fā)布的事件負(fù)載平衡到所有Logstash主機(jī)上。如果不是可以設(shè)置為false,則輸出插件僅將所有事件發(fā)送到一個(gè)主機(jī)(任務(wù)道具考慮),如果沒(méi)有所選主機(jī)無(wú)響應(yīng),則會(huì)直接切換到另一個(gè)主機(jī)。使用默認(rèn)值為false。
方案:配置多個(gè)hosts,配置loadbalance為true
(修改配置前僅有一個(gè)連接到)
(負(fù)載均衡優(yōu)化后多個(gè)連接)
效果
單機(jī)filebeat吞吐量變大
(多連接上優(yōu)化軟件后單機(jī)出流量變大)
(es創(chuàng)建角色索引的速度變大)
(2)報(bào)給哪采源服務(wù)器ip
問(wèn)題:又不是所有日志都會(huì)不打印本機(jī)IP,諸如極其錯(cuò)誤日志來(lái)講根本無(wú)法打印服務(wù)器IP。這部分日志收集之后無(wú)法怎么區(qū)分來(lái)源,很難定位問(wèn)題。
原因:filebeat目前不允許報(bào)給本機(jī)ip
方案:先添加字段client_ip,重起腳本動(dòng)態(tài)可以修改client_ip為本機(jī)IP
filebeat.yml部分配置
restart_示例
效果
十分日志也能定位服務(wù)器IP
2.2logstash優(yōu)化
(1)日志擦洗、格式化
問(wèn)題:再采集的遠(yuǎn)古時(shí)期日志不規(guī)范的要求,必須過(guò)濾,磁盤(pán)格式化
方案:借用logstash并且清理
示例
效果
以刪掉message字段為例看效果
(刪除message前冗余設(shè)計(jì)一份求下載原始日志)
效果
平均每條線日志存儲(chǔ)空間從1.2KB下降到0.84KB,下降了近30%的存儲(chǔ)
(每隔一天日志統(tǒng)計(jì))
2.3elasticsearch優(yōu)化
(1)優(yōu)化模板_template配置
問(wèn)題:隨著王者榮耀wifi特權(quán)登陸游戲,日志量驟增,默認(rèn)配置下磁盤(pán)達(dá)到瓶頸。
原因:設(shè)置為配置滿足的條件不了項(xiàng)目不需要
number_with_shards是數(shù)據(jù)分片數(shù),默認(rèn)為5
當(dāng)es集群節(jié)點(diǎn)遠(yuǎn)遠(yuǎn)超過(guò)分片數(shù)時(shí),肯定不能充分利用所有節(jié)點(diǎn)
number_the_replicas是數(shù)據(jù)備份數(shù),默認(rèn)是1
方案:決定模板配置
number_of_shards替換成72
number_of_replicas轉(zhuǎn)成0
效果
每天日志的72個(gè)分片均勻地分部在36個(gè)節(jié)點(diǎn)
(多個(gè)節(jié)點(diǎn)分區(qū)分配了2個(gè)分片)
備份文件從1可以改成了0,增加了一半的寫(xiě)入
(io不使用率減低)
3.總結(jié)歸納通過(guò)以上按照,目前elk日志系統(tǒng)可以不允許每天晚上達(dá)到20億條,2.2TB的日志,峰值修改索引超6萬(wàn)QPS
妖軍優(yōu)化:有所不同配置(磁盤(pán)空間)機(jī)器按權(quán)重分配,充分利用資源
如何搭建中心系統(tǒng)日志審計(jì)服務(wù)器?
這個(gè)最好就是是找專業(yè)的公司做,但我建議您你是可以試試看聚銘日志審計(jì)系統(tǒng),內(nèi)置功能高效報(bào)表模板,用戶也可以靈話定義。
采用低功耗應(yīng)用架構(gòu)設(shè)計(jì),行最簡(jiǎn)形矩陣事件的實(shí)時(shí)分析、審計(jì)要求。