1 SysDB Release Notes
2 =====================
4 The release notes contain noteworthy changes in each System DataBase (SysDB)
5 release, with a summary of the most important changes at the top. A complete
6 and very detailed list of changes can be obtained from the Git logs for each
7 release.
9 About SysDB:
10 ~~~~~~~~~~~~
11 “System DataBase” (SysDB) is a multi-backend system management and inventory
12 collection service. It stores system and inventory information about
13 hardware and software systems. This information is (continuously) collected
14 from various configurable backends (inventory services, monitoring services,
15 etc.) and stored in a graph-like hierarchy of generic objects. The store may
16 be queried through a generic interface independent of the active backends.
17 Object names are canonicalized before they are added to the store to ensure
18 a consistent view of your infrastructure.
20 <http://sysdb.io/>
22 Version 0.2.0, Release Date: 2014-07-01
23 ---------------------------------------
25 This is another development snapshot of SysDB. The main focus of this
26 release is on stabilizing existing features and extending the query
27 infrastructure to support all attribute types and further operators.
29 * build system: Fixed linking of sysdbd to include *all* necessary object
30 files. This bug caused some plugins to be un-loadable.
31 * sysdbd: Fixed shutdown process in case of errors.
32 * sysdb: Fixed a bug causing some server replies to be ignored when exiting
33 from the client.
34 * core:
35 - Always log to the standard output stream if no user-provided logging
36 callbacks had been specified. Previously this was disabled after
37 enabling logging to clients in the frontend.
38 - Simplified plugin naming information and determine configuration
39 callback names automatically to ensure better consistency.
40 * store:
41 - Simplified internal data management.
42 - Store the list of backends along with each stored object which provide
43 the respective object.
44 * frontend:
45 - Simplified and improved the internal architecture matching / looking up
46 objects.
47 - Fixed parser to correctly reject invalid object types.
48 - Automatically create the base directory of a listening UNIX socket.
49 * query language: Added support for numeric constants and added operators
50 for less and greater than or equal attribute comparison.
51 * documentation: Added missing files to the distribution tarball.
53 Plugins:
55 * syslog: Don't log debug messages to syslog.
57 Version 0.1.0, Release Date: 2014-06-01
58 ---------------------------------------
60 This is the initial release of SysDB. It provides the following core
61 features:
63 * sysdb: A terminal-based, interactive client program. Supports
64 line-editing and history based on libreadline or libedit and uses an
65 asynchronous, event-driven architecture to handle user input and server
66 replies simultaneously.
67 * sysdbd: The database backend service configurable through a configuration
68 file. The daemon supports online reconfiguration.
69 * core: Flexible, multi-threaded core architecture providing a configurable
70 plugin infrastructure for querying external data-sources and extending
71 core functionality. The following plugin types are supported:
72 - data collection
73 - hostname canonicalization
74 - logging
75 * store: Central, in-memory object store managing host and service objects
76 and their attributes. Host names may be canonicalized through respective
77 plugins. Each object is automatically attributed with last update and
78 interval information using nano-seconds resolution. Attributes may have
79 various types (integer, decimal, string, date-time, binary).
80 * frontend: The frontend handling client connections uses a multi-threaded,
81 asynchronous, event-driven architecture capable of handling multiple
82 listen addresses.
83 * query language: The store may be queried using the ‘LIST’, ‘LOOKUP’, and
84 ‘FETCH’ commands returning JSON formatted objects.
85 * utils: A rich set of abstract data-types and utility functions for
86 internal use:
87 - generic channels for asynchronous, multi-threaded I/O
88 - DBI wrapper to ease common database access operations
89 - thread-aware error handling and reporting
90 - doubly linked-lists
91 - dynamic sized memory buffers supporting formatted strings and binary
92 data
93 - UNIX socket client implementation
94 * documentation: Full documentation for the tools, all plugins, and the
95 query language provided as manpages and HTML pages.
96 * testing: Unit and integration tests exist for most parts except plugins
97 covering 77% of all functions. Valgrind and Clang's address sanitzer are
98 used to detect memory leaks and programming errors.
100 The following plugins are shipped with this version of SysDB:
102 Backends:
103 * collectd::unixsock: Query collectd through its ‘unixsock’ interface
104 * mk-livestatus: Query arbitrary (monitoring) systems using the Check_MK
105 Livestatus interface.
106 * puppet::store-configs: Query Puppet through its “stored configuration”
107 database.
109 Plugins:
110 * cname::dns: Canonicalize hostnames by querying DNS information.
111 * syslog: Send log messages to the system log service.