菜单
文档breadcrumb arrow 插件breadcrumb arrow Splunk 数据源breadcrumb arrow Splunk 查询编辑器

Splunk 查询编辑器

Grafana 为 Splunk 数据源提供了一个查询编辑器,您可以使用 Splunk 的搜索处理语言 (SPL) 在两种不同模式下创建和执行查询:搜索模式或事件模式。如果您刚开始使用 SPL,请参阅 Splunk 的搜索参考文档以获取指导。

搜索模式

搜索模式下有以下选项可用

  • 搜索 - 输入 Splunk 搜索查询。有关创建搜索查询和搜索语法的更多信息,请参阅 Splunk 文档中的搜索

搜索查询示例

SPL
index=sales_data_index action=purchase | stats sum(bytes) BY host 
  • 命名空间 - 每个 Splunk 查询都有一个通过 REST API 访问的命名空间。有关命名空间的更多信息,请参阅Splunk REST API 用户手册

  • 采样率 - 有关更多信息,请参阅 Splunk 的事件采样文档。示例包括 1:1001:10000

  • 限制 - 向 timechart 参数添加 limit=value

如果您想获得创建搜索查询的帮助,请点击右上角的铅笔和记事本图标。

Search query editor

这将打开一个可视化查询编辑器,其中包含以下选项

  • 索引 - 点击 select index 框,查看可用索引的下拉列表。选择要用于查询的索引。

  • 源类型 - 点击 select sourcetype 框,查看源类型的下拉列表,并选择适合您查询的源类型。

  • 命名空间 - 点击框以查看命名空间的下拉列表。

  • 指标 - 添加指标。点击指标旁边的框,查看可用指标的下拉列表。您也可以指定列表中不存在的函数。默认为 avg。点击select field 选择一个字段或创建一个新字段用于聚合。添加别名是可选的。点击指标行右侧的+ 号图标添加多个指标。

  • 拆分依据 - 点击+ 号选择要拆分的字段(可以通过在下拉列表中选择 remove 来移除这些字段)。

  • Where 子句 - 选择 Where 子句类型。在选择 Where 子句类型后,可以编辑 Where 子句中的每个函数(通过在比较器函数中选择 remove 来移除 Where 子句)。有关更多信息,请参阅Where 子句

  • 跨度 - 设置查询的时间跨度。默认为 auto

  • 限制 - 向 timechart 参数添加 limit=value。整数可以是正数或负数。

  • 使用其他 - 开启此项以指定是否应为因不满足 where-clause 条件而未包含在图表中的序列数据添加一个序列。

  • 使用 Null 值 - 开启此项以控制是否为不包含拆分依据字段的事件创建序列。

  • 连续 - 指定图表是否连续。开启后,搜索应用程序会填充时间间隔。

  • 部分 - 开启此项以保留部分时间分箱。只有第一个和最后一个分箱可以是部分的。

  • 分箱 - 有关更多信息,请参阅 Splunk 的 bin 参考文档。默认为 100

事件模式

您可以在事件模式下创建事件查询。Splunk 中的事件是单个数据块。有关事件的定义以及如何处理事件的更多信息,请参阅 Splunk 文档中的事件

事件模式不像搜索模式那样有分步查询构建器。以下是事件查询编辑器选项列表

  • 搜索 - 输入 Splunk 搜索查询。有关创建搜索查询和搜索语法的更多信息,请参阅 Splunk 文档中的搜索

事件搜索查询示例

LOG
index=os sourcetype=iostat | where total_ops > 400
index=os sourcetype=iostat | where total_ops > $io_threshold
  • 事件字段作为文本 - 如果您想使用字段值作为注释文本,此选项很适用。默认为 _raw。例如,您有一条来自日志的错误消息文本
LOG
Event field as text: _raw
Regex: WirelessRadioManagerd\[\d*\]: (.*)
  • 正则表达式 - 允许您提取消息的一部分。

  • Splunk 告警名称 - 指定一个告警名称,或将此字段留空以获取所有已触发的告警。支持模板变量。

常用选项

无论在哪种查询模式下,以下都是查询编辑器中的常用选项。

  • 添加查询 - 点击+ 添加查询 在查询编辑器中添加查询。

查询历史

查询编辑器会保留您的 Splunk 查询历史记录。

  • 查询历史 - 您的 Splunk 查询历史记录。查询会保留 2 周,除非它们被加星标。编辑器一次显示 100 条查询,但它是分页的,因此您在查看前 100 条后可以始终看到更多。总记录数上限为 200,000 条

  • 已加星标 - 加星标的查询会保留超过 2 周的限制。

  • 设置 - 开启此项以将默认活动选项卡从“查询历史”更改为“已加星标”。

查询检查器

点击查询检查器以获取关于您的查询的详细统计信息。检查器是一种调试工具,用于“检查”您的查询。它在统计下提供查询统计信息,在查询下提供请求响应时间,在{} JSON下提供数据帧详细信息,并在数据下提供数据的形状。

使用 Splunk 数据

以下部分详细介绍了从 Splunk 获取数据时,您可以在查询编辑器中使用的其他选项和命令。

Timechart

在使用时间序列数据时使用 timechart 命令生成统计聚合表。要了解有关 timechart 命令和 timechart 选项的更多信息,请参阅 Splunk 文档中的timechart 命令概述timechart

示例

LOG
index=os sourcetype=cpu | timechart span=1m avg(pctSystem) as system, avg(pctUser) as user, avg(pctIowait) as iowait
index=os sourcetype=ps | timechart span=1m limit=5 useother=false avg(cpu_load_percent) by process_name

Splunk 指标与 mstats

从版本 7.x 开始,Splunk 引入了用于分析指标的 mstats 命令,该命令与 timeseries 命令结合使用。您还必须设置 prestats=t 选项,如下例所示。

文本
Current syntax:
| mstats prestats=t avg(disk.disk_ops.read) avg(disk.disk_ops.write) WHERE index="collectd" by metric_name span=1m
| timechart avg(disk.disk_ops.read) avg(disk.disk_ops.write) span=1m

Deprecated syntax:
| mstats prestats=t avg(_value) AS Value WHERE index="collectd" metric_name="disk.disk_ops.read" OR metric_name="disk.disk_ops.write" by metric_name span=1m
| timechart avg(_value) span=1m by metric_name

有关 mstats 命令的更多信息,请参阅 Splunk 的mstats 文档。

格式化为

支持两种结果格式模式:时间序列(默认)和表格。表格模式适用于当您想显示聚合数据时与表格面板一起使用。它适用于原始事件(返回所有选定字段)和 stats 搜索函数,后者返回类似表格的数据。结果类似于 Splunk UI 中的统计选项卡。示例

LOG
index="_internal" sourcetype="scheduler" | fields host, source
LOG
index="_internal" sourcetype="splunkd_access" | stats avg(bytes) as bytes, avg(file) as file by status

Splunk 搜索参考文档中了解有关 stats 函数的更多信息

注释

annotation editor

如果您想在图表上显示 Splunk 告警或事件,请使用注释。注释可以是预定义的 Splunk 告警或常规 Splunk 搜索。选择要在注释中显示的所需字段。注释文本显示如下例所示。

annotation editor