Code

sysdb: Use a custom output format instead of pretty-printed JSON.
[sysdb.git] / doc / sysdbd.conf.5.txt
1 sysdbd.conf(5)
2 ==============
3 :doctype: manpage
5 NAME
6 ----
7 sysdbd.conf - configuration for the system management and inventory collection
8 service
10 SYNOPSIS
11 --------
12   Interval 300
14   Listen "unix:/var/run/sysdbd.sock"
15   <Listen "tcp:some.host.name:12345">
16       SSLCertificate "/etc/sysdb/ssl/cert.pem"
17       SSLCertificateKey "/etc/sysdb/ssl/key.pem"
18   </Listen>
20   LoadPlugin "syslog"
22   LoadBackend "collectd::unixsock"
23   LoadBackend "mk-livestatus"
25   LoadPlugin "timeseries::rrdtool"
27   <LoadBackend "puppet::store-configs">
28       Interval 1800
29   </LoadBackend>
31   <Backend "collectd::unixsock">
32       <Instance "central-collector">
33           Socket "/var/run/collectd-unixsock"
34       </Instance>
35   </Backend>
37 DESCRIPTION
38 -----------
39 The *sysdbd.conf* file controls the behavior of the system management and
40 inventory collection daemon (*sysdbd*). As the daemon itself does not provide
41 any real (user-facing) functionality, the most important part of the
42 configuration is loading and configuring plugins.
44 The syntax of this configuration file is similar to that of the Apache
45 webserver. It is made up of _options_ and _blocks_. Each option contains a
46 _key_ and one or more _values_ separated by spaces and terminated by a newline
47 character. Blocks are enclosed in a start- and end-tag, each on a line of
48 their own. These tags are enclosed in angle brackets and also contain a key
49 and value. A block's end-tag only contain the key of the start-tag prepended
50 by a forward-slash ("/"). Empty lines are ignored as well as any unquoted hash
51 symbol ("#") including anything following up to the following newline. Keys
52 are unquoted strings consisting only of alphanumeric characters and the
53 underscore character ("_"). Values may either be unquoted strings, quoted
54 strings enclosed in double quotes, numbers or boolean values (*true* or
55 *false*). In order to include a double-quote character in a quoted string,
56 escape it using a backslash character ("\"). Floating point numbers use a dot
57 (".") as decimal separator.
59 Lines may be wrapped by using a backslash character ("\") as the last
60 character before the newline. This allows long lines to be split into multiple
61 lines. Quoted strings may be wrapped as well. However, those are treated
62 special in that whitespace at the beginning of the following lines will be
63 ignored, which allows for nicely indenting the wrapped lines.
65 GLOBAL SETTINGS
66 ---------------
67 *sysdbd* accepts the following global options:
69 *Interval* '<seconds>'::
70         Sets the interval at which to query backends by default. The interval is
71         specified in seconds and might be a floating-point value. This option will
72         be used by any "active" backend, that is, those that actively query some
73         external system rather than receiving some stream of events.
75 *Listen* '<socket>'::
76         Sets the address on which sysdbd is to listen for client connections. It
77         supports UNIX domain sockets and TCP sockets using TLS encryption. UNIX
78         socket addresses are specified by the path name of the socket, optionally
79         prefixed with 'unix:'. TCP listen addresses may be specified as
80         '<host>:<port>', optionally prefixed with 'tcp:'. The host may be a
81         hostname, an IPv4 address or and IPv6 address. It may be empty or
82         '0.0.0.0' / '::' to listen on all local addresses. *Listen* may optionally
83         be a block containing any of the following options:
85         *SSLCertificate* '<filename>';;
86                 Specify the SSL server certificate file to use for SSL connections.
88         *SSLCertificateKey* '<filename>';;
89                 Specify the SSL server private key file to use for SSL connections.
91         *SSLCACertificates* '<filename>';;
92                 Specify the file containing certificate authority (CA) certificates
93                 for client verification purposes to use for SSL connnections.
95 *LoadBackend* '<name>'::
96         Loads the backend named '<name>'. Backends are special plugins taking care
97         of collecting values from external systems. This may optionally be a block
98         containing any of the following options:
100         *Interval* '<seconds>';;
101                 Overwrite the global interval setting by setting a custom interval to
102                 be used for this backend. See the global *Interval* option for more
103                 details.
105 *LoadPlugin* '<name>'::
106         Loads the plugin named '<name>'. Plugins provide additional functionality
107         for sysdbd.
109 *PluginDir* '<directory>'::
110         Sets the base directory for plugins to '<directory>'. When loading a
111         plugin, it is expected to be found below this directory. This option
112         affects all following *LoadBackend* or *LoadPlugin* statements up to the
113         following *PluginDir* option.
115 PLUGINS
116 -------
117 Some plugins support additional configuration options. Each of these are
118 enclosed in a *Plugin* or *Backend* section. The following plugins are shipped
119 with SysDB. See *sysdbd*-'<name>'(5) manpages for more details.
121 Backends:
122 ~~~~~~~~~
124 *collectd::unixsock*::
125 This backend module accesses the system statistics collection daemon
126 *collectd* through its UNIX socket interface. It periodically queries all host
127 and metric information.
129 See also: http://collectd.org
131 *facter*::
132 This backend module retrieves local facter fact values and submits them as
133 host attributes.
135 See also: https://github.com/puppetlabs/cfacter
137 *mk-livestatus*::
138 This backend modules accesses monitoring systems supporting the *livestatus*
139 addon (e.g., *Nagios*, *Icinga*, and *Shinken*). It periodically queries all
140 host and service information.
142 See also: http://mathias-kettner.de/checkmk_livestatus.html,
143 http://www.nagios.org/, http://icinga.org/, http://www.shinken-monitoring.org/
145 *puppet::store-configs*::
146 This backend module accesses the configuration management system *Puppet*
147 through its *store configs* database. It periodically queries all host and
148 facter facts information storing the latter as host attributes.
150 See also: http://puppetlabs.com/puppet,
151 http://puppetlabs.com/puppet/related-projects/facter/
153 Time-series fetcher:
154 ~~~~~~~~~~~~~~~~~~~~
156 *timeseries::rrdtool*::
157 This plugin adds support for fetching time-series data from RRD files.
159 See also: http://oss.oetiker.ch/rrdtool
161 Plugins:
162 ~~~~~~~~
164 *cname::dns*::
165 Canonicalize hostnames based on a reverse DNS query.
167 *syslog*::
168 This logging module sends log messages of the daemon and plugins to the local
169 system's syslog service.
171 SEE ALSO
172 --------
173 manpage:sysdbd[1], manpage:sysdb[7]
175 The SysDB homepage: https://sysdb.io/
177 Backend documentation:
178 ~~~~~~~~~~~~~~~~~~~~~~
180 manpage:sysdbd-collectd-unixsock[5], manpage:sysdbd-facter[5],
181 manpage:sysdbd-mk-livestatus[5], manpage:sysdbd-puppet-store-configs[5]
183 Time-series fetcher documentation:
184 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
186 manpage:sysdbd-timeseries-rrdtool[5]
188 Plugin documentation:
189 ~~~~~~~~~~~~~~~~~~~~~
191 manpage:sysdbd-cname-dns[5], manpage:sysdbd-syslog[5]
193 AUTHOR
194 ------
195 SysDB was written by Sebastian "tokkee" Harl <sh@tokkee.org>.
197 COPYRIGHT
198 ---------
199 Copyright (C) 2012-2014 Sebastian "tokkee" Harl <sh@tokkee.org>
201 This is free software under the terms of the BSD license, see the source for
202 copying conditions. There is NO WARRANTY; not even for MERCHANTABILITY or
203 FITNESS FOR A PARTICULAR PURPOSE.
205 // vim: set tw=78 sw=4 ts=4 noexpandtab spell spelllang=en_us :