0

我有一个 splunk 查询,它返回特定字段的值列表。值的数量可以远远超过 100,但返回的结果数量限制为 100 行,我得到的警告是这个 -

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

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

| 统计列表(FieldX)

请注意,我不能使用表 FieldX ,因为我希望根据另一个字段对结果进行分组。我也不能使用stats values(FieldX)因为我从一个事件中提取 2 个字段并且这些字段具有一对一的映射,如果我使用stats values(),顺序就会混乱。

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

4

3 回答 3

2

如果您有使用list(values)逻辑的硬性要求,唯一的选择是从limits.conf增加值list_maxsize。在此处查看完整的 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
于 2020-09-08T16:46:10.877 回答
1

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

于 2020-09-08T16:42:04.363 回答
1

检查我对您的其他相关问题的回答

引用其中的搜索:

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添加字段values()|stats行(并重新排序相应的rex顺序)

于 2020-09-08T20:02:54.027 回答