集中式日志分析平臺(tái) - ELK Stack - Filebeat 的注意事項(xiàng)

之前阿里的 tailfile 有許多坑含衔,包括對(duì)軟連接支持度不夠泄隔,可能會(huì)有意想不到的后果弄砍,不保證采集數(shù)據(jù)完整性原献。比如有某些 情況下(Checkpoint 文件損毀) 重啟采集進(jìn)程后會(huì)重復(fù)讀取歷史已采集數(shù)據(jù)打爆服務(wù)器 Load。所以盐数,要更好地使用 Filebeat棒拂,我們需要了解 Filebeat 哪些事兒我搞不定哪些事兒我無法承諾玫氢。官方文檔是一個(gè)非常好的參考:Frequently Asked Questions帚屉。

無法從網(wǎng)絡(luò) Volumes 讀取 Log

不建議使用 Filebeat 從網(wǎng)絡(luò) Volumes 讀取日志文件。 盡可能在主機(jī)上安裝 Filebeat 并從那里直接發(fā)送日志文件漾峡。 從網(wǎng)絡(luò)Volumes 讀取文件(尤其是在Windows上)可能會(huì)產(chǎn)生意外的副作用攻旦。 例如,更改的文件標(biāo)識(shí)符可能導(dǎo)致 Filebeat 再次從頭讀取日志文件生逸。

Filebeat 無法采集數(shù)據(jù)

這可能是因?yàn)?Filebeat 配置不正確或無法將事件發(fā)送到 output牢屋,解決方案:

  • 確保配置文件指定正在收集的文件的正確路徑。 有關(guān)詳細(xì)信息槽袄,請參閱 Step 2: Configuring Filebeat烙无。
  • 驗(yàn)證文件是否早于 ignore_older 指定的值。 ignore_older 默認(rèn)是禁用的遍尺,這取決于設(shè)置的值截酷。 我們可以通過為 ignore_older 指定不同的值來更改此行為。
  • 確保 Filebeat 能夠?qū)⑹录l(fā)送到已配置的 output乾戏。 在調(diào)試模式下運(yùn)行 Filebeat 以確定它是否成功發(fā)布事件:

./filebeat -c config.yml -e -d "*"

下面說說 ignore_older 這個(gè)配置:

如果啟用此選項(xiàng)迂苛,F(xiàn)ilebeat 將忽略在指定時(shí)間跨度之前修改的任何文件。 如果我們將日志文件保留很長時(shí)間鼓择,那么配置ignore_older 尤其有用三幻。 例如,如果要啟動(dòng) Filebeat呐能,但只想發(fā)送最新文件和自上周以來的文件念搬,則可以配置此選項(xiàng)。我們可以使用時(shí)間字符串催跪,如 2h(2小時(shí))和 5m(5分鐘)锁蠕。 默認(rèn)值為0,禁用該設(shè)置懊蒸。 注釋掉配置與將其設(shè)置為0具有相同的效果荣倾。

注意:我們必須設(shè)置 ignore_older > close_inactive。

配置項(xiàng) close_inactive 表示在 harvester 讀取某文件最后一行日志之后骑丸,持續(xù)時(shí)間內(nèi)某文件沒有再寫入日志舌仍,F(xiàn)ilebeat 將關(guān)閉文件句柄妒貌,默認(rèn)是 5m。

發(fā)生 Too many open files

Filebeat 會(huì)持續(xù)保持著句柄铸豁,以便以便它可以近乎實(shí)時(shí)地讀取新的日志行灌曙。如果 Filebeat 正在收集大量文件,則打開的文件數(shù)可能會(huì)成為問題节芥。在大多數(shù)環(huán)境中在刺,活動(dòng)更新的文件數(shù)較少。應(yīng)相應(yīng)設(shè)置 close_inactive 配置選項(xiàng)以關(guān)閉不再活動(dòng)的文件头镊。

還有其他配置選項(xiàng)可以用來關(guān)閉文件處理程序蚣驼,但是所有這些配置選項(xiàng)都應(yīng)該仔細(xì)使用,因?yàn)樗鼈兛赡苡懈弊饔孟嗤А_x項(xiàng)是:

