You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: pipeline/router.md
+16-12Lines changed: 16 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -177,6 +177,21 @@ Conditional routing lets you route individual records to different outputs based
177
177
Conditional routing is available in Fluent Bit version 4.2 and greater. This feature requires YAML configuration files.
178
178
{% endhint %}
179
179
180
+
### Supported signal types
181
+
182
+
Conditional routing defines signal types for routing logs, metrics, and traces:
183
+
184
+
| Signal | Description | Supported |
185
+
| --- | --- | --- |
186
+
|`logs`| Routes log records | Yes |
187
+
|`metrics`| Routes metric records | No |
188
+
|`traces`| Routes trace records | No |
189
+
|`any`| Routes all signal types | Logs only |
190
+
191
+
{% hint style="warning" %}
192
+
Currently, only the `logs` signal type is fully implemented. The `metrics` and `traces` signal types are parsed by the configuration but condition evaluation always returns false, meaning routes defined for these types won't match any records. When using `any`, only logs are evaluated. Support for metrics and traces conditional routing is planned for a future release.
193
+
{% endhint %}
194
+
180
195
### How conditional routing works
181
196
182
197
Conditional routing uses a `routes` block within input configurations to define routing rules. Each route specifies:
@@ -280,17 +295,6 @@ The following comparison operators are available for condition rules:
280
295
| `in` | Is included in the specified array |
281
296
| `not_in` | Isn't included in the specified array |
282
297
283
-
### Signal types
284
-
285
-
Conditional routing supports different signal types to route logs, metrics, and traces separately:
286
-
287
-
| Signal | Description | Supported |
288
-
| --- | --- |---|
289
-
| `logs` | Routes log records | Yes |
290
-
| `metrics` | Routes metric records | No |
291
-
| `traces` | Routes trace records | No |
292
-
| `any` | Routes all signal types | No |
293
-
294
298
## Conditional routing examples
295
299
296
300
### Route logs by severity level
@@ -691,7 +695,7 @@ To get the most benefit from label-based matching:
691
695
692
696
1. **Use aliases**: Assign meaningful aliases to your outputs to make routing more stable and easier to understand
693
697
2. **Keep aliases unique**: Ensure that aliases are unique within your configuration to avoid ambiguity
694
-
3. **Use descriptive names**: Choose aliases that clearly indicate the purpose of each output (for example, `error_logs_output`, `metrics_backend`, or `trace_collector`)
698
+
3. **Use descriptive names**: Choose aliases that clearly indicate the purpose of each output (for example, `error_logs_output`, `audit_logs_destination`, or `debug_logs_archive`)
695
699
4. **Combine with direct routing**: Label-based matching works best when used with direct routing (conditional routing or direct input-output connections)
0 commit comments