X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=README;h=43f6f29aeab6e23bef9fb282f8d9e626a51abb16;hp=e7054c9a90378b0a9e28c8ba5bdfed64d8274400;hb=HEAD;hpb=25fd28ea404f11cd68e399eb1b0f3fe5de5034e5 diff --git a/README b/README index e7054c9..43f6f29 100644 --- a/README +++ b/README @@ -2,44 +2,159 @@ =============================================================== “System DataBase” (SysDB) is a multi-backend system management and inventory - collection service. It may be used to (continuously) collect information - about your systems from various backends (inventory services, monitoring - services, etc.) and provides a unique interface to access the information - independent of the active backends. This is done by storing and mapping the - backend objects to generic objects and correlating the attributes to create - a single hierarchical view of your infrastructure. + collection service. It stores system and inventory information about + hardware and software systems. This information is (continuously) collected + from various configurable backends (inventory services, monitoring services, + etc.) and stored in a graph-like hierarchy of generic objects. The store may + be queried through a generic interface independent of the active backends. + Object names are canonicalized before they are added to the store to ensure + a consistent view of your infrastructure. + + The central object type is a host, which generally represents a physical or + virtual machine or any other type of physical resource. Hosts, in turn, may + reference a list of services which represent any kind of logical resource + like a software system. Both, hosts and services, may reference a list of + attributes which represent further information about the respective host or + service object. For example, attributes may specify static information like + a host's architecture or the software version. A host may also reference a + list of metrics which are references to performance data stored about the + host. SysDB supports querying the respective time-series from a backend's + data store. SysDB is free and open source software, licensed under the 2-clause BSD - license. See COPYING for details. + license. See COPYING for details. Changes between all SysDB releases can be + found in the file ReleaseNotes. + + + +Configure and install SysDB +--------------------------- + + To configure, build and install SysDB with the default settings, run + ‘./configure && make && make install’. For detailed, generic instructions + see INSTALL. For a complete list of configure options and their description, + run ‘./configure --help’. + + Various third-party packages are required for a full installation of SysDB. + See the section ‘Prerequisites’ below for details. A summary of + user-supplied and auto-detected build settings is displayed at the end of + each ‘configure’ run. Consult this first for trouble-shooting. + + By default, SysDB will be installed into ‘/opt/sysdb’. You can adjust this + setting by specifying the ‘--prefix’ configure option - see INSTALL for + details. If you pass DESTDIR= to ‘make install’, will be + prefixed to all installation directories. This might be useful when creating + packages for SysDB. Prerequisites ------------- To compile the SysDB package from source you need: - * A build environment: autotools, libtool, C compiler, ... + * A build environment: autotools, libtool, C and C++ compilers, ... + + + + + + + + * When building from Git, you also need the flex lexical analyzer generator + and bison parser generator (other lex and yacc compatible tools might work + as well if you are lucky). + + + * A POSIX + Single UNIX Specification compatible C library. - * asciidoc, xsltproc, xmlto: + + + * asciidoc, xmlto: The AsciiDoc text document format is used to write the manpages. -Configuring / Compiling / Installing ------------------------------------- + + - To configure, build and install SysDB with the default settings, run - `./configure && make && make install'. For detailed, generic instructions - see INSTALL. For a complete list of configure options and their description, - run `./configure --help'. + * libedit or libreadline: + A readline compatible command line editor and history library is used for + handling input in the sysdb client program. - By default, SysDB will be installed into `/opt/sysdb'. You can adjust this - setting by specifying the `--prefix' configure option - see INSTALL for - details. If you pass DESTDIR= to `make install', will be - prefixed to all installation directories. This might be useful when creating - packages for SysDB. + + + + The following optional libraries may be used by various plugins: + + * libdbi: + The database independent abstraction layer is used for database access by + the backend::puppet::store-configs plugin. + + + + * libfacter: + The cfacter library for gathering facts about a system is used by the + backend::facter plugin to retrieve attributes about the local system. + + + + * librrd: + The RRDtool library is used by the timeseries::rrdtool plugin to retrieve + time-series from RRD files. + + + + * libssl: + The Secure Sockets Layer toolkit library is used to encrypt and + authenticate TCP connections. + + + +Testing +------- + + Unit and integration tests for SysDB are shipped along with the source code + in the ‘t’ subdirectory. Run ‘make test’ to run all available tests or use + the following commands to run unit and integration tests separately: + + make test TESTS='$(UNIT_TESTS)' + make test TESTS='$(INTEGRATION_TESTS)' + + Some tests require the ‘fopencookie’ function as provided by the GNU libc + library. It used used to mock I/O related functions. In case this function + is not available, the respective tests will be disabled automatically. + + The integration tests require valgrind. If it is not available, integration + tests will be disabled automatically. + + For the latest build status, see: + + + Code coverage testing using Gcov may be enabled when using the + ‘--enable-gcov’ configure option. + + For the latest coverage report, see: + + +Documentation +------------- + + All documentation for SysDB is available as manual pages (in roff and HTML + formats) and shipped alongside the source code in the doc/ subdirectory. + Also, it is available online at . + +Getting Help +------------ + + Various channels for asynchronous and real-time communication with + developers and users are available. See for + details about the mailing list, IRC channel, and social media. Author ------ - Sebastian "tokkee" Harl + Sebastian “tokkee” Harl + + See the file THANKS for credits and inspiration. + + Want to contribute? Check out the website for details.