close_renamed
close_removed
close_eof
close_timeout
harvester_limit
close_renamedclose_removed 選項(xiàng)在 Windows 上可用于解決與 log rotate 相關(guān)的問題颖杏。請參閱 the section called “Open file handlers cause issues with Windows file rotation?close_eof 選項(xiàng)在包含大量文件且只有很少 entries 的環(huán)境中很有用坛芽。close_timeout 選項(xiàng)在允許數(shù)據(jù)丟失且必須對(duì)文件句柄關(guān)閉非常重視的情況下非常有用留储。有關(guān)更多詳細(xì)信息,請參閱 Filebeat Prospectors Configuration咙轩。

在使用任何配置選項(xiàng)之前获讳,請確保閱讀了這些配置選項(xiàng)的文檔。

Registry file 過大

Filebeat保持每個(gè)文件的狀態(tài)臭墨,并將狀態(tài)保持在 registry_file 中赔嚎。 Filebeat 重新啟動(dòng)時(shí)膘盖,文件狀態(tài)用于繼續(xù)在先前位置讀取文件胧弛。 如果每天生成大量的新文件,則 文registry_file 件可能會(huì)增長得太大侠畔。 要減小 registry_file 的大小结缚,有兩個(gè)可用的配置選項(xiàng):clean_removedclean_inactive

對(duì)于不再 touch 并需要 ignore 的舊文件软棺,建議使用 clean_inactive红竭。 對(duì)于已經(jīng)從磁盤刪除的舊文件,則使用 clean_removed 選項(xiàng)喘落。

Inode 復(fù)用造成數(shù)據(jù)采集缺失

在 Linux 文件系統(tǒng)上茵宪,F(xiàn)ilebeat 使用 inode 和 device 來標(biāo)識(shí)文件。當(dāng)文件從磁盤中刪除時(shí)瘦棋,可以將 inode 分配給一個(gè)新文件稀火。在涉及文件輪換的用例中,如果舊文件被刪除赌朋,并且之后立即創(chuàng)建新文件凰狞,則新文件可以具有與被移除的文件完全相同的 inode篇裁。在這種情況下,F(xiàn)ilebeat 假定新文件與舊文件相同赡若,并嘗試在舊 offset 繼續(xù)讀取达布,這是不正確的。

默認(rèn)情況下逾冬,永遠(yuǎn)不會(huì)從 registry_file 中刪除黍聂。要解決 inode 復(fù)用問題,建議使用 clean_ * 選項(xiàng)身腻,特別是 clean_inactive分冈,以刪除非活動(dòng)文件的狀態(tài)。例如霸株,如果文件每 24 小時(shí)輪換一次雕沉,并且輪轉(zhuǎn)的文件不再更新,可以將ignore_older 設(shè)置為48小時(shí)去件,將 clean_inactive 設(shè)置為72小時(shí)坡椒。

對(duì)于從磁盤中刪除的文件,可以使用 clean_removed 尤溜。請注意倔叼,每當(dāng)在掃描期間找不到文件時(shí),clean_removed 會(huì)從 registry_file 清除文件狀態(tài)宫莱。如果文件稍后再次顯示丈攒,則將從頭重新發(fā)送。

Filebeat 使用了過多 CPU

Filebeat 可能被配置為太頻繁地掃描文件授霸。 檢查 filebeat.yml 配置文件中 scan_frequency 的設(shè)置巡验。 將scan_frequency 設(shè)置為小于1秒可能導(dǎo)致 Filebeat 掃描磁盤過于頻繁。

字段在 Kibana 可視化中不可被索引

如果最近執(zhí)行了 loads 或解析自定義結(jié)構(gòu)化日志的操作碘耳,則可能需要刷新索引以使字段在 Kibana 中可用显设。 要刷新索引,請使用刷新API辛辨。 例如:

curl -XPOST 'http://localhost:9200/filebeat-2016.08.09/_refresh'

Filebeat 總是不發(fā)送文件的最后一行

Filebeat 使用換行符來檢測事件的結(jié)束捕捂。 如果行被遞增地添加到正在收集的文件,則最后一行之后需要換行符斗搞,否則Filebeat 將不會(huì)讀取文件的最后一行指攒。

