iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 18
6

https://ithelp.ithome.com.tw/upload/images/20190930/20118848WfRMDkdw9i.png

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

在很多年以前,我就為此困擾不已。因此需要搭配好的工具加以輔助,方可協助我們儘快的從龐大記錄群裡快速指向線索,找到問題的原因。


方案介紹

在開源軟體的領域裡,也有著非常優秀而且好用的軟體,同時使用起來的習慣也並不輸給許多商業軟體,對於有大量資料需要分析收容的情況,將是良好的解決方案。

Graylog 做為一套事件記錄管理與分析系統,它能夠提供以下的功能:

  • 全 Web 化操作介面
  • 收集多種格式與主機記錄
  • 支援叢集運作機制
  • 資料內容即時剖析
  • 自訂欄位解析方式
  • 自訂資訊看板內容
  • 警報發送機制

利用上述這些功能互相搭配,可以讓純文字記錄檔的內容活化起來,成為容易在快速眼球觀看即可看趨勢或問題所在。


安裝方式

由於 Graylog 整合了許多開源套件,因此安裝的程序稍微多了一些,本處以 Ubuntu 18.04 為例。

環境準備

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen

安裝 MongoDB

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl restart mongod.service

安裝 Elasticsearch

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
sudo apt-get update && sudo apt-get install elasticsearch-oss
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service

安裝 Graylog

wget https://packages.graylog2.org/repo/packages/graylog-3.1-repository_latest.deb
sudo dpkg -i graylog-3.1-repository_latest.deb
sudo apt-get update && sudo apt-get install graylog-server
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service

至此已經完成基本安裝,您可以開啟瀏覽器進入 http://ip:9000 ,預設帳密均為 admin。


主要功能

登入之後,預設會停留在 Search 功能裡,若已有收取過的資料就會呈現在下方。

https://ithelp.ithome.com.tw/upload/images/20190930/20118848wuof3ZQs6w.png
搜尋功能畫面

在所有收進來的記錄裡,會依據所能識別的內容或是自訂過的剖析方式,把欄位拆出來放在左邊供挑選。以下圖為例,您可以展開 [EventID] 並點選 [Quick values],即可在右方視窗中出現快速統計與分佈,而且右邊的數據還可以點選它帶入做為篩選條件,可以大幅簡短輸入查詢字串的時間。

https://ithelp.ithome.com.tw/upload/images/20190930/20118848nzicEFMfW6.png
Quick values 功能

預設的記錄清單只會顯示 Timestamp 與 Source 欄位,為了查閱與比對方便,可以自己加入需要的欄位。

從左方勾選想要觀看的欄位 (1),右邊即會出現 (2);而該筆記錄的詳細資訊,可以在點選該列後展開以表格顯示 (3)。

https://ithelp.ithome.com.tw/upload/images/20190930/201188489nUKhYYN3S.png
欄位與詳細資料

經過這些操作,能夠大大的減少使用上的繁瑣步驟,簡單點點滑鼠就可以看到所需要的資訊。那麼如果我看到了有用的關鍵字,想要把他做為篩選的條件內容又該怎麼處理呢?

同樣也可以動動手點選就完成這個操作,以剛剛的資訊為例,我想要把 EventID 為 4634 這個值帶入篩選,請點選該列資料後方的放大鏡按鈕。

https://ithelp.ithome.com.tw/upload/images/20190930/20118848ZuN6ukezyK.png
將欄位數值帶入篩選字串

上一個步驟會把該欄位的值以搜尋字串格式代入為 EventID:4636 (1),接著再點選前方的放大鏡按鈕 (2),下方的資料就已經以最新的篩選內容呈現。

https://ithelp.ithome.com.tw/upload/images/20190930/20118848VNSlWM8r3w.png
以篩選字串進行搜尋

若想要以日期區間進行篩選,有兩種方式,一種是直接在時間軸上選取範圍,它會把選取的範圍帶入搜尋欄位,同樣再按下放大鏡按鈕即可。

https://ithelp.ithome.com.tw/upload/images/20190930/20118848aQLuOuqvcO.png
以時間軸選取時間圍

第二種方式是選取搜尋列上方的時間條件欄位,下拉後有許多選項可以使用。在下拉清單的前方按鈕,另外可以選擇以相對時間、絕對時間或關鍵字方式進行選擇。

https://ithelp.ithome.com.tw/upload/images/20190930/20118848zeS0bDTbs5.png
快速選取時間範圍


小結

經過上述的操作流程,我們已經可以利用 Graylog 進行各種基本操作以及結合多種條件篩選出我們想要的資料,而且操作真的不難又相當快速。

不過好像少了一件事,我們還沒有談到怎麼把其它系統的 Log 記錄餵給 Graylog 來處理?沒關係,這就是我們下一篇要談的主題,明日再戰。


參考資料


上一篇
開源 IP 位址管理系統:phpIPAM
下一篇
開源記錄集中管理系統:Graylog (二)
系列文
突破困境:資安開源工具應用33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
Tung
iT邦新手 5 級 ‧ 2019-10-02 11:57:02

安裝時有遇到Graylog無法啟動的問題,
檢查log發現要在/etc/graylog/server/server.conf中設定password_secret
可用pwgen -N 1 -s 96來產生secret key

Graylog Version: v3.1.2+9e96b08
OS: Ubuntu 18.04.3

0
歐裔系番薯
iT邦新手 5 級 ‧ 2020-04-29 20:53:17

請問一下,上述看到Graylog頁面收集到的Windows event log資訊,是透過什麼方式倒到graylog Server的呢?

是用戶端電腦要安裝對應的Agnet嗎?

0
11046
iT邦新手 5 級 ‧ 2020-09-17 11:19:45

我們的版本是3.3.2,為什麼沒看到Search result的功能畫面,請問要如何開啟。

我要留言

立即登入留言