什么是Splunk
Splunk 是機(jī)器數(shù)據(jù)的全文搜索引擎恼五。
機(jī)器數(shù)據(jù)是指:設(shè)備和軟件產(chǎn)生的日志數(shù)據(jù)滑频、性能數(shù)據(jù)、網(wǎng)絡(luò)數(shù)據(jù)包唤冈。這些數(shù)據(jù)都是一些非結(jié)構(gòu)化的數(shù)據(jù)峡迷,我們可以統(tǒng)一將這些數(shù)據(jù)統(tǒng)一采集到splunk之后,splunk可以對這些數(shù)據(jù)進(jìn)行索引你虹、調(diào)查绘搞、監(jiān)控、可視化等傅物。使用 Splunk 可收集夯辖、索引和利用所有應(yīng)用程序、服務(wù)器和設(shè)備生成的快速移動型計(jì)算機(jī)數(shù)據(jù) 董饰。
Splunk的功能
數(shù)據(jù)采集蒿褂、數(shù)據(jù)索引、搜索和分析
接下來卒暂,我們就從這三方面開始學(xué)習(xí)Splunk
1.數(shù)據(jù)采集
采集靜態(tài)數(shù)據(jù)啄栓,也可以實(shí)時地監(jiān)控文件或者整個目錄的變化和增加。也可以從網(wǎng)絡(luò)端口或直接從程序或腳本中收集數(shù)據(jù)也祠。
導(dǎo)入靜態(tài)日志數(shù)據(jù)昙楚,導(dǎo)入數(shù)據(jù)步驟中,我們會看到幾個名稱概念诈嘿,source堪旧、sourceType、host奖亚。
(1)source
是事件源自的文件淳梦,流或其他輸入的名稱。對于從文件和目錄監(jiān)視的數(shù)據(jù)昔字,source的值是完整路徑爆袍,例如/archive/server1/var/log/messages.0或/var/log/。基于網(wǎng)絡(luò)的數(shù)據(jù)源的源的值是協(xié)議和端口螃宙,例如UDP:514。后面查詢可以根據(jù)source來篩選所坯;
(2)sourceType
是其來源的數(shù)據(jù)輸入的格式谆扎,sourceType決定了數(shù)據(jù)的格式化方式。選擇不同的sourceType芹助,Splunk自動識別的常見源類型列表包括NCSA組合格式HTTP Web服務(wù)器日志堂湖,標(biāo)準(zhǔn)Apache Web服務(wù)器錯誤日志,Cisco網(wǎng)絡(luò)設(shè)備(包括PIX防火墻状土,路由器无蜂,ACS等)生成的標(biāo)準(zhǔn)syslog。查詢還可以根據(jù)sourceType來篩選蒙谓。
(3)host
host值通常是發(fā)起事件的網(wǎng)絡(luò)主機(jī)的主機(jī)名斥季,IP地址或完全限定域名。主機(jī)值允許您查找源自特定設(shè)備的數(shù)據(jù)累驮。就比如同樣的source和sourceType的數(shù)據(jù)酣倾,是從不同的主機(jī)發(fā)過來的,我們可以根據(jù)host來區(qū)分谤专。
2.數(shù)據(jù)索引
數(shù)據(jù)索引:index躁锡,就類似于database,我們查詢?nèi)罩镜臅r候置侍,要先確認(rèn)篩選是哪個database映之。
默認(rèn)index:main (如果轉(zhuǎn)發(fā)過來的數(shù)據(jù)不指定索引,則會保存在默認(rèn)的main索引中)
3.搜索和分析
首先我們可以根據(jù)index蜡坊、source杠输、sourceType篩選查詢相應(yīng)的日志。
其次我們學(xué)習(xí)一些常用的搜索語言:
top, 顯示字段最常見/出現(xiàn)次數(shù)最多的值
rare, 顯示字段出現(xiàn)次數(shù)最少的值
limit秕衙,限制查詢抬伺,如:limit 5,限制結(jié)果的前5條
rename xx as zz : 為xx字段設(shè)置別名為zz,多個之間用 灾梦,隔開
fields :保留或刪除搜索結(jié)果中的字段峡钓。fiels – xx 刪除xx字段,保留則不需要 – 符號
例如:
index=main source="splunkd.log" host="izuf6dpdm2qb6rp21s37irz" sourcetype="splunkd"
| top event_message limit=5
| fields event_message count |rename event_message as message
table :返回僅由參數(shù)中指定的字段所形成的表若河。
sort蛹批,基于某個字段排序(升序、降序)吼和,降序的字段前面要使用-號擎值,升序的使用+
sort -字段, +字段, 先基于clientip降序排列之后,再對這個結(jié)果基于status升序
stats count() :括號中可以插入字段,主要作用對事件進(jìn)行計(jì)數(shù)
stats dc():distinct count膏燕,去重之后對唯一值進(jìn)行統(tǒng)計(jì)
stats values()钥屈,去重復(fù)后列出括號中的字段內(nèi)容
stats list(),未去重之后列出括號指定字段的內(nèi)容
stats avg()坝辫,求平均值