1 SysDB -- a system management and inventory collection service
2 ===============================================================
4 “System DataBase” (SysDB) is a multi-backend system management and inventory
5 collection service. It stores system and inventory information about
6 hardware and software systems. This information is (continuously) collected
7 from various configurable backends (inventory services, monitoring services,
8 etc.) and stored in a graph-like hierarchy of generic objects. The store may
9 be queried through a generic interface independent of the active backends.
10 Object names are canonicalized before they are added to the store to ensure
11 a consistent view of your infrastructure.
13 The central object type is a host, which generally represents a physical or
14 virtual machine or any other type of physical resource. Hosts, in turn, may
15 reference a list of services which represent any kind of logical resource
16 like a software system. Both, hosts and services, may reference a list of
17 attributes which represent further information about the respective host or
18 service object. For example, attributes may specify static information like
19 a host's architecture or the software version or reference performance data
20 like the current memory utilization or much more.
22 SysDB is free and open source software, licensed under the 2-clause BSD
23 license. See COPYING for details.
25 Prerequisites
26 -------------
28 To compile the SysDB package from source you need:
30 * A build environment: autotools, libtool, C compiler, ...
32 <http://www.gnu.org/software/automake/>
33 <http://www.gnu.org/software/autoconf/>
34 <http://www.gnu.org/software/libtool/>
35 <http://www.freedesktop.org/wiki/Software/pkg-config/>
36 <http://gcc.gnu.org/>
38 * When building from Git, you also need the flex lexical analyzer generator
39 and bison parser generator (other lex and yacc compatible tools might work
40 as well if you are lucky).
42 <http://www.gnu.org/software/bison/>
43 <http://flex.sourceforge.net/>
45 * A POSIX + Single UNIX Specification compatible C library.
47 <http://pubs.opengroup.org/onlinepubs/9699919799/>
49 * asciidoc, xsltproc, xmlto:
50 The AsciiDoc text document format is used to write the manpages.
52 <http://www.methods.co.nz/asciidoc/>
53 <http://xmlsoft.org/XSLT/>
54 <https://fedorahosted.org/xmlto/>
56 * libedit or libreadline:
57 A readline compatible command line editor and history library is used for
58 handling input in the sysdb client program.
60 <http://thrysoee.dk/editline/>
61 <http://tiswww.case.edu/php/chet/readline/rltop.html>
63 The following optional libraries may be used by various plugins:
65 * libdbi:
66 The database independent abstraction layer is used for database access by
67 the puppet::store-configs plugin.
69 <http://libdbi.sourceforge.net/>
71 Testing
72 -------
74 Unit and integration tests for SysDB are shipped along with the source code
75 in the ‘t’ subdirectory. Run ‘make test’ to run all available tests.
77 Some tests require the ‘fopencookie’ function as provided by the GNU libc
78 library. It used used to mock I/O related functions. In case this function
79 is not available, the respective tests will be disabled automatically.
81 The integration tests require valgrind. If it is not available, integration
82 tests will be disabled automatically.
84 For the latest build status, see:
85 <https://travis-ci.org/tokkee/sysdb>
87 Code coverage testing using Gcov may be enabled when using the
88 ‘--enable-gcov’ configure option.
90 For the latest coverage report, see:
91 <https://coveralls.io/r/tokkee/sysdb>
93 Configuring / Compiling / Installing
94 ------------------------------------
96 To configure, build and install SysDB with the default settings, run
97 ‘./configure && make && make install’. For detailed, generic instructions
98 see INSTALL. For a complete list of configure options and their description,
99 run ‘./configure --help’.
101 By default, SysDB will be installed into ‘/opt/sysdb’. You can adjust this
102 setting by specifying the ‘--prefix’ configure option - see INSTALL for
103 details. If you pass DESTDIR=<path> to ‘make install’, <path> will be
104 prefixed to all installation directories. This might be useful when creating
105 packages for SysDB.
107 Author
108 ------
110 Sebastian “tokkee” Harl <sh@tokkee.org>