请求获取可列出Splunk报表使用频率的查询语句
实用Splunk报表使用频率查询方案
我来帮你搞定这个Splunk报表使用频率统计的问题!之前在mysplunk上找的查询没出结果,大概率是没用到正确的审计数据源或者字段筛选不对,下面给你几个实用的查询和注意事项:
1. 统计独立报表的运行次数
这个查询针对单独创建的报表(非仪表盘内嵌面板),直接从Splunk内置审计日志提取运行记录:
index=_audit action="report_run" | stats count AS run_count BY report | sort -run_count | rename report AS "报表名称", run_count AS "运行次数"
关键字段解释:
index=_audit:Splunk内置的审计索引,专门记录用户对各类资源的操作行为;action="report_run":精准筛选出报表被主动运行的事件;stats count BY report:按报表名称分组,统计每个报表的总运行次数;sort -run_count:按运行次数从高到低排序,方便快速定位高频使用的报表。
2. 统计仪表盘面板的查看次数
如果你说的“报表”其实是仪表盘里的面板组件,可以用这个查询统计面板的访问次数:
index=_audit action="dashboard_view" | rex field=object "(?<dashboard>[^/]+)/(?<panel>[^/]+)" | stats count AS view_count BY dashboard, panel | sort -view_count | rename dashboard AS "仪表盘名称", panel AS "面板名称", view_count AS "查看次数"
补充说明:
action="dashboard_view":筛选仪表盘被访问的事件;rex语句:从object字段里提取出仪表盘名称和对应的面板名称(Splunk默认把仪表盘+面板的路径存在object字段中)。
3. 重要注意事项
- 权限要求:你需要拥有访问
_audit索引的权限,这个通常需要管理员授权,或者你的账号有审计数据的读取权限; - 数据范围:可以在查询开头加上时间筛选,比如
earliest=-30d latest=now,统计最近30天的使用情况; - 审计配置检查:如果查询没有返回结果,先确认你的Splunk环境是否开启了报表/仪表盘的审计记录——有些环境可能默认关闭了部分审计事件,需要在
audit.conf里调整配置。
4. 排查无结果的常见原因
- 先单独跑
index=_audit action="report_run"或者index=_audit action="dashboard_view",看看审计索引里有没有对应的数据; - 确认报表名称是否正确,有些自定义报表可能在
report字段里存储的是报表ID而非显示名称,这时候可以结合report_name字段调整查询; - 检查审计日志的保留周期,如果你的统计范围超过了日志保留时间,也会查不到数据。
内容的提问来源于stack exchange,提问作者Milo_Dev
相关产品推荐
相关产品推荐

