真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何解決filebeat占用Linux空間未釋放的問題-創(chuàng)新互聯(lián)

如何解決filebeat占用Linux空間未釋放的問題,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)專注于東安網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供東安營銷型網(wǎng)站建設(shè),東安網(wǎng)站制作、東安網(wǎng)頁設(shè)計、東安網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造東安網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供東安網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

我們的一臺應(yīng)用服務(wù)器,操作系統(tǒng)是Red Hat Linux,監(jiān)控報警,/opt/applog文件系統(tǒng)使用率超閾值,整體容量為50G,但發(fā)現(xiàn)實際文件容量20G,剩下的30G空間是什么?

我們知道,Linux環(huán)境下,任何事物,都是以文件的形式存在,系統(tǒng)在后臺,為每個應(yīng)用程序,分配了一個文件描述符,他為應(yīng)用程序和操作系統(tǒng)之間的交互操作提供了通用的接口,既然是文件,就會占用空間,此時可以使用lsof指令,他可以列出,當(dāng)前系統(tǒng)正在打開的文件。

> lsof

COMMAND      PID      USER   FD      TYPE    DEVICE  SIZE/OFF      NODE NAME

...

filebeat  111442   app  1r      REG     253,3 209715229   1040407 /opt/applog/E.20171016.info.012.log

filebeat  111442   app  2r      REG     253,3 209715254    385080 /opt/applog/E.20171015.info.001.log (deleted)

...

表頭各字段,含義如下:

COMMAND:進程的名稱
PID:進程標(biāo)識符
USER:進程所有者
FD:文件描述符,應(yīng)用程序通過文件描述符識別該文件。如cwd、txt等
TYPE:文件類型,如DIR、REG等
DEVICE:指定磁盤的名稱
SIZE:文件的大小
NODE:索引節(jié)點(文件在磁盤上的標(biāo)識)
NAME:打開文件的確切名稱

可以看出,有一些行中,NAME標(biāo)識了(deleted),

/opt/applog/E.20171015.info.001.log (deleted)

他的含義,就是這文件已被刪除,但打開文件的句柄,并未關(guān)閉,再看COMMAND的名稱是filebeat,USER進程所有者是app,這是我們的日志采集進程,app用戶開啟了filebeat進程。

插播一下日志采集平臺


  • Elasticsearch是個開源分布式搜索引擎,分布式,零配置,自動發(fā)現(xiàn),索引自動分片,索引副本機制,restful風(fēng)格接口,多數(shù)據(jù)源,自動搜索負載等。

  • Logstash是一個開源的采集工具,他可以對日志進行收集、過濾,并將其存儲供以后使用。

  • Kibana是一個開源的圖形Web工具,可以為Logstash和ElasticSearch提供日志分析友好的Web界面,可以匯總、分析和搜索重要數(shù)據(jù)日志。

對于上面提到的filebeat又是什么?和ELK有什么聯(lián)系?

知乎上有一段大牛饒琛琳的介紹(《ELKstack權(quán)威指南》作者),非常精辟,

引自/tupian/20230522/pblockquotep 因為logstash是jvm跑的,資源消耗比較大,所以后來作者又用golang寫了一個功能較少但是資源消耗也小的輕量級的logstash-forwarder。不過作者只是一個人,加入http://elastic.co公司以后,因為es公司本身還收購了另一個開源項目packetbeat,而這個項目專門就是用golang的,有整個團隊,所以es公司干脆把logstash-forwarder的開發(fā)工作也合并到同一個golang團隊來搞,于是新的項目就叫filebeat了。簡單來講,filebeat就是日志采集的進程agent,負責(zé)采集應(yīng)用日志文件。

對于我上面的這個問題,之所以有大量的(deleted),未釋放文件句柄,還有個背景,就是由于磁盤空間非常有限,臨時加了任務(wù),每小時刪除12小時前的日志,換句話說,定時任務(wù)會自動刪除此時filebeat正在打開著的一些文件,于是這些文件,就變?yōu)榱宋瘁尫诺奈募?,因此實際文件刪除了,但空間未被釋放。

解決方案1:


filebeat的配置文件filebeat.yml,其實有兩個參數(shù),

close_older: 1h

說明:Close older closes the file handler for which were not modified for longer then close_older. Time strings like 2h (2 hours), 5m (5 minutes) can be used.

即如果一個文件在某個時間段內(nèi)沒有發(fā)生過更新,則關(guān)閉監(jiān)控的文件handle,默認1小時。

force_close_files: false

說明:This option closes a file, as soon as the file name changes. This config option is recommended on windows only. Filebeat keeps the files it's reading open. This can cause issues when the file is removed, as the file will not be fully removed until also Filebeat closes the reading. Filebeat closes the file handler after ignore_older. During this time no new file with the same name can be created. Turning this feature on the other hand can lead to loss of data on rotate files. It can happen that after file rotation the beginning of the new file is skipped, as the reading starts at the end. We recommend to leave this option on false but lower the ignore_older value to release files faster.

即當(dāng)文件名稱有變化時,包括改名和刪除,會自動關(guān)閉一個文件。

這兩個參數(shù)結(jié)合起來,根據(jù)應(yīng)用需求,一個文件30分鐘內(nèi)不更新,則需要關(guān)閉句柄,文件改名或刪除,需要關(guān)閉句柄,

close_older: 30m

force_close_files: true

可以滿足,filebeat采集日志,以及定時刪除歷史文件,這兩個任務(wù)的基本要求。

關(guān)于如何解決filebeat占用Linux空間未釋放的問題問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道了解更多相關(guān)知識。


分享標(biāo)題:如何解決filebeat占用Linux空間未釋放的問題-創(chuàng)新互聯(lián)
標(biāo)題URL:http://weahome.cn/article/dsdshi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部