Code

parser: Let the TIMESERIES command accept optional data-source names.
[sysdb.git] / README
diff --git a/README b/README
index 92193efea7e2ff3eff2c24ca208814c32cc1732d..43f6f29aeab6e23bef9fb282f8d9e626a51abb16 100644 (file)
--- a/README
+++ b/README
@@ -2,22 +2,56 @@
        ===============================================================
 
   “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.
+
+  <https://sysdb.io/>
+
+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=<path> to ‘make install’, <path> 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, ...
 
     <http://www.gnu.org/software/automake/>
     <http://www.gnu.org/software/autoconf/>
@@ -36,11 +70,10 @@ Prerequisites
 
     <http://pubs.opengroup.org/onlinepubs/9699919799/>
 
-  * asciidoc, xsltproc, xmlto:
+  * asciidoc, xmlto:
     The AsciiDoc text document format is used to write the manpages.
 
     <http://www.methods.co.nz/asciidoc/>
-    <http://xmlsoft.org/XSLT/>
     <https://fedorahosted.org/xmlto/>
 
   * libedit or libreadline:
@@ -54,47 +87,74 @@ Prerequisites
 
   * libdbi:
     The database independent abstraction layer is used for database access by
-    the puppet::store-configs plugin.
+    the backend::puppet::store-configs plugin.
 
     <http://libdbi.sourceforge.net/>
 
+  * libfacter:
+    The cfacter library for gathering facts about a system is used by the
+    backend::facter plugin to retrieve attributes about the local system.
+
+    <https://github.com/puppetlabs/cfacter>
+
+  * librrd:
+    The RRDtool library is used by the timeseries::rrdtool plugin to retrieve
+    time-series from RRD files.
+
+    <https://oss.oetiker.ch/rrdtool/>
+
+  * libssl:
+    The Secure Sockets Layer toolkit library is used to encrypt and
+    authenticate TCP connections.
+
+    <http://openssl.org/>
+
 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.
+  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 and chrpath.
+  The integration tests require valgrind. If it is not available, integration
+  tests will be disabled automatically.
 
   For the latest build status, see:
-  <https://travis-ci.org/tokkee/sysdb>
+  <https://travis-ci.org/sysdb/sysdb>
 
   Code coverage testing using Gcov may be enabled when using the
   ‘--enable-gcov’ configure option.
 
   For the latest coverage report, see:
-  <https://coveralls.io/r/tokkee/sysdb>
+  <https://coveralls.io/r/sysdb/sysdb>
 
-Configuring / Compiling / Installing
-------------------------------------
+Documentation
+-------------
 
-  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’.
+  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 <https://sysdb.io/documentation/>.
 
-  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=<path> to ‘make install’, <path> will be
-  prefixed to all installation directories. This might be useful when creating
-  packages for SysDB.
+Getting Help
+------------
+
+  Various channels for asynchronous and real-time communication with
+  developers and users are available. See <https://sysdb.io/contact/> for
+  details about the mailing list, IRC channel, and social media.
 
 Author
 ------
 
   Sebastian “tokkee” Harl <sh@tokkee.org>
 
+  See the file THANKS for credits and inspiration.
+
+  Want to contribute? Check out the website <https://sysdb.io> for details.
+