You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/roles/rsyslog_collector/templates/20-collector.conf.j2

58 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"
)
call sendLogsToRemote
}
# 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 %}
# Store local logs too
call handleIncomingLogs