forked from fluent/fluentd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathv0_12_filter.conf
78 lines (66 loc) · 1.82 KB
/
v0_12_filter.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# An example config to use filter plugins.
# THIS FEATURE IS SUPPORTED FOR v0.12 AND ABOVE.
# in_forward to generate events to be tested.
# You can send an arbitrary event with an arbitrary tag.
# For example, the following command creates the event
# {"message":"hello world"} with tag = foo
#
# $ echo '{"message":"hello world"}' | fluent-cat foo
<source>
type forward
port 24224
</source>
# For all events with the tag "foo", filter it out
# UNLESS the value of the "message" field matches /keep this/
#
# - {"message":"keep this please"} is kept.
# - {"message":"Do not keep"} is filtered out.
# - {"messag22":"keep this please"} is filtered out.
<filter foo>
type grep
regexp1 message keep this
</filter>
# Matches the events that was kept by the above filter
<match foo>
type stdout
</match>
# For all events with the tag "bar", add the machine's hostname with
# the key "hostname" BEFORE forwarding to another instance of Fluentd
# at 123.4.2.4:24224.
<filter bar>
type record_transformer
<record>
hostname ${hostname}
</record>
</filter>
# By the time it is getting matched here, the event has
# the "hostname" field.
<match bar>
type forward
<server>
host 123.4.2.4
port 24225
</server>
</match>
# Composing two filters. For all events with the tag foo.bar,
#
# 1. The first filter filters out all events that has the field "hello"
# 2. Then, for those events, we downcase the value of the "name" field.
#
# - {"name":"SADA", "hello":100} gets filtered out
# - {"name":"SADA"} becomes {"name":"sada"}
# - {"last_name":"FURUHASHI"} throws an error because it has no field called "name"
<filter foo.bar>
type grep
exclude1 hello .
</filter>
<filter foo.bar>
type record_transformer
enable_ruby true
<record>
name ${name.downcase}
</record>
</filter>
<match foo.bar>
type stdout
</match>