53 lines
1.2 KiB
Django/Jinja
53 lines
1.2 KiB
Django/Jinja
{{ ansible_managed | comment }}
|
|
|
|
module(load="mmrm1stspace")
|
|
|
|
{%
|
|
set input_modules = {
|
|
"relp": "imrelp",
|
|
"udp": "imudp",
|
|
}
|
|
%}
|
|
|
|
{%
|
|
for module in rsyslog_inputs
|
|
| map(attribute="proto")
|
|
| map("extract", input_modules)
|
|
| list
|
|
| unique
|
|
%}
|
|
module(load="{{ module }}")
|
|
{% endfor %}
|
|
|
|
template(name="incomingFilename" type="list") {
|
|
constant(value="{{ rsyslog_collector_base_dir }}/")
|
|
property(name="fromhost-ip")
|
|
constant(value="/")
|
|
property(name="timegenerated" dateFormat="year")
|
|
constant(value="-")
|
|
property(name="timegenerated" dateFormat="month")
|
|
constant(value="-")
|
|
property(name="timegenerated" dateFormat="day")
|
|
constant(value=".log")
|
|
}
|
|
|
|
ruleset(name="handleIncomingLogs") {
|
|
action(type="mmrm1stspace")
|
|
action(
|
|
type="omfile"
|
|
dynaFile="incomingFilename"
|
|
template="RSYSLOG_FileFormat"
|
|
)
|
|
}
|
|
|
|
# TODO: add protocol-specific options (eg. TLS)
|
|
{% for input in rsyslog_inputs %}
|
|
input(
|
|
type="{{ input_modules[input.proto] }}"
|
|
{% if "address" in input %}
|
|
address="{{ input.address }}"
|
|
{% endif %}
|
|
port="{{ input.port }}"
|
|
ruleset="handleIncomingLogs"
|
|
)
|
|
{% endfor %}
|