Splunk Search 命令教学-天龙八步版本:v 1.00 精诚中国资讯中心
搜尋命令教學 Search Tech1.基本命令語法 Search Syntax 2.複式搜尋方式 Search Pipeline Syntax 3.子搜尋方式 Sub Search 4. 加总搜寻 Summary Index/Search 5. 自定义栏位搜寻 Search Cheatsheet 6. 自定义日志格式及类型 Source type setting
SYSTEX Group, SPLUNK Corp 2009
基本命令語法 Search Syntax用途说明 范例 范例解释
单一字眼搜寻 多字眼查询模糊查询 * 符号说明 布林代数(Boolean ) OR , AND, NOT 比较语法
“error” “apache error 449 “Source=*.log :! % $ / \ [ ] { } < > @ = + & NOT ( A OR B) 等於 =, 不等於 !=, 大於 >, 小於 <
代表查询所有 包含 error 字眼,大小写 不影响查询结果 代表 “apache” and “error” and “449”要查询某 Source= xx.log, 所有Log, 可 以使用 *.log (可能他原本区隔by日) 左边符号可以使用,但是搜寻会自动转 为ASCII符号编码 注意,大写
/base/Documentation/latest/User/SearchSyntaxSYSTEX Group, SPLUNK Corp 2009
複式搜尋方式 Search Pipeline Syntaxsearch ::= data_generation_command [ search_pipeline ] data_generation_command ::= search_command | remote_command | savedse arch_command | run_command search_pipeline ::= "|" [command] [ search_pipeline ] search_command ::= search [search_argument]+ search_argument ::= [keywords] [field="value"] [modifier="value"] [search_command] subsearch ::= search_command "[" search "]" remote_command ::= remote [server","...","server] | [server" "..." "server] [search_pipeline] savedsearch_command::= savedsearch [name of saved search] run_command ::= run [run argument]一般搜寻条件 = data_generation_command /base/Documentation/latest/User/SearchPipelineSyntaxSYSTEX Group, SPLUNK Corp 2009
子搜寻方式 Sub Searchsearch_command ::= search search_argument search_argument ::= keyword | field="value" | modifier="value" | subsearch subsearch ::= search_command "[" [ search ] "]" Example: sourcetype="access_combined" [search sourcetype="access_combined" | stats count by client_ip | search count<10 | fields +client_ip]/base/Documentation/latest/User/SearchPipelineSyntax
SYSTEX Group, SPLUNK Corp 2009
加总搜寻 Summary Index/Search舉個簡單的Summary Index (SI) 例子. 客戶公司平均一天的瀏覽量是5萬個requests. 客戶要求計算一個月瀏覽公司的來源IP次數, 如果是普通不用SI的搜尋方式是: sourcetype=”apache” startdaysago=30 | stats count(src_ip) 搜尋時間較長, 且有maxresult的限制. 這時可以用SI將每個小時(或每天)的瀏覽公司個各web server的來源IP數先做一個統計存入summary index. 等到需要做月統計時, 只需加總summary index內已做好的每個小時的結果. 搜尋時間短. Summary Index 的搜尋名稱如下: Summary - hourly source ip count 語法如下: Sourcetype=”apache” starthoursago
=2 endhoursago=1 | stats count(src_ip) as src_ip_count 出月報表時的搜尋語法如下: Index=summary info_search_name=”hourly source ip count by web server” | stats sum(src_ip_count) (下這個搜尋語法時需搭 配時間範圍, 例如 04/01/2008:00:00:00 到 04/30/2008:23:59:59) 這時月報表的搜尋語法搜尋時所要過濾的不是平均一天5萬個, 30天 150萬的事件量, 而是一天24個, 30天720個的事件量. Reference Alex EmailSYSTEX Group, SPLUNK Corp 2009
自定义栏位搜寻 Search Cheatsheet说明提取物栏位/值对 (field/value )和重载领域提取设置磁盘。 提取物栏位/值的配(field/value )对,是划定的“ | ” ,和价值观的领 域,划定"=:". extract reload=true
增加栏位/Add Field命令
extract pairdelim="|;", kvdelim="=:", auto=f
提取物栏位/值对 (field/value )从XML格式数据。 xmlkv自动提取物的 xmlkv 价值之间的XML标记。 提取COMMAND现场时,发生在行包含“ splunkd ” 。 提取物“ ,由”和“到”字段使用正则表达式。 如果原材料事件包 含“者:苏珊为:鲍勃” ,然后由=苏珊并=鲍勃。 增加栏位: comboIP. Values of comboIP = "sourceIP + "/" + destIP". 增加栏位: velocity. Values of velocity = distance field value / time field value 增加位置信息(基于IP地址)的头20事件含有“ 404 ” ,并从从 webserver1 。 multikv fields COMMAND filter splunkd rex field=_raw "From: (?<from>.*) To: (?<to>.*)" strcat sourceIP "/" destIP comboIP eval velocity=distance/time head 20 | iplocation
/base/Documentation/latest/User/SearchCheatsheetSYSTEX Group, SPLUNK Corp 2009
自定义栏位搜寻 Search Cheatsheet说明自动转换栏位,改变为数字型态 金额栏位转型为 virt, K 日,时分秒转型 format (D+HH:MM:SS) to seconds. For example, if delay="00:10:15", the resulting value will bedelay="615". 数值文字型态资料,转换为数值型态,以利计算 if duration="212 sec", the resulting value will be duration="212". 重新定义栏位名称 Rename the _ip field as IPAddress. 更改结果名称: localhost to host
转型栏位/Convert Field命令
convert auto(*) none(foo) convert memk(virt) convert dur2sec(delay) convert rmunit(duration) rename _ip as IPAddress replace *localhost with localhost in host
/base/Documentation/latest/User/SearchCheatsheetSYSTEX Group, SPLUNK Corp 2009
自定义栏位搜寻 Search Cheatsheet说明只保留了host和ip领域,并显示它们依次为: host , ip 。

