“System Datebase” (SysDB) is an Open Source daemon which aggregates system management and inventory information and stores them in a central database. All information is retrieved from other hardware or software systems and may be queried through a generic interface.
SysDB Development Discontinued
SysDB was started as a personal side-project and, to be honest, a personal playground. At the moment, I have no personal use-case for it and, hence, I'm discontinuing active development indefinetly. If you are interested in taking over or discussing options, please reach out to me.
SysDB 0.8.0 Release
The eighth development snapshot of SysDB was released today. It focuses on a generic and much more powerful store (query) interface and modular store implementations via plugins. The in-memory store has been moved into a plugin on top of that. Various fixes and improvements, mostly related to iterators, have been applied to the parser and query language. Please send comments to Sebastian ‘tokkee’ Harl, open an issue at Github, or let us know through any of the social networks.
How SysDB Works
“System DataBase” (SysDB) is a multi-backend system management and inventory 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 or reference performance data like the current memory utilization or much more.
Reasons to Choose SysDB
SysDB aggregates information from multiple system management and inventory services, thus allowing to use the benefits of each while still maintaining a complete overview of all information. This enables you to correlate or annotate information. The following example use-cases provide an idea of how you can benefit from that:
- filter or select monitoring and performance data by their attributes (e.g., facter fact values)
- display all important system information in one location (central dashboard)
- build powerful, dynamic monitoring rules and business processes
- extend your CMDB, for example by annotating static information with dynamic and/or current data
See here for a full list of features.
SysDB is distributed as source code. After downloading the latest release and unpacking the source archive, you will find more detailed instructions in the included README file.
SysDB was initiated by Sebastian ‘tokkee’ Harl. It is Free/Libre Open Source Software released under the simplified BSD license. You are free to use, modify, and redistribute the code or integrate it into your codebase under the terms of that license. The source code is hosted on Github and freely available to anyone for analysis and reuse. If you share any patches or improvements, please make sure to send them back for integration into the SysDB codebase for the benefit of all users.
The source code is continuously tested by running a set of unit and integration tests. You may find the current build and test status and code coverage statistics at Travis CI and Coveralls: