標籤:
資訊科技的不斷進步,一方面使得銀行業資訊和資料邏輯集中程度不斷得到提高,另一方面又成為銀行業穩健啟動並執行一大安全隱患。Splunk作為智能的IT管理營運平台,能夠協助銀行業積極迎接、應對和解決不斷出現的各種風險,為其完善IT體系,建立良好的風險管理,提高風險控制能力,實現網路經濟時代銀行業的新發展。
什麼是Splunk? Splunk是一個功能強大的日誌管理工具,它不僅可以用多種方式來添加日誌,生產圖形化報表,最厲害的是它的搜尋功能 - 被稱為“Google for IT”。Splunk有免費和收費版,最主要的差別在於每天的索引容量大小(索引是搜尋功能的基礎),免費版每天最大為500M。在使用免費版時,如果在30天之內,有7天的索引資料量超過500M,那麼就不可以在搜尋了(真是可惜啊!)。根據你的需要,你可以選擇購買每天的索引容量大小。
面對快速變化的業務和日趨複雜的網路應用環境,不少IT管理者追趕變化的腳步卻是舉步維艱。原因是多方面的,傳統基於關係型資料庫的IT管理平台無疑是其中一個重要因素。傳統的IT管理平台針對資料管理一般採用定製資料介面標準化輸入的形式擷取資料,同時內部的資料結構和報表一旦確定,很難根據情況變化進行改變。面對隨著新業務湧現的新型IT資料,傳統的IT管理平台需要進行耗時漫長的二次開發才能進行有效管理,更談不上應對瞬息萬變的IT管理需求。
Splunk正是在這個技術的困境中應運而生,以靈活、敏捷的資料管理能力為企業帶來一場IT管理的創新革命:
跨越平台,應用的資料格式支援
支援對所有以文本形式存在的IT資料進行處理,如標準的syslog和非結構化的事件記錄,snmp事件,xml文本,系統和應用配置等,在Splunk可以為不同來源的資料選擇最為適合的輸入方式。
如右圖所示,Splunk通過檔案上傳,共用目錄等方式對檔案資料進行索引分析和即時監控;網路裝置和應用伺服器產生的日誌則可以通過TCP/UDP連接埠偵聽的方法進行收集;甚至指令碼運行產生的資料也可以作為Splunk的資料來源進行索引和分析。
快捷的資料定義和轉換
要對IT資料進行有效管理的前提是,提取資料中有價值的資訊進而進行定義,搜尋和深入分析。
相對於傳統的IT管理平台,Splunk對資料的定義靈活而快速,可以根據實際情況的變化快速地對感興趣的資料進行定義,整個過程只需在管理介面上清點幾下滑鼠和花費幾分鐘的時間。下面以定義日誌來源主機為例:Splunk中提供智能提取資料並定義的功能,只需在樣本資料中填入需要定義的資料的樣本,splunk便可使用Regex智能分析資料的結構,相對位置等資訊,協助管理者快速的識別和抽取有用資訊進行定義和分析。
當然,如果你是一位熟悉Regex管理者,那麼你對Splunk靈活和強大的功能會有更深的認識。由於各個網路裝置廠商的標準不一,介面的物理特性各異,網路裝置介面存在多種表示方式,如何對所有裝置的介面進行嚴格定義而不產生遺漏呢?這是令不少IT管理者頭疼的問題。在Splunk中,只需在搜尋欄中輸入一行短小精悍的Regex,所有網路裝置日誌中包含的網路介面即可一網打盡,絕無漏網之魚。
所有的資料定義均可以隨著情況的變化和管理的需要進行即時的增加、刪除和修改,管理者需要做的工作僅是重新使用一遍智能資料定義功能或者對Regex進行一點小修改而已。
簡單靈活的搜尋語言
Splunk一個有趣的別稱——”google for IT”,這其中隱含的意思是IT管理者在Splunk中對資料搜尋管理可以像使用google搜尋引擎一樣簡單方便。
在搜尋欄中簡單敲入fail*,選擇時間範圍,所有與操作失敗相關的事件在數秒之內作為結果返回。在搜尋結果的基礎上,我們可以進行進一步的深入分析,這隻需選擇左邊特定欄位(已定義資料)的數值:這種資料drill-down搜尋在問題定位方面的效率上相較傳統的IT管理平台有巨大的優勢,層進式的問題排查將成為明日黃花,一去不複返。
快速的報表產生和內容豐富的dashboard
Splunk中的搜尋結果可以快速轉化為報表儲存下來,儲存的報表可作為技術和管理知識或者即時監控之用。Splunk中儲存的搜尋語句和報表根據特定類型和需求組織起來形成內容豐富的知識集合,以dashboard的形式進行呈現。
如何安裝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.1logging trap warning2)通過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.13)通過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
其實還可以通過Syslog來收集Windows的日誌,這裡可以用一個免費工具-NTSyslog。(Syslog化Windows Event日誌一文中有詳細說明)
如何使用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就可以清楚的瞭解所有裝置的日誌情況。 Splunk的用途很廣泛,我上面提到的只是一點小小的應用。大家可以去[url]www.splunk.com[/url]找到更多的資訊。 總之,Splunk 是一款頂級的日誌分析軟體,如果你經常用 grep、awk、sed、sort、uniq、tail、head 來分析日誌,那麼你需要 Splunk。能處理常規的日誌格式,比如 apache、squid、系統日誌、mail.log 這些。對所有日誌先進行 index,然後可以交叉查詢,支援複雜的查詢語句。然後通過直觀的方式表現出來。日誌可以通過檔案方式傳倒 Splunk 伺服器,也可以通過網路即時傳輸過去。或者是分布式的日誌收集。總之支援多種日誌收集方法。
開源軟體:http://www.splunk.com/en_us/download-5.html?ac=get_splunk_download
[參考資料]
1、超級Log Service器-Splunk - 面朝大海,春暖花開 - 51CTO技術部落格 http://jackiechen.blog.51cto.com/196075/150222/
2、splunk學習 - 冰的城 - 部落格頻道 - CSDN.NET http://blog.csdn.net/wangqi0079/article/details/8582400
3、Splunk in China | Splunk在中國 http://10data.com/splunk/
4、Splunk首頁、文檔和下載 - 日誌分析軟體 - 開源中國社區 http://www.oschina.net/p/splunk
5、splunk_百度百科 http://baike.baidu.com/view/2209060.htm
6、Operational Intelligence, Log Management, Application Management, Enterprise Security and Compliance | Splunk http://www.splunk.com/
Splunk—雲端運算&大資料時代的超級日誌分析和監控利器