Splunk 查询:按 _meta 字段过滤

Splunk queries: filter by _meta fields

上下文

我有一堆应用程序服务器,我想使用 Splunk 进行监控。每个环境中的服务器 运行 相同的应用程序。寻找一种标记此信息的方法,以便在我的仪表板中轻松地将 stage 服务器与 prod 服务器分开,我在阅读论坛时遇到了这个技巧.

inputs.conf 转发器 生产 机器

[default]
_meta = env::prod

inputs.conf 转发器stage 机器

[default]
_meta = env::stage

通过这个技巧,我在解析的数据中得到了一个 env 字段。

index=* | stats count by env

| env    | count |
|:------:|:-----:|
| stage  |2415686|
| prod   |55677  |

问题

我无法过滤 env

index=* logLevel="ERROR" projectName != "null" env="prod" | stats count(_raw) by projectName

为什么会这样?

好的,在我的例子中,env 只是一个 标签(默认情况下没有索引)。为了索引它们,您需要在 fields.conf

中明确要求它
[env]
INDEXED = true