2017年12月31日 星期日

[工具推薦]開源記錄即時分析系統 - Graylog




資訊系統每日產生海量的記錄,主機數量也不少,如果沒有良好的集中管理機制,想要從中找到線索,無異於海底撈針。

在很多年以前,我就因此困擾不已,所以需要搭配好的工具加以輔助。


商業方案


有的,下面這一套就是我當時最喜歡的解決方案。(當然,現在還是)





毫不猶豫,Splunk 絕對是記錄分析界中的第一把交椅,功能強大、外掛眾多,不愧其號稱「Log 界的 Google」。

不過,Splunk 的計價模式也是驚人的名列前茅,但又很想用怎麼辦呢?沒關係,他有提供每日 500MB 流量的免費版本。(其實 500MB 一下子就滿了.....)

除此之外,還有另一家國際大廠也有類似產品,然而 Splunk 太過耀眼,相比之下稍微暗淡,但仍然是一款極好的產品。




其實,國內也有廠商開發出同類型的優秀產品。



儘管如此,這類產品的費用仍然較高,有些更是以流量計價的,如果流量過高買不起怎麼辦?


這張投影片真好用,一次製作常常用到(誤)




時機不好,穩穩的做吧,尤其是 Splunk 的流量方案,費用非常驚人。




開源軟體方案


別擔心,開源軟體方案依然為您點了一盞明燈,指引您通往偉大的寶藏。





在開源軟體陣營中,有許多套件分別具有不同的能力,將其組合起來可以收到接近的效果。

例如經典的「ELK」組合,Elasticsearch + Logstash + Kibana









這裡有幾篇我當時參考的文章:


引用最後一個網站的圖片來看看效果:






在好幾年前我有使用,這三個套套件分別負責資料搜集、搜尋分析、介面功能,但是在架設與整合上比較繁雜,用了一段時間後我就沒有再繼續使用。


後來找著找著,本人運氣實在是不錯,讓我找到另一個套件 Graylog2。

現在新的版本把「2」給拿掉,名字為「Graylog」。



Graylog 簡單來說,可以看成是「Splunk 替代版」,很多功能項目設計與 Splunk 使用上非常相似,對於喜愛使用 Splunk 的我來說,幾乎是無痛轉換。

更有趣的是,Graylog 還特別推出了「Graylog Plugin for Splunk」,讓 Graylog 與 Splunk 的記錄可以介接。



重點功能展示

Graylog 安裝容易,功能也眾多,直接看圖。


記錄查看頁面


記錄


介面上分為三大區塊,上方是搜尋列,左方是欄位選擇區,右方是結果列表。

[搜尋列]
可以用多種時間區段選擇,搜尋列可以使用專用語法來增加搜尋的彈性,其實有點類似 SQL Query。

[欄位區]
可以決定要顯示那些欄位,或是針對特定欄位結果直接呈現為「Quick Value」排行榜或圖表,單鍵點擊就能完成。

[結果列表]
上半部是時間軸圖表,可以一眼看出那些時間點的異常狀況,可以直接在上面拖拉選擇就直接代入時間搜尋條件。
結果列表下半部,點選任一個欄位結果,都可以自動帶入搜尋條件裡,再往下做更深入的篩選。


Quick Value 快速總覽



所以,我們可以將許多不同裝置的 Log 都收集到 Gralyog 中,再透過關鍵欄位就可以立即串出整個事件的進程,一份列表,一次解決。


成功串起相關裝置的事件始末



不過,手動分析事件固然功能強大,但如果每次都要如此勞師動眾,成本委實過高。


儀表版


沒關係,開源版的 Graylog 提供了 Dashboard 儀表版功能,我們可以任意的將查詢結果組合成儀表版上的區塊,區塊可以是總數、圖表、列表、地圖...等多種應用,並且隨時自動更新,還可以點選區塊,進去查看事件清單做其它的內容分析應用。

舉一個我最常看、也是許多 MIS 人員最需要的 AD 帳號相關事件來說,如果能有一個儀表版隨時查看帳號的異動、鎖定,就是天大的好物啊!

很不幸的,Graylog 剛好可以提供這樣的能力,而且不需要你花半毛錢。

儀表版應用:AD 帳號總覽 (1)



儀表版應用:AD 帳號總覽 (2)



儀表版應用:AD 登入事件



更過份的是,他連 Alerting 機制都一併提供了,我們可以設定條件,再發送警告給管理人員做即時處理。



帳號驗證


如果是多位管理者一同使用 Graylog,除了內建的帳號管理機制外,已直接整合 LDAP/AD 外部驗證機制,可以節省身份的管理時間與成本。

LDAP/AD 外部驗證






結論


對於記錄檔集中且即時分析有需求的朋友,Graylog 是一個非常理想的開源方案,在許多的應用場合都可以滿足使用需求。

如果仍有功能不夠或是需要支援者,Graylog 亦有推出商業解決方案,可以做為選項之一。


完整資料


更詳細的內容,請參閱官方網站。