如何對(duì) Filebeat 限帶寬

如果需要限制帶寬使用,建議在操作系統(tǒng)上配置網(wǎng)絡(luò)堆棧以執(zhí)行帶寬限制僻焚。

例如允悦,以下 Linux 命令通過在端口 5044 上對(duì) TCP 連接設(shè)置 50 kbps 的限制來限制 Filebeat 和 Logstash 之間的連接:

tc qdisc add dev $DEV root handle 1: htb
tc class add dev $DEV parent 1:1 classid 1:10 htb rate 50kbps ceil 50kbps
tc filter add dev $DEV parent 1:0 prio 1 protocol ip handle 10 fw flowid 1:10
iptables -A OUTPUT -t mangle -p tcp --dport 5044 -j MARK --set-mark 10

使用OS工具執(zhí)行帶寬限制可以更好地控制策略。 例如溅呢,可以使用操作系統(tǒng)工具在白天限制帶寬澡屡,但不能在夜間限制猿挚。 或者,可以保留帶寬未封頂驶鹉,但為流量分配低優(yōu)先級(jí)绩蜻。

常見的 SSL 相關(guān)錯(cuò)誤和解決方案

以下是一些常見的錯(cuò)誤和解決方法:

x509: cannot validate certificate for <IP address> because it doesn’t contain any IP SANs

這是因?yàn)樽C書僅對(duì) Subject filed 中顯示的 hostname 有效。要解決此問題室埋,請嘗試以下解決方案:

  • 為主機(jī)名創(chuàng)建一個(gè)DNS條目办绝,將其映射到服務(wù)器的IP。
  • /etc/hosts中為主機(jī)名創(chuàng)建一個(gè)條目姚淆≡胁酰或在 Windows 上添加一個(gè)條目到C:\Windows\System32\drivers\etc\hosts
  • 重新創(chuàng)建服務(wù)器證書腌逢,并為服務(wù)器的IP地址添加 SubjectAltName(SAN)降淮。這使服務(wù)器的證書對(duì)主機(jī)名和IP地址都有效。

getsockopt: no route to host
這不是SSL問題搏讶。這是一個(gè)網(wǎng)絡(luò)問題佳鳖。確保兩個(gè)主機(jī)可以通信。

getsockopt:connection refused
這不是SSL問題媒惕。確保 Logstash 正在運(yùn)行系吩,并且沒有防火墻阻止流量。

No connection could be made because the target machine actively refused it
防火墻拒絕連接妒蔚。檢查防火墻是否阻止客戶端穿挨,網(wǎng)絡(luò)或目標(biāo)主機(jī)上的流量。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肴盏,一起剝皮案震驚了整個(gè)濱河市科盛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叁鉴,老刑警劉巖土涝,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異幌墓,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)冀泻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門常侣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人弹渔,你說我怎么就攤上這事胳施。” “怎么了肢专?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵舞肆,是天一觀的道長焦辅。 經(jīng)常有香客問我,道長椿胯,這世上最難降的妖魔是什么筷登? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮哩盲,結(jié)果婚禮上前方,老公的妹妹穿的比我還像新娘。我一直安慰自己廉油,他們只是感情好惠险,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抒线,像睡著了一般班巩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嘶炭,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天趣竣,我揣著相機(jī)與錄音,去河邊找鬼旱物。 笑死遥缕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的宵呛。 我是一名探鬼主播单匣,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宝穗!你這毒婦竟也來了户秤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤逮矛,失蹤者是張志新(化名)和其女友劉穎鸡号,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體须鼎,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鲸伴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晋控。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片汞窗。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖赡译,靈堂內(nèi)的尸體忽然破棺而出仲吏,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布裹唆,位于F島的核電站誓斥,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏许帐。R本人自食惡果不足惜劳坑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舞吭。 院中可真熱鬧泡垃,春花似錦、人聲如沸羡鸥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惧浴。三九已至存和,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間衷旅,已是汗流浹背捐腿。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留柿顶,地道東北人茄袖。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像嘁锯,于是被迫代替她去往敵國和親宪祥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容