資訊系統每日產生海量的記錄,主機數量也不少,如果沒有良好的集中管理機制,想要從中找到線索,無異於海底撈針。
在很多年以前,我就因此困擾不已,所以需要搭配好的工具加以輔助。
商業方案
有的,下面這一套就是我當時最喜歡的解決方案。(當然,現在還是)
毫不猶豫,Splunk 絕對是記錄分析界中的第一把交椅,功能強大、外掛眾多,不愧其號稱「Log 界的 Google」。
不過,Splunk 的計價模式也是驚人的名列前茅,但又很想用怎麼辦呢?沒關係,他有提供每日 500MB 流量的免費版本。(其實 500MB 一下子就滿了.....)
除此之外,還有另一家國際大廠也有類似產品,然而 Splunk 太過耀眼,相比之下稍微暗淡,但仍然是一款極好的產品。
其實,國內也有廠商開發出同類型的優秀產品。
儘管如此,這類產品的費用仍然較高,有些更是以流量計價的,如果流量過高買不起怎麼辦?
不過,Splunk 的計價模式也是驚人的名列前茅,但又很想用怎麼辦呢?沒關係,他有提供每日 500MB 流量的免費版本。(其實 500MB 一下子就滿了.....)
除此之外,還有另一家國際大廠也有類似產品,然而 Splunk 太過耀眼,相比之下稍微暗淡,但仍然是一款極好的產品。
其實,國內也有廠商開發出同類型的優秀產品。
儘管如此,這類產品的費用仍然較高,有些更是以流量計價的,如果流量過高買不起怎麼辦?
這張投影片真好用,一次製作常常用到(誤)
在開源軟體陣營中,有許多套件分別具有不同的能力,將其組合起來可以收到接近的效果。
例如經典的「ELK」組合,Elasticsearch + Logstash + Kibana。
這裡有幾篇我當時參考的文章:
- [ELK Stack]利用logstash,elsticsearch與kibana來分析log
http://www.evanlin.com/using-logstash-elsticsearch-and-kibana/
- ELK日志套件安装与使用 - JadePeng - 博客园
http://www.cnblogs.com/xiaoqi/p/elk-part1.html
- ELK日志收集系统搭建 | ChenJiehua
https://chenjiehua.me/linux/elk-log-system-setup.html
引用最後一個網站的圖片來看看效果:
圖片引用自 ELK日志收集系统搭建 | ChenJiehua
在好幾年前我有使用,這三個套套件分別負責資料搜集、搜尋分析、介面功能,但是在架設與整合上比較繁雜,用了一段時間後我就沒有再繼續使用。
現在新的版本把「2」給拿掉,名字為「Graylog」。
Graylog 簡單來說,可以看成是「Splunk 替代版」,很多功能項目設計與 Splunk 使用上非常相似,對於喜愛使用 Splunk 的我來說,幾乎是無痛轉換。
更有趣的是,Graylog 還特別推出了「Graylog Plugin for Splunk」,讓 Graylog 與 Splunk 的記錄可以介接。
重點功能展示
Graylog 安裝容易,功能也眾多,直接看圖。
介面上分為三大區塊,上方是搜尋列,左方是欄位選擇區,右方是結果列表。
[搜尋列]
[欄位區]
[結果列表]
所以,我們可以將許多不同裝置的 Log 都收集到 Gralyog 中,再透過關鍵欄位就可以立即串出整個事件的進程,一份列表,一次解決。
不過,手動分析事件固然功能強大,但如果每次都要如此勞師動眾,成本委實過高。
沒關係,開源版的 Graylog 提供了 Dashboard 儀表版功能,我們可以任意的將查詢結果組合成儀表版上的區塊,區塊可以是總數、圖表、列表、地圖...等多種應用,並且隨時自動更新,還可以點選區塊,進去查看事件清單做其它的內容分析應用。
舉一個我最常看、也是許多 MIS 人員最需要的 AD 帳號相關事件來說,如果能有一個儀表版隨時查看帳號的異動、鎖定,就是天大的好物啊!
很不幸的,Graylog 剛好可以提供這樣的能力,而且不需要你花半毛錢。
更過份的是,他連 Alerting 機制都一併提供了,我們可以設定條件,再發送警告給管理人員做即時處理。
如果是多位管理者一同使用 Graylog,除了內建的帳號管理機制外,已直接整合 LDAP/AD 外部驗證機制,可以節省身份的管理時間與成本。
記錄查看頁面
記錄
介面上分為三大區塊,上方是搜尋列,左方是欄位選擇區,右方是結果列表。
[搜尋列]
可以用多種時間區段選擇,搜尋列可以使用專用語法來增加搜尋的彈性,其實有點類似 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 亦有推出商業解決方案,可以做為選項之一。
完整資料
更詳細的內容,請參閱官方網站。
- Graylog | Open Source Log Management
https://www.graylog.org/
- GitHub - Graylog2/graylog2-server
https://github.com/Graylog2/graylog2-server