From: Sebastian Harl Date: Wed, 5 Dec 2012 15:10:48 +0000 (+0100) Subject: Initial commit. X-Git-Tag: sysdb-0.0.0 X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=commitdiff_plain;h=bf3b8e60b2fdc493c4e04b05ce67abf69ca9a4ff;hp=bf3b8e60b2fdc493c4e04b05ce67abf69ca9a4ff Initial commit. This is the initial version of 'syscollector', a system management / inventory collection service. The current version provides a configurable plugin infrastructure to query host / service objects. The system is made up of the following components: - libsyscollector: the library providing the core functionality to manage plugins and the data store * core/object: base "class" for objects being stored in any part of the library; an object contains information about a reference count and the actual data being stored (in derived "classes"); it may be used to ease memory management when using instances in different parts of the software * core/plugin: infrastructure for registering and calling plugin callbacks; each registered plugin has its own context which stores information that should be available to different parts of the software without having the plugin to care much about it; for now, configuration, init, shutdown and collector (backend) callbacks are supported * core/store: implementation of the system object store; currently, host and service entries are supported; each host includes a list of services assigned to it; the store objects are derived from the core object implementation * utils/llist: a linked list implementation, currently supporting sorted insertions, searching and shifting objects and iterators; the list stores core object instances * utils/string: collection of string utilities; currently a wrapper around strerror_r() is available only * utils/time: implementation of a custom time type which is a single integer value storing the time since the epoch in nanoseconds resolution; this is provided for simplified time calculations and comparisons * utils/unixsock: helper functions to connect to and communicate with a UNIX domain socket - backends: plugins implementing collector callbacks * collectd: this backend retrieves host and service information from collectd, the system statistics collection daemon, through its unixsock interface - daemon: 'syscollectord' is a daemon based on libsyscollector which periodically queries all backends - liboconfig: the configuration parsing library used by collectd; this is used by 'syscollectord' for parsing its configuration and it's used by libsyscollector to pass on configuration to the plugins ---