= tlsrpt-collectd(1)
Boris Lohner
v0.5.0
:doctype: manpage
:manmanual: tlsrpt-collectd
:mansource: tlsrpt-collectd
:man-linkstyle: pass:[blue R < >]
:varpar-configsection: tlsrpt_collectd
:varpar-daemonname: tlsrpt-collectd
:varpar-environmentprefix: TLSRPT_COLLECTD_

== Name

tlsrpt-collectd - A daemon collecting TLSRPT report data from MTA instances via a unix domain socket.

== Synopsis

*tlsrpt-collectd* [_OPTION_]

== Description

The tlsrpt-collectd collects data from MTAs about successful encrypted delivery of emails or about failures that occured during delivery attempts.
The data is pre-aggregated and will be retrieved by matching tlsrpt-fetchers.

Tlsrpt-collectds can use different storage back-ends and for each such implementation a matching fetcher implementation must be provided if the data is to be used by a tlsrpt-reportd.

It is also possible to implement storage backends that are not queried by a tlsrpt-reportd.
Such "storage" back-ends would just collect the data for analyzing purposes, but would not provide measn to retrieve the data again.


== Options

*--storage*=_URL_::
Use data storage described by _URL_.
This can be a comma-separated list of multiple storage backends.
The URL schema identifies the storage backend.

*--socketname*=_path_::
Listen on unix domain socket _path_ for report data.

*--socketuser*=_name_::
Set the user ownership of the socket to _name_.

*--socketgroup*=_name_::
Set the group ownership of the socket to _name_.

*--socketmode*=_octal_::
Set the file mode bits of the socket to numeric mode _octal_. E.g. 0200 to allow only write access for the owner.

*--sockettimeout*=_n_::
Commit accumulated data to the data storage if _n_ seconds have passed since the last commit.

*--max_uncommited_datagrams*=_n_::
Commit accumulated data to the data storage after _n_ datagrams have been received.

*--retry_commit_datagram_count*=_n_::
After a commit of the accumulated data has failed, retry after _n_ more datagrams have been received instead of directly after the next datagram.
If a commit fails due to a timeout, retrying after every datagram might risk running into the same timeout again and again.
Retrying only every _n_ datagrams reduces the time waiting for such timeouts.

*--daily_rollover_script*=_script_::
If this option is set, _script_ will be run after midnight UTC has passed and maintenance steps were performed.
This can be useful to push the collectd database to some other place in setups where a remote TLSRPT-collectd cannot be easily queried from the TLSRPT-reportd but the TLSRPT-collectd can push data to the TLSRPT-reportd.

*--dump_path_for_invalid_datagram*=_path_::
If an invalid datagram is received and this options is set, the invalid datagram will be saved in the file named _path_.


include::manpage-common-options.adoc[]
 
== Exit status
*0*::
Success.

*1*::
Failure.
Data could not be delivered.

*2*::
Failure. 
Data could not be delivered.

*3*::
Usage error. 

== Examples

Run tlsrpt-collectd with a special config file and ovverride the setting of log-level:

*tlsrpt-collectd --config-file /path/to/config.cfg --log_level info*

== See also
man:tlsrpt-fetcher[1], man:tlsrpt-reportd[1]

include::manpage-copying.adoc[]

