Code

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