splunk 搜索语法
全文搜索
搜索框直接输入”搜索词“
purchase
查找匹配词”purchase“
字段搜索
字段名=”搜索词“
source="Sampledata.zip:./apache3.splunk.com/access_combined.log"
查找数据来源为"Sampledata.zip:./apache3.splunk.com/access_combined.log"
通配符搜索
source="Sameledata.zip:.apache*"
查找数据来源为apache开头的所有来源
逻辑组合搜索
source="Sampledata.zip:./apache3.splunk.com/access_combined.log" purchase NOT 200
查找数据来源为"Sampledata.zip:./apache3.splunk.com/access_combined.log" 并且字符串匹配词 "purchase" 并且字符串中不匹配200
嵌套搜索
查找错误码
error OR failed OR (souretype = access*(404 OR 500 OR 503))
当然你可以加上status字段
(sourcetype=access*(status=404 OR status=500 OR status=503)) host="apache3.splunk.com"
使用管理命令
source="Sampledata.zip:./apache*" | top 10 product_id
获取最多访问的10个产品id
source="Sampledata.zip:./apache*" | top limit=1 clientip
获取消费最多的客户端ip
source="Sampledata.zip:./apache*" action=purchase clientip=233.77.49.50|stats count, values(product_id) by clientip
获取指定客户端IP购买的产品,并汇总数量
source="Sampledata.zip:./apache*" category_id = flowers| statsdc(clientip)
统计有多少用户购买了鲜花类的产品
source="Sampledata.zip:./apache*" category_id=flowers| stats count BY clientip
每个独立用户购买鲜花的数量
source="Sampledata.zip:./apache*" category_id=flowers| stats count AS "购买鲜花数量" BY clientip |rename clientip AS 客户
我们可以对结果进行重命名
子搜索
子搜索部分使用[]起来,中括号的部分会先被执行,然后再执行外面搜索部分。
子搜索命令需用search开头
子搜索的速度稍微慢一些
source="Sampledata.zip:./apache*" action=purchase [search sourcetype=access_* action=purchase|top limit=1 clientip|table clientip] | stats count, values(product_id) as product_id by clientip |rename count AS "购买数量",product_id AS "购买产品内容" clientip AS "vip用户"
一条搜索语句实现,获取指定客户端IP购买的产品,并汇总数量
如果你对搜索命令比较敢兴趣,你也可以参考文档
@see http://docs.splunk.com/Documentation/Splunk/latest/SearchReference/SearchCheatsheet
当然,还有搜索语法和SQL语句命令对照表
http://docs.splunk.com/Documentation/Splunk/latest/SearchReference/SearchCheatsheet