Подходящий шаблон совпадения с шаблоном совпадения с тегом совпадения под ним тоже? - PullRequest
0 голосов
/ 01 октября 2019

В конфигурационном файле Fluentd у меня есть конфигурация как таковая

<match a.b.**.stag>

, а под ней есть еще один тег соответствия:

<match a.b.c.d.**>

Теперь согласно документации ** будет соответствовать нулю или более частям тега. Однако я немного подозреваю, что будет ли когда-либо совпадать второй тег или событие будет сожрано самим первым <match>. Я хочу подтвердить, что первый тег будет соответствовать событиям, которые в противном случае соответствовали бы второму событию или нет? Целевые события для второго match НЕ содержат stag, но все остальное совпадает с целевыми событиями первого тега соответствия.

1 Ответ

1 голос
/ 02 октября 2019

Я хочу подтвердить, что первый тег будет соответствовать событиям, которые в противном случае соответствовали бы второму событию или нет?

Это действительно зависит от ввода, поэтому: Нет,в общем случае это не так.

+--------------+------------------------+-----------------------+
| 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>

Это всего лишь примеры, поскольку я не знаю области действия всех возможных тегов.

...