splunk是什麼?linux
面向雲的日誌搜索引擎,是一款功能強大的日誌管理軟件。不只支持經過多種方式添加本地或遠程日誌,並且可以產生圖形化報表。最強大的功能是其搜索功能——所以被稱爲"Google for IT".web
功能特性:apache
一、支持多平臺安裝vim
二、任意源獲取任意數據windows
三、從遠程系統中獲得轉發數據瀏覽器
四、關聯復瑣事件生成可視化視圖安全
五、專門大數據引擎,支持大數據檢索服務器
六、數據中心擴展cookie
七、提供基於角色的安全性控制dom
經常使用的功能性視圖:
一、splunk索引任何數據
二、搜索和審查
三、關聯事件
四、檢測和告警
五、出報表
六、自定義儀表盤
web界面默認端口:8000
安裝部署
/opt —— 建議/opt目錄最好單獨分區或者給/分區足夠大
考慮:時間同步問題
內存:最好1G
1、安裝配置
軟件下載:
http://zh-hans.splunk.com/download
一、安裝
# rpm -ivh splunk-5.0.2-149561-linux-2.6-x86_64.rpm
-------------------------------------------------------------------------
Splunk has been installed in:
/opt/splunk
To start Splunk, run the command:
/opt/splunk/bin/splunk start
To use the Splunk Web interface, point your browser to:
http://localhost.localdomain:8000
Complete documentation is at http://docs.splunk.com/Documentation/Splunk
-------------------------------------------------------------------------
二、啓動服務
# /opt/splunk/bin/splunk start
//首次啓動會有許可協議,按q,再輸入y。
三、設置開機自啓動
# /opt/splunk/bin/splunk enable boot-start
Init script installed at /etc/init.d/splunk.
Init script is configured to run at boot.
四、查看幫助
# /opt/splunk/bin/splunk help enable
可使用/etc/init.d/splunk管理splunk的啓停
# /etc/init.d/splunk status
五、訪問web頁面
firefox http://172.16.254.239:8000 &
首次訪問,會提示用戶名密碼admin/changeme
登陸後,設置新的密碼
六、修改默認端口的配置文件
# vim /opt/splunk/etc/system/default/web.conf
httpport = 8000
splunk日誌的導入
數據源能夠是本地的、遠程的、Linux的、Unix的、windows的、交換機的、路由器的等等。也能夠是web服務器的,IIS服務器的、ftp服務器的等等。
1、向splunk中導入本地日誌 messages
添加數據——>syslog——>使用此 Splunk 服務器上的任何 syslog 文件或目錄——>服務器上文件的路徑 /var/log/messages ——>默認——>默認 繼續——>默認,保存
2、搜索想要的日誌
開始搜索——>輸入aborting
搜其餘 host="localhost"
練習:將secure日誌導入到splunk中,並驗證其搜索功能
3、向splunk導入遠程日誌
環境:
splunk server :172.16.254.239
remote apache:172.16.254.200 web.up.com
開始配置:
注意:導入遠程日誌須要遠程主機安裝通用轉發器(splunkforwarder)。
一、設置splunk服務器容許接收splunk轉發器發送來的數據
管理器——>轉發和接收——>配置接收中「新增」——>9999(指定接收數據的端口)——> 保存
二、在遠程服務器上配置
1)安裝splunkforwarder包
# rpm -ivh splunkforwarder-5.0.2-149561-linux-2.6-x86_64.rpm
2)配置splunkforwarder轉發apache的日誌
# /opt/splunkforwarder/bin/splunk start
# /opt/splunkforwarder/bin/splunk add forward-server 172.16.254.239:9999
Splunk username: admin
Password: changeme
Added forwarding to: 172.16.254.239:9999.
# cd /opt/splunkforwarder/etc/system/local/
# vim inputs.conf
[default]
host = web.up.com
[monitor:///var/log/httpd]
sourcetype = access_common
3)重啓splunk轉發器服務
# /opt/splunkforwarder/bin/splunk restart
三、驗證結果
若是在splunk服務器的web頁面可以看到web.up.com的apache的日誌,就成功了。
簡單搜索:
host="web.up.com"
host="web.up.com" error
host="web.up.com" OR error //OR 或者
生成視圖
導入測試數據
將Sampledata.zip放到splunk服務器上
繼續瀏覽器操做
管理器——>數據導入——>文件和目錄「新增」——>跳過預覽——>上載並索引文件 ——>保存
1、體驗splunk強大的搜索功能
sourcetype="access_combined_wcookie"
一、搜索源類型爲access_combined_wcookie,而且IP爲10.2.1.44的日誌請求
——81條
sourcetype="access_combined_wcookie" 10.2.1.44
二、進一步搜索關於「purchase」的請求 —— 63條
sourcetype="access_combined_wcookie" 10.2.1.44 purchase
三、進一步搜索http返回碼不是200的購買請求
sourcetype="access_combined_wcookie" 10.2.1.44 purchase NOT 200
四、進一步搜索不是404錯誤的請求
sourcetype="access_combined_wcookie" 10.2.1.44 purchase NOT 200 NOT 404
用關鍵字搜索
搜索買花時間
sourcetype="access_combined_wcookie" 10.2.1.44 action=purchase category_id=flowers
|:前面的搜索結果做爲後面的命令的輸入
一、搜索最熱賣的商品 使用命令top
sourcetype="access_combined_wcookie" action=purchase | top category_id
二、有多少名不一樣的顧客買了鮮花
須要使用stats命令和dc函數實現
sourcetype="access_combined_wcookie" action=purchase category_id=flowers | stats dc(clientip)
三、每一個顧客分別買了多少花?
sourcetype="access_combined_wcookie" action=purchase category_id=flowers | stats count by clientip
須要使用stats命令和count函數而且使用by子句
四、倒序顯示每一個顧客購買多少花?
sourcetype="access_combined_wcookie" action=purchase category_id=flowers | stats count by clientip | sort -count
sort -count:按照count字段倒序排序
sort count:按照正序排序
五、給數據列起別名
sourcetype="access_combined_wcookie" action=purchase category_id=flowers | stats count by clientip | sort count | rename clientip as "顧客" , count as "購花總數"
2、將搜索結果保存爲儀表盤
一、建立一個空的儀表盤
儀表板和視圖——>建立儀表板——>ID:001 名稱:每一個顧客購花總數 ——> 建立
二、將搜索結果保存到儀表盤
sourcetype="access_combined_wcookie" action=purchase category_id=flowers | stats count by clientip | sort -count | rename clientip as "顧客" , count as "購花總數"
搜索——>建立——>儀表板面板——>每一個顧客購花總數——>現有儀表板——>下拉列表中選擇須要的儀表板——> 默認
3、在收集結果時動態更新生成的圖表
建立報表
搜索:sourcetype="access_combined_wcookie" action=purchase category_id=flowers | stats count by clientip | sort -count
建立——>報表