author | Sebastian Harl <sh@tokkee.org> | |
Wed, 5 Dec 2012 15:10:48 +0000 (16:10 +0100) | ||
committer | Sebastian Harl <sh@tokkee.org> | |
Wed, 5 Dec 2012 15:10:48 +0000 (16:10 +0100) | ||
commit | bf3b8e60b2fdc493c4e04b05ce67abf69ca9a4ff | |
tree | 6cdfa21a324a2499c7f1da0517d1ba721c5cf449 | tree | snapshot |
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
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
42 files changed:
.gitignore | [new file with mode: 0644] | blob |
COPYING | [new file with mode: 0644] | blob |
INSTALL | [new file with mode: 0644] | blob |
Makefile.am | [new file with mode: 0644] | blob |
README | [new file with mode: 0644] | blob |
THANKS | [new file with mode: 0644] | blob |
autogen.sh | [new file with mode: 0755] | blob |
configure.ac | [new file with mode: 0644] | blob |
doc/Makefile.am | [new file with mode: 0644] | blob |
doc/syscollectord.1.txt | [new file with mode: 0644] | blob |
m4/sc_plugin.m4 | [new file with mode: 0644] | blob |
src/Makefile.am | [new file with mode: 0644] | blob |
src/backend/collectd.c | [new file with mode: 0644] | blob |
src/core/object.c | [new file with mode: 0644] | blob |
src/core/plugin.c | [new file with mode: 0644] | blob |
src/core/store.c | [new file with mode: 0644] | blob |
src/daemon/config.c | [new file with mode: 0644] | blob |
src/daemon/syscollectord.c | [new file with mode: 0644] | blob |
src/daemon/syscollectord.conf | [new file with mode: 0644] | blob |
src/include/core/object.h | [new file with mode: 0644] | blob |
src/include/core/plugin.h | [new file with mode: 0644] | blob |
src/include/core/store.h | [new file with mode: 0644] | blob |
src/include/syscollector.h.in | [new file with mode: 0644] | blob |
src/include/utils/llist.h | [new file with mode: 0644] | blob |
src/include/utils/string.h | [new file with mode: 0644] | blob |
src/include/utils/time.h | [new file with mode: 0644] | blob |
src/include/utils/unixsock.h | [new file with mode: 0644] | blob |
src/liboconfig/COPYING | [new file with mode: 0644] | blob |
src/liboconfig/Makefile.am | [new file with mode: 0644] | blob |
src/liboconfig/aux_types.h | [new file with mode: 0644] | blob |
src/liboconfig/oconfig.c | [new file with mode: 0644] | blob |
src/liboconfig/oconfig.h | [new file with mode: 0644] | blob |
src/liboconfig/parser.y | [new file with mode: 0644] | blob |
src/liboconfig/scanner.l | [new file with mode: 0644] | blob |
src/liboconfig/utils.c | [new file with mode: 0644] | blob |
src/liboconfig/utils.h | [new file with mode: 0644] | blob |
src/syscollector.c | [new file with mode: 0644] | blob |
src/utils/llist.c | [new file with mode: 0644] | blob |
src/utils/string.c | [new file with mode: 0644] | blob |
src/utils/time.c | [new file with mode: 0644] | blob |
src/utils/unixsock.c | [new file with mode: 0644] | blob |
version-gen.sh | [new file with mode: 0755] | blob |