什麼是Splunk?
Splunk是一個功能強大的日誌管理工具,它不只能夠用多種方式來添加日誌,生產圖形化報表,最厲害的是它的搜索功能 - 被稱爲「Google for IT」。Splunk有免費和收費版,最主要的差異在於天天的索引容量大小(索引是搜索功能的基礎),免費版天天最大爲500M。在使用免費版時,若是在30天以內,有7天的索引數據量超過500M,那麼就不能夠在搜索了(真是惋惜啊!)。根據你的須要,你能夠選擇購買天天的索引容量大小。
如何安裝Splunk?
Splunk支持多種操做系統,但若是要經過WMI的方式來蒐集Windows的日誌的話,那麼Splunk必須裝在Windows操做系統上。我這裏用的是Windows 2003 Standard服務器,具體的安裝步驟很簡單,根據嚮導一步步的進行就好。
如何配置Splunk?
如前面提到過的,Splunk能夠經過多種方式來收集日誌,主要包括監聽syslog消息,訪問WMI,監控日誌文件,FIFO隊列。我這裏以幾個典型配置爲例:
1)經過syslog來收集Cisco網絡設備的日誌
在Cisco網絡設備上的配置命令通常爲:
logging <
syslog server IP Address>
logging trap <
severity>
Splunk默認使用UDP 514端口來監聽syslog消息。
如:
logging 172.29.1.1
logging trap warning
2)經過syslog來收集Linux主機的日誌
在Linux主機上的配置通常爲:
修改/etc/syslog.conf配置,添加如下兩行:
# Send syslog to Splunk server
*.<severity> @<
syslog server IP Address>
如:
# Send syslog to Splunk server
*.debug @172.29.1.1
3)經過WMI來收集Windows主機的日誌
- 首先要確保運行Splunk服務(在服務管理器中顯示爲Splunkd)的賬號有權限就去讀取遠程Windows機器的WMI信息。
- 而後就是要在Splunk服務器上作一下簡單的配置:Splunk的安裝路徑默認爲C:\Program Files\Splunk。在C:\Program Files\Splunk\etc\system\local文件下修改inputs.conf文件,添加如下內容:
[script://$SPLUNK_HOME\bin\scripts\splunk-wmi.py]
interval = 10
source = wmi
sourcetype = wmi
disabled = 0
- 接着在同一目錄中新建一個文本文件,命名爲wmi.conf,並添加如下內容:
[WMI:<
Name>]
server = <
Remote Windows Host IP Address>
interval = 60
event_log_file = <
Event log Type>
disabled = 0
好比監控IP地址爲172.29.1.30的Windows主機上Application和System的Event Log:
[WMI:AppAndSys]
server = 172.29.1.30
interval = 60
event_log_file = Application, System
disabled = 0
如何使用Splunk?
Splunk採用B/S模式,默認端口爲8000。如訪問本文中的Splunk服務器,只須要在瀏覽器中輸入
[url]http://172.29.1.1:8000[/url]。免費版的是不須要用戶認證即可登陸的,30天試用企業版的是須要認證的,登陸賬號是:用戶爲admin,密碼爲changeme。登陸後能夠清楚的看到在過去的一小時內出現的日誌報錯狀況。點擊任何一個時間點,Splunk會打開相應的詳細日誌。這對咱們監控整個企業IT系統以及分析問題都提供了極大的幫助。
那麼Google for IT是怎麼體現的呢?Splunk提供一套關鍵字搜索的規則,利用這套規則能夠進行很是精確的搜索。好比我想查看關於用戶Jackie Chen和Michael Jordan在過去24小時內的全部相關日誌的話,就能夠在搜索處輸入以下關鍵字。
Splunk還容許用戶保留本身的搜索規則,這樣就不用每次搜索同一內容都輸入一遍關鍵字了。利用這一點,我分別爲全部的網絡設備,Windows主機和Linux主機創建的相應的搜索,並保存在一個新建的Dashboard中,這樣我天天只要打開這個Dashboard就能夠清楚的瞭解全部設備的日誌狀況。