Splunk 限制 stats list() 函数返回的结果

Splunk limits the results returned by stats list() function

我有一个 splunk 查询,其中 returns 一个 list 特定字段的值。值的数量可以远远超过 100,但返回的结果数量限制为 100 行,我收到的警告是这样的-

'stats' 命令:已达到字段 'FieldX' 的值限制。某些值可能已被截断或忽略。

有问题的查询可以这么简单-

|统计列表(FieldX)

请注意,我不能使用 table FieldX,因为我希望结果基于另一个分组场地。我也不能使用 stats values(FieldX) 因为我从事件中提取 2 个字段并且这些字段具有一对一的映射,如果我用stats values(),顺序乱了。

我尝试了 stats list(values) limit=500 但它没有帮助。我怎样才能返回所有结果?

您可以尝试将 limits.conf 中的 list_maxsize 属性设置为更高的值。请注意,这将导致查询使用更多内存。修改配置文件后记得重启Splunk

如果您硬性要求使用 list(values) 逻辑,唯一的选择是增加值 list_maxsize 来自 limits.conf。请在此处查看完整的 limits.conf 手册条目:https://docs.splunk.com/Documentation/Splunk/latest/Admin/limitsconf#.5Bstats.7Csistats.5D

list_maxsize 是系统范围的配置,因此您必须:

  • 建立到 Splunk 实例的控制台连接
  • 编辑 limits.conf 更改 list_maxsize = 500
  • 重新启动 splunk 进程
list_maxsize = <integer>
* Maximum number of list items to emit when using the list() function
  stats/sistats
* Default: 100

查看我的 to your other, related

引用其中的搜索:

index=ndx sourcetype=srctp Location=* Client=* TransactionNumber=* TransactionTime=*
| eval TNTT=TransactionNumber+" sep "+TransactionTime
| stats values(TNTT) as TNTT by Location Client
| rex field=TNTT "(?<TransactionNumber>\S+) sep (?<TransactionTime>.+)"
| table Location Client TransactionNumber TransactionTime

注意:您可能需要重新排序 eval 行,以便在 |stats 中通过 values() 排序时添加字段行(并重新排序相应的 rex 顺序)