Fluentd match tag wildcard pattern 也匹配下面的模式吗?
Fluentd match tag wildcard pattern matching patterns below it too?
在 Fluentd 配置文件中我有这样的配置
<match a.b.**.stag>
下面还有一个匹配标签如下
<match a.b.c.d.**>
现在根据文档 **
将匹配零个或多个标签部分。然而,我有点怀疑第二个标签是否会被匹配,或者事件是否会被第一个 <match>
本身吞噬。我想确认的是,第一个标签是否会匹配本来会匹配第二个事件的事件?
第二个 match
的目标事件中没有 stag
但其余部分与第一个匹配标记目标事件相同。
What I want to confirm is that the first tag will match the events which would have otherwise matched second event or not?
这真的取决于输入,所以:不,一般情况下不是这样。
+--------------+------------------------+-----------------------+
| Tag | Matched by a.b.**.stag | Matched by a.b.c.d.** |
+--------------+------------------------+-----------------------+
| a.b.c.stag | X | |
| a.b.c.d.stag | X | X |
| a.b.c.d.e | | X |
| a.b.c.stag.e | | |
+--------------+------------------------+-----------------------+
不过,作为一般规则,在紧匹配之后定义宽匹配。
如果您需要匹配来排除特定标签,而这些标签不应被后续更紧密的匹配所接受(例如,如果您不希望第二个匹配包含任何带有 stag
的标签),请考虑使用模式列表:
<match a.b.c.stag a.b.d.stag>
或模式组合:
<match a.b.{c,d.*}.stag>
这些只是示例,因为我不知道所有可能标签的范围。
在 Fluentd 配置文件中我有这样的配置
<match a.b.**.stag>
下面还有一个匹配标签如下
<match a.b.c.d.**>
现在根据文档 **
将匹配零个或多个标签部分。然而,我有点怀疑第二个标签是否会被匹配,或者事件是否会被第一个 <match>
本身吞噬。我想确认的是,第一个标签是否会匹配本来会匹配第二个事件的事件?
第二个 match
的目标事件中没有 stag
但其余部分与第一个匹配标记目标事件相同。
What I want to confirm is that the first tag will match the events which would have otherwise matched second event or not?
这真的取决于输入,所以:不,一般情况下不是这样。
+--------------+------------------------+-----------------------+
| Tag | Matched by a.b.**.stag | Matched by a.b.c.d.** |
+--------------+------------------------+-----------------------+
| a.b.c.stag | X | |
| a.b.c.d.stag | X | X |
| a.b.c.d.e | | X |
| a.b.c.stag.e | | |
+--------------+------------------------+-----------------------+
不过,作为一般规则,在紧匹配之后定义宽匹配。
如果您需要匹配来排除特定标签,而这些标签不应被后续更紧密的匹配所接受(例如,如果您不希望第二个匹配包含任何带有 stag
的标签),请考虑使用模式列表:
<match a.b.c.stag a.b.d.stag>
或模式组合:
<match a.b.{c,d.*}.stag>
这些只是示例,因为我不知道所有可能标签的范围。