summaryrefslogtreecommitdiff
path: root/data/templates/netflow/uacctd.conf.tmpl
blob: b6d31746f8cf9420b05856ae1bdcde8a2a45e2c7 (plain)
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
# Genereated from VyOS configuration
daemonize: true
promisc: false
pidfile: /var/run/uacctd.pid
uacctd_group: 2
uacctd_nl_size: 2097152
snaplen: {{ packet_length }}
aggregate: in_iface{{ ',out_iface' if enable_egress is defined }},src_mac,dst_mac,vlan,src_host,dst_host,src_port,dst_port,proto,tos,flows
{% set pipe_size = buffer_size | int *1024 *1024 %}
plugin_pipe_size: {{ pipe_size }}
{# We need an integer division (//) without any remainder or fraction #}
plugin_buffer_size: {{ pipe_size // 1000 }}
{% if syslog_facility is defined and syslog_facility is not none %}
syslog: {{ syslog_facility }}
{% endif %}
{% if disable_imt is not defined %}
imt_path: /tmp/uacctd.pipe
imt_mem_pools_number: 169
{% endif %}

{% set plugin = [] %}
{% if disable_imt is not defined %}
{%   set plugin = ['memory'] %}
{% endif %}
{% if netflow is defined and netflow.server is defined and netflow.server is not none %}
{%   for server in netflow.server %}
{%     set plugin = plugin.append('nfprobe[nf_' ~ server ~ ']') %}
{%   endfor %}
{% endif %}
{% if sflow is defined and sflow.server is defined and sflow.server is not none %}
{%   for server in sflow.server %}
{%     set plugin = plugin.append('sfprobe[sf_' ~ server ~ ']') %}
{%   endfor %}
{% endif %}
plugins: {{ plugin | join(',') }}

{% if netflow is defined and netflow.server is defined and netflow.server is not none %}
# NetFlow servers
{%   for server, server_config in netflow.server.items() %}
nfprobe_receiver[nf_{{ server }}]: {{ server }}:{{ server_config.port }}
nfprobe_version[nf_{{ server }}]: {{ netflow.version }}
{%     if netflow.engine_id is defined and netflow.engine_id is not none %}
nfprobe_engine[nf_{{ server }}]: {{ netflow.engine_id }}
{%     endif %}
{%     if netflow.max_flows is defined and netflow.max_flows is not none %}
nfprobe_maxflows[nf_{{ server }}]: {{ netflow.max_flows }}
{%     endif %}
{%     if netflow.sampling_rate is defined and netflow.sampling_rate is not none %}
sampling_rate[nf_{{ server }}]: {{ netflow.sampling_rate }}
{%     endif %}
{%     if netflow.source_address is defined and netflow.source_address is not none %}
nfprobe_source_ip[nf_{{ server }}]: {{ netflow.source_address }}
{%     endif %}
{%     if netflow.timeout is defined and netflow.timeout is not none %}
nfprobe_timeouts[nf_{{ server }}]: expint={{ netflow.timeout.expiry_interval }}:general={{ netflow.timeout.flow_generic }}:icmp={{ netflow.timeout.icmp }}:maxlife={{ netflow.timeout.max_active_life }}:tcp.fin={{ netflow.timeout.tcp_fin }}:tcp={{ netflow.timeout.tcp_generic }}:tcp.rst={{ netflow.timeout.tcp_rst }}:udp={{ netflow.timeout.udp }}
{%     endif %}
{%   endfor %}
{% endif %}

{% if sflow is defined and sflow.server is defined and sflow.server is not none %}
# sFlow servers
{%   for server, server_config in sflow.server.items() %}
sfprobe_receiver[sf_{{ server }}]: {{ server }}:{{ server_config.port }}
sfprobe_agentip[sf_{{ server }}]: {{ sflow.agent_address }}
{%     if sflow.sampling_rate is defined and sflow.sampling_rate is not none %}
sampling_rate[sf_{{ server }}]: {{ sflow.sampling_rate }}
{%     endif %}
{%     if sflow.source_address is defined and sflow.source_address is not none %}
sfprobe_source_ip[sf_{{ server }}]: {{ sflow.source_address }}
{%     endif %}
{%   endfor %}
{% endif %}