ヽ(・ω・。)ノ有沒這樣一個日誌管理系統?

最早接觸的日誌管理應用是ELK,當時忽悠君坐在我對面成天喊要招個ES的大牛,一會林大師又在旁邊寫着各種正則式。還搞不清楚狀況的我就開始改KIBANA,給KIBANA換個皮。無奈KIBANA實在太不好改了,時間也不是特別充裕,好吧,從頭寫一個還快,雖然效果不太好。具體那玩意是做什麼的,當時也沒細想,反正能展示出來就好了,就是給個關鍵字,然後展示下對應人日誌。

過了沒多久,就跑去聽了一下Splunk的安利會議,聽半天,好像什麼都沒收穫到,提問的人問的問題也很技術,沒有落到實用性上。不過現在回過頭來想想,要說收穫其實也算有的,就是我坐在會場,安裝了環境之後半天都沒搞明白怎麼把日誌塞進去。。。一堆的選項,都不知道點哪個好。再後來,就入坑了(具體是怎麼入的參見《自動化運維軟件設計實戰》。。血淚史 (≡ω≡.) )

經歷了一系列系統開發與運維後,其實作爲開發者,我希望我接入的日誌管理系統是這樣的。

能夠讓我輕易的就把日誌放進去

也算是當初剛上手Splunk的不滿之一,太多的選項,都不知道點哪個,點下去會不會爆炸什麼的。其實,作爲開發者,我不就想把一些日誌都收集起來,方便找嘛

不要一上來就要我寫正則式

寫了這麼久程序,反正我是記不住幾個正則式(/”≡ _ ≡)/~┴┴ (這反人類的正則式。。。我就只記住了.*)最好是能通過簡單的幾個符號就解決搜索的問題了(假如在谷歌或者百度上面搜個東西還要用正則式的話,請自行腦補)

能夠搜索到上下文

有些時候日誌打的很快,他們可能是不同線程打出來的,他們可能是不同服務器打出來的(不過帶有一定的先後性),他們可能是不同應用打出來的,這個時候上下文就很重要了,沒有了上下文,無論是運維還是開發,在排除的時候都只能看到一個點,沒辦法根據實際的情況進行排查。遇到複雜問題的時候也就這麼2種處理方法。一種是:哦,這樣啊,我試了沒什麼問題啊,要不,你下次再做操作的時候我這邊也一起看看?另外一種情況是:這樣啊,我們花時間查查究竟是什麼原因(有很大機率是查不出來的ㄟ( ▔, ▔ )ㄏ )然後就不了了之了。所以上下文其實是挺重要的。這個地方出錯了,那前面發生了什麼事情了呢?

能夠對日誌進行平行的分析

場景1:在應用穩定之前,我基本上都是採取單服務器的方式跑,有些小夥伴會說,你這樣單點了呢,不夠可靠。且不說應用未完全穩定之前會對程序頻繁的進行改動導致發佈的不便(好吧,這個時候那些搞CI的就會跳出來了,我只能說,事情總不是想象中那麼順利的(´Д`) ,而且。。我一個人的話,我也懶得去搞就是了,哈哈),特別是多臺服務器打日誌的時候,我就會很煩惱,究竟這個請求落到哪臺服務器上了? 報的什麼樣的錯誤?爲什麼其他服務器上又不會等等問題。碰到這種情況下,也就只能一臺一臺的登上去,tail -f xxxx.log,然後喊:”麻煩。。再點一次試試“。

場景2:小菜找到DBA,覺得數據庫的主從是不是沒同步到,DBA登上主庫打開binlog,再登上從庫打開binlog,看完日誌之後,告訴小菜,從日誌上來看,他們是同步的。

能夠提取一些有價值的數據,做點圖表

小菜在調用公司另外一個業務的接口的時候速度慢的不行,對方總說沒問題啊,我這邊看都挺好的。小菜心想,好吧,你不認賬,我給你放個監控,每分鐘都撥測你一下,等我手裏有數據了,我還怕你不成?結果一週下來了,監控到的指標性能都挺不錯的,但是用戶還是反應調用接口的時候性能很差。無奈的小菜翻了翻服務器上自己每次調用接口打出來的日誌,的確是挺慢的。但是小菜也沒辦法,這。。舊的日誌自己當做垃圾數據給rm掉了,新的數據有是有那麼些,但是一方面數據量不夠,另外一方面,自己再去這麼一堆日誌文件裏面提取挺費勁的,╮(╯▽╰)╭趕進度趕進度,性能的事情以後再說吧。

能夠產生告警

監控告警這種事情本應該是監控系統乾的,但是從日誌上出發,也會給我們帶來不一樣的想法:在一個陽光明媚的早上,小菜熟練的打開了MySQL的客戶端工具,在鍵盤下敲下來select * from …. 結果半天回不來結果?”奇怪?昨天都還很正常的啊?“於是趕緊向DBA求助,DBA登上服務器一看日誌,發現服務器磁盤滿了。。。。當然這種情況在生產環境下還是比較少見的,但是另外一種情況就比較多見了。B系統對A系統提供了對外的接口,A系統調用後出現調用失敗,或者B系統返回調用成功但實際上卻是調用失敗的情況。這種時候就應該出現告警信息,提醒我們需要留意這個事件了,不然對於某些關鍵業務很容易就會出大問題的。(同時也保留一些罪證,哈哈哈o(*≧▽≦)ツ┏━┓)

小結

日誌管理應用能夠做的事情其實也挺多的,以上只是一些比較零散的點,晚上泡完腳突然有些想法,寫下來順便分享一下(話說晚上泡個腳還是挺舒服的(•̀ᴗ•́)و ̑̑ )但是都是從實際應用上出發提出的。看到過有些廠商貌似做了個服務器掛了之後就把日誌傳回去,然後自動生成一個case,接着就會有人處理了(好吧,反正我就只看過這種推廣 (´・ω・`)。。實際是不是這個效果我就不知道了)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章