TLSRPT-COLLECTD(1)

πŸ“¦
version 0.6.0 Β· 2 versions
, in arch rolling

πŸ’… TLSRPT-COLLECTD(1) β€” the tlsrpt-collectd era

okay bestie, welcome to tlsrpt-collectd(1) β€” yes that's the manual name, it's giving section 1, daemon energy, periodt. this is the little icon that hoovers up TLSRPT report data from MTA instances over a unix domain socket. she's a collector. she's a listener. she's lowkey the backbone of your whole report pipeline πŸŽ€


✨ NAME ✨

tlsrpt-collectd β€” a daemon collecting TLSRPT report data from MTA instances via a unix domain socket. that's it, that's the girl. 🫢


🌸 SYNOPSIS 🌸

tlsrpt-collectd [OPTION]

literally just run her with options. simple. iconic.


πŸ¦‹ DESCRIPTION πŸ¦‹

so tlsrpt-collectd collects data from MTAs about two things: successful encrypted delivery of emails, and failures that occured during delivery attempts. the data comes in pre-aggregated, and later it gets retrieved by matching tlsrpt-fetchers. iykyk.

the tea on storage: tlsrpt-collectds can use different storage back-ends, and for each such implementation a matching fetcher implementation must be provided if the data is going to be used by a tlsrpt-reportd. no matching fetcher = no data retrieval, no cap.

and here's the fun plot twist πŸ’€ β€” you can also implement storage backends that are not queried by a tlsrpt-reportd at all. such "storage" back-ends would just collect the data for analyzing purposes, but would not provide measn to retrieve the data again. so it's like a journal you never re-read. valid. main character energy.


πŸ’– OPTIONS πŸ’–

  • --storage=URL β€” Use data storage described by URL. this can be a comma-separated list of multiple storage backends, slay. 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. why? because 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. big brain.
  • --daily_rollover_script=script β€” If this option is set, script will be run after midnight UTC has passed and maintenance steps were performed. super 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. she pushes, she doesn't wait to be asked ✨
  • --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. little evidence bag for the messy ones πŸ™ˆ

πŸŽ€ General options πŸŽ€

  • --config_file=filename β€” Read options from the section tlsrpt_collectd of the INI-style configuration file filename. priority check bestie: environment variables override setings from the configurstion file, and command line options override both. it's a whole hierarchy πŸ‘‘
  • --help β€” Print a help message describing all options.
  • --pidfilename=path β€” Specifies the file that contains the process ID of the tlsrpt-collectd daemon. an empty string will cause no PID file to be created.

πŸ’œ Logging options πŸ’œ

  • --logfilename=filename β€” Use filename as log file.
  • --log_level=level β€” Set log level to level, allowed values: debug, info, warn, error.

🌈 ENVIRONMENT 🌈

all config options except --help and --config_file can also be set via environment variables. the env var for a configuration option is the prefix TLSRPT_COLLECTD_ followed by the configuration setting name in all caps. for example the --log_level option can instead by configured using the TLSRPT_COLLECTD_LOG_LEVEL environment variable. obsessed with the consistency fr fr πŸ’…


⭐ EXIT STATUS ⭐

  • 0 β€” Success. we ate. πŸ”₯
  • 1 β€” Failure. Data could not be delivered.
  • 2 β€” Failure. Data could not be delivered.
  • 3 β€” Usage error. bestie you typed something wrong 😭
yes 1 and 2 both mean "Failure. Data could not be delivered." β€” that's the manpage's story and we're sticking to it, no cap.

πŸ“ 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

that's the whole vibe. config file for the base fit, command line for the last-minute accessory ✨


🧚 SEE ALSO 🧚

man:tlsrpt-fetcher[1], man:tlsrpt-reportd[1] β€” go read your siblings, they're family πŸ’–


πŸ‘‘ AUTHOR πŸ‘‘

Boris Lohner. legend. respect on the name. 🫑


and that's the whole page, bestie!! πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈ this gem is tlsrpt-collectd, dated 2026-09-01, and it lives happily in your man pages. go collect some datagrams and slay πŸ’…β­πŸŒˆ
πŸ“¦ where this page comes from