1. search - 用于过滤事件
[search
...
]
# 在默认情况下,所有搜索都隐含了 search 命令
2. index - 用于指定搜索的索引
index = "xxx"
# 如果不指定索引,Splunk 会在所有可访问的索引中搜索
3. | - 管道符:将一个命令的输出作为另一个命令的输入
| where type == "result"
# 需要确保管道前后的命令逻辑上是连贯的
4. stats - 用于聚合数据
| stats values(nums) as num
| stats first(value) as max_value
| stats sum(num) as nums
# stats 命令后面通常跟聚合函数,如 count, sum, avg 等
5. eval - 用于计算表达式并将结果赋值给新字段
| eval version = split(version,",")
| eval version = mvindex(version,0)
# eval 创建的新字段只在当前搜索中有效
6. fields - 用于指定需要显示的字段
| fields version, status
# 移除不必要的字段可以提高搜索效率
7. top - 用于找出最常见的值
| top messageType limit=5
# 会返回table 包含 messageType count percent(出现率)
# limit 可以限制返回的结果数量
8. rare - 用于找出最不常见的值
| rare messageType limit=5
# 同上,会返回table 包含 messageType count percent(出现率)
# limit 可以限制返回的结果数量
9. table - 用于格式化搜索结果为表格
| table host, status
# table 命令后面跟的字段名决定了表格的列
10. rex - 使用正则表达式提取字段
| rex field=Submit_Date "^(?<year_month>\d{4}-\d{2})"
# 表示匹配字段为Submit_Date,year_month为生成字段名,\d{n}为匹配n个数字 \d{4}-\d{2}则表示 xxxx-xx 即年-月
11. append - 将一个搜索结果追加到另一个搜索结果后面
index=web_logs
| append [search index=error_logs]
# 这会增加结果集的大小,可能影响性能,适用于结果集较小的情况
12. join - 根据共同字段合并两个搜索结果
| join type=outer host [search index=error_logs]
# type=left 相当与SQL中 left join(左连接),保留左侧(主搜索结果)的所有记录,即使右侧没有匹配项
13. sort - 对事件或结果进行排序
| sort -count
# 默认正序排列,加 - 倒序排列
14. head/tail - 获取搜索结果的前几个或后几个事件
| head 10
| tail 10
# 保留前10/后10个结果
15. dedup - 删除搜索结果中的重复事件
| dedup host
# 去重
16. fillnull - 用自定义值填充空字段
| fillnull value=NA status
# 以NA填充空值
17. mvexpand - 将多值字段展开为多个事件
| mvexpand item
# 将单表格内一行一行的字段拆开
18. where - 条件语句
| where counts > 1000
# 书写过滤条件
19. xyseries - 将事件转换为 X-Y 系列,用于图表
| xyseries X Y Num
# X为x轴,Y为y轴,Num为x-坐标点值
20. accum - 计算累计总和
| accum Total_type as cumulative_total_type
# 创建一个新字段,其中包含累积总数
21. chart - 创建统计图表
| chart count(Plan_Status) over Dept by Plan_Status
# over Dept指定了图标的X轴
# by Plan_Status 表示根据plan_status的不同值分为不同的系列
# count(Plan_Status) 计算了plan_status的数量
22. crawl - 从网页或文本文件中提取数据
| crawl start_url="http://www.baidu.com"
# 用于从网页中提取数据,需要网络访问权限
23. fields - 显示或隐藏指定的字段
| fields + host, - status
# 使用 + 或 - 来显示或隐藏字段
24. reverse - 反转事件的顺序
| reverse
# 让最新的事件最先显示
25. strptime - 将字符串的值转换为时间对象
| strptime(Submit_Time, "%Y/%m/%d %H:%M")
| eval Submit_Time = strftime(strptime(Submit_Time, "%Y/%m/%d %H:%M"), "%Y/%m")
# 将格式为 “年/月/日 时:分” 的字符串转换为时间对象
# 将时间对象格式化为 “年/月” 格式的字符串,并赋值给Submit_Time
26. values - 获取唯一值
| stats values(GEN)
# 获取GEN的唯一值
27. like - 模糊匹配
| like (name,"zeng%")
# 能够匹配的格式如:zeng_nb
28. streamstats - 累计统计信息
| streamstats sum(field_name) as cumulative_field_name
# 统计搜索开始到当前事件的 field_name 字段值的累计总和
标签:count,status,常用,stats,结果,Submit,关键字,搜索,Splunk From: https://www.cnblogs.com/wellplayed/p/18191316