Code

Added documentation and sample configuration for the facter backend.
[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"
16   LoadPlugin "syslog"
18   LoadBackend "collectd::unixsock"
19   LoadBackend "mk-livestatus"
21   LoadPlugin "timeseries::rrdtool"
23   <LoadBackend "puppet::store-configs">
24       Interval 1800
25   </LoadBackend>
27   <Backend "collectd::unixsock">
28       <Instance "central-collector">
29           Socket "/var/run/collectd-unixsock"
30       </Instance>
31   </Backend>
33 DESCRIPTION
34 -----------
35 The *sysdbd.conf* file controls the behavior of the system management and
36 inventory collection daemon (*sysdbd*). As the daemon itself does not provide
37 any real (user-facing) functionality, the most important part of the
38 configuration is loading and configuring plugins.
40 The syntax of this configuration file is similar to that of the Apache
41 webserver. It is made up of _options_ and _sections_. Each option contains a
42 _key_ and one or more _values_ separated by spaces and terminated by a newline
43 character. Sections are enclosed in a start- and end-tag, each on a line of
44 their own. These tags are enclosed in angle brackets and also contain a key
45 and value. Section end-tags only contain the key of the start-tag prepended by
46 a forward-slash ("/"). Empty lines are ignored as well as any unquoted hash
47 symbol ("#") including anything following up to the following newline. Keys
48 are unquoted strings consisting only of alphanumeric characters and the
49 underscore character ("_"). Values may either be unquoted strings, quoted
50 strings enclosed in double quotes, numbers or boolean values (*true* or
51 *false*). In order to include a double-quote character in a quoted string,
52 escape it using a backslash character ("\"). Floating point numbers use a dot
53 (".") as decimal separator.
55 Lines may be wrapped by using a backslash character ("\") as the last
56 character before the newline. This allows long lines to be split into multiple
57 lines. Quoted strings may be wrapped as well. However, those are treated
58 special in that whitespace at the beginning of the following lines will be
59 ignored, which allows for nicely indenting the wrapped lines.
61 GLOBAL SETTINGS
62 ---------------
63 *sysdbd* accepts the following global options:
65 *Interval* '<seconds>'::
66         Sets the interval at which to query backends by default. The interval is
67         specified in seconds and might be a floating-point value. This option will
68         be used by any "active" backend, that is, those that actively query some
69         external system rather than receiving some stream of events.
71 *Listen* '<socket>'::
72         Sets the address on which sysdbd is to listen for client connections. It
73         supports UNIX domain sockets. The path name needs to be prefixed by
74         'unix:'.
76 *LoadBackend* '<name>'::
77         Loads the backend named '<name>'. Backends are special plugins taking care
78         of collecting values from external systems. This may optionally be a
79         section containing any of the following options:
81         *Interval* '<seconds>';;
82                 Overwrite the global interval setting by setting a custom interval to
83                 be used for this backend. See the global *Interval* option for more
84                 details.
86 *LoadPlugin* '<name>'::
87         Loads the plugin named '<name>'. Plugins provide additional functionality
88         for sysdbd.
90 *PluginDir* '<directory>'::
91         Sets the base directory for plugins to '<directory>'. When loading a
92         plugin, it is expected to be found below this directory. This option
93         affects all following *LoadBackend* or *LoadPlugin* statements up to the
94         following *PluginDir* option.
96 PLUGINS
97 -------
98 Some plugins support additional configuration options. Each of these are
99 enclosed in a *Plugin* or *Backend* section. The following plugins are shipped
100 with SysDB. See *sysdbd*-'<name>'(5) manpages for more details.
102 Backends:
103 ~~~~~~~~~
105 *collectd::unixsock*::
106 This backend module accesses the system statistics collection daemon
107 *collectd* through its UNIX socket interface. It periodically queries all host
108 and metric information.
110 See also: http://collectd.org
112 *facter*::
113 This backend module retrieves local facter fact values and submits them as
114 host attributes.
116 See also: https://github.com/puppetlabs/cfacter
118 *mk-livestatus*::
119 This backend modules accesses monitoring systems supporting the *livestatus*
120 addon (e.g., *Nagios*, *Icinga*, and *Shinken*). It periodically queries all
121 host and service information.
123 See also: http://mathias-kettner.de/checkmk_livestatus.html,
124 http://www.nagios.org/, http://icinga.org/, http://www.shinken-monitoring.org/
126 *puppet::store-configs*::
127 This backend module accesses the configuration management system *Puppet*
128 through its *store configs* database. It periodically queries all host and
129 facter facts information storing the latter as host attributes.
131 See also: http://puppetlabs.com/puppet,
132 http://puppetlabs.com/puppet/related-projects/facter/
134 Time-series fetcher:
135 ~~~~~~~~~~~~~~~~~~~~
137 *timeseries::rrdtool*::
138 This plugin adds support for fetching time-series data from RRD files.
140 See also: http://oss.oetiker.ch/rrdtool
142 Plugins:
143 ~~~~~~~~
145 *cname::dns*::
146 Canonicalize hostnames based on a reverse DNS query.
148 *syslog*::
149 This logging module sends log messages of the daemon and plugins to the local
150 system's syslog service.
152 SEE ALSO
153 --------
154 manpage:sysdbd[1], manpage:sysdb[7]
156 The SysDB homepage: https://sysdb.io/
158 Backend documentation:
159 ~~~~~~~~~~~~~~~~~~~~~~
161 manpage:sysdbd-collectd-unixsock[5], manpage:sysdbd-facter[5],
162 manpage:sysdbd-mk-livestatus[5], manpage:sysdbd-puppet-store-configs[5]
164 Time-series fetcher documentation:
165 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
167 manpage:sysdbd-timeseries-rrdtool[5]
169 Plugin documentation:
170 ~~~~~~~~~~~~~~~~~~~~~
172 manpage:sysdbd-cname-dns[5], manpage:sysdbd-syslog[5]
174 AUTHOR
175 ------
176 SysDB was written by Sebastian "tokkee" Harl <sh@tokkee.org>.
178 COPYRIGHT
179 ---------
180 Copyright (C) 2012-2014 Sebastian "tokkee" Harl <sh@tokkee.org>
182 This is free software under the terms of the BSD license, see the source for
183 copying conditions. There is NO WARRANTY; not even for MERCHANTABILITY or
184 FITNESS FOR A PARTICULAR PURPOSE.
186 // vim: set tw=78 sw=4 ts=4 noexpandtab spell spelllang=en_